В чем разница между «-vcodec copy» и «-sameq» в FFmpeg?

Ответы:

4

-sameq не заставляет вас использовать один и тот же видеокодек. Например, вы можете конвертировать H.264 в DivX, используя -sameq.

CarlF
источник
Если видеокодек не указан, то в чем разница?
tony_sid
2
Если видеокодек не указан, я думаю, что ffmpeg имеет аудио / видео кодеки по умолчанию для данного контейнера. Мой ffmpeg в OS X по умолчанию mpeg4 yuv420p для видео для MP4 и AVI, с аудиокодеками libfaac и mp2, соответственно. То есть, если я выбрал файл H.264 и выбрал -vcodec copy, он выбирает libx264 для видео. Если вместо этого я выбрал -sameq, он выбирает универсальный mpeg4.
Фидели
Что лучше использовать, если не указан видеокодек?
tony_sid
Джедай, я не понимаю твой вопрос выше. Выберите нужный кодек, в данном случае тот, который поддерживает ваш плеер.
CarlF
@OSXNINJA -vcodec copyуказывает кодек.
квант
26

Принятый ответ неверен или, по крайней мере, не объясняет, что на самом деле делают варианты.

  • -c:v copyговорит FFmpeg скопировать битовый поток видео на выход. Например, ваше видео AVI имеет битовый поток видео XviD, и вы можете скопировать его в контейнер MP4 без перекодирования видео. Это, по сути, дает вам такое же качество , поскольку ничего не изменится в битовом потоке видео.

    Вот пример, который изменяет контейнер с AVI на MP4, если битовый поток видео также действителен для MP4:

    ffmpeg -i input.avi -c:v copy output.mp4
    

    Опять же: FFmpeg скопирует все, что найдет. Здесь не происходит перекодировка. По сути, FFmpeg просто читает и записывает контейнер и не меняет кодеки.

  • sameqговорит FFmpeg использовать те же параметры квантования при преобразовании видео с тем же кодеком, который использовался для ввода. Опция не означает то же качество. Смотрите: Что такое опция «sameq» в FFmpeg?

    sameqВариант был удален из FFmpeg некоторое время назад, так что он не может больше использоваться, и если у вас есть версия , ffmpegчто до сих пор он, пришло время для обновления!

slhck
источник
1
c: v - сокращенная версия codec: v, а vcodec - псевдоним codec: v, поэтому все 3 функции одинаковы. От: lists.ffmpeg.org/pipermail/ffmpeg-user/2017- Февраль/…
DeveloperDan