
Я пытаюсь записать видео и аудио с IP-камеры, транслирующей поток в формате H.264.
Я нашел вот такие варианты:
-i "camera_url" -c:v libx264 -acodec copy "out.mp4"
-i "camera_url" -c:v copy -acodec copy "out.mp4"
-i "camera_url" -vcodec copy -acodec copy "out.mp4"
Может кто-нибудь сказать, в чем разница между этими тремя типами записей? Насколько я понимаю, последний не делает перекодировки, поэтому все, что поступает с камеры, сохраняется в файле. А как насчет двух других?
решение1
Параметр -codec
устанавливает выбор кодировщика. Это может быть либо имя кодировщика, либо copy
. Последний избегает перекодировки и копирует пакеты со входа на выход. -c
— это краткая форма для -codec
. Оба они могут приниматьспецификаторы потока, например -c:v:2
или -codec:a
. Первый вариант установит кодер для 3-го видеопотока на выходе, а второй — кодер для всех аудиопотоков.
vcodec
и acodec
являются псевдонимами для -c:v
и , -c:a
но не принимают спецификаторы потока.