Difference between -c:v and -vcodec, and -c:a and -acodec?
Is there's a difference between these two commands?
ffmpeg -i input.mp4 -c:v copy -c:a copy output.mkv
ffmpeg -i input.mp4 -vcodec copy -acodec copy output.mkv
Solution 1:
There is no difference. If you check the manual:
-vcodec codec (output)
Set the video codec. This is an alias for -codec:v.
And of course -codec
is the same as -c
.
-c[:stream_specifier] codec (input/output,per-stream)
-codec[:stream_specifier] codec (input/output,per-stream)
However, I would encourage people to use the -codec
/-c
version, since it makes use of stream specifiers (:v
, :a
, :s
), which are also used in filtergraphs or stream mapping.