这两个 FFMPEG 命令之间有区别吗?

Is There a Difference between These 2 FFMPEG Commands?

如果您有一个 1:30h 视频,并且想要剪切其中的一部分而不重新编码,您可以使用 FFMPEG。

例如, 要从原始视频中剪切 30 分钟的视频,从 15 分钟 30 秒开始,命令为:

FFMPEG -i "C:\Input.mp4" -vcodec copy -acodec copy -ss 00:15:30.000 -t 00:30:00.000 "C:\Output.mp4"

但也应该这样做:

FFMPEG -i "C:\Input.mp4" -ss 00:15:30.000 -codec copy -t 00:30:00.000 "C:\Output.mp4"

如您所见,编解码器的选项不同。 第一个具体指定 va 的(视频和音频), 第二个只使用 -codec..

两者有区别吗?
除了 a 和 v 之外,是否还有其他编解码器? (-codec 将包括所有类型?)

谢谢

-codec copy 将尝试复制您猜测的所有流,而不仅仅是音频和视频。您还可以使用其他流类型,例如 documentation 中提到的类型。例如:

’v’ or ’V’ for video, ’a’ for audio, ’s’ for subtitle, ’d’ for data, and ’t’ for attachments. ’v’ matches all video streams, ’V’ only matches video streams which are not attached pictures, video thumbnails or cover arts

您甚至可以尝试使用 -copy_unknown 复制未知流。