Qual é a diferença no FFMPEG entre usar -c:v libx264, -c:v copy e -vcodec copy?

Qual é a diferença no FFMPEG entre usar -c:v libx264, -c:v copy e -vcodec copy?

Estou tentando gravar vídeo e áudio de uma câmera IP transmitindo em H.264.

Encontrei estas diferentes opções:

-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"

Alguém poderia me dizer qual é a diferença entre esses 3 tipos de gravações? Pelo que entendi, o último não faz nenhuma transcodificação, então tudo o que vem da câmera fica armazenado no arquivo. E os outros 2?

Responder1

A -codecopção define a escolha do codificador. Este pode ser o nome de um codificador ou copy. Este último evita a transcodificação e copia os pacotes da entrada para a saída. -cé uma forma abreviada de -codec. Ambos podem aceitarespecificadores de fluxo, como -c:v:2ou -codec:a. O primeiro definirá o codificador para o terceiro fluxo de vídeo na saída e o último definirá o codificador para todos os fluxos de áudio.

vcodece acodecsão apelidos para -c:ve -c:amas não aceitam especificadores de fluxo.

informação relacionada