1

Я моделировал много видео в формате cif, также все видео были с файлом формата yuv. Я использовал выражение ниже, и оно хорошо работает:

ffmpeg -s cif -r 30 -i video.yuv -vcodec mpeg4 -g 12 -bf 2 -sameq video.m4v

Но сейчас я ищу симуляции с HD-видео, и они идут с расширениями y4m. Вы знаете выражение ведьмы, которое я должен использовать?

Я попытался заменить -s hd720 вместо -s cif и все еще не работал:

ffmpeg -s hd720 -i ducks_take_off_420_720p50.y4m -vcodec mpeg4 -g 12 -bf 2 -sameq video.m4v

Ошибка: Option video_size not found

2 ответа2

2

Вам не нужно объявлять ввод -s или -r для y4m (YUV4MPEG2). Он содержит заголовок с шириной кадра, высотой кадра и частотой кадров, среди другой информации, которая может присутствовать.

Кроме того, -sameq не означает "то же качество" и был удален из ffmpeg. Вместо этого вы можете использовать -qscale:v при использовании кодировщика mpeg4 . Нормальное значение - 2-5, а более низкое - более высокое качество. 2 примерно визуально без потерь.

1

Если вы хотите scale входное видео, тег -s должен появиться ПОСЛЕ -i

Следующее должно работать (с обновленным синтаксисом):

ffmpeg -i ducks_take_off_420_720p50.y4m -s hd720 -c:v mpeg4 -g 12 -bf 2 -q:v 0 video.m4v

Если вы не хотите масштабировать видео, вам вообще не следует включать тег -s и убедиться, что входное видео является видео hd720 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .