ffmpeg 如果请求相同的编解码器,是否会复制流?
ffmpeg Will stream be copied if same codec is requested?
我遍历一些文件并用 ffmpeg 转换它们。我提供-vcodec h264
。当输入视频已经使用该编解码器编码时:是否会复制视频流?在这种情况下如何确保它不被重新编码?是之前-sameq
用的吗?
如果您希望在不重新编码的情况下传递原始 H.264 流,则需要使用 -c:v copy
:
ffmpeg -i myh264file.mp4 -c:v copy -c:a copy myh264output.mp4
-c:a copy
也会复制音频
-c copy
将复制音频和视频,如:
ffmpeg -i myh264file.mp4 -c copy myh264output.mp4
检测 H.264 流并不简单。您需要对此进行编码。
-sameq
设置请参考this statement。
我建议升级到最新版本的 ffmpeg(如果尚未完成),因为 -vcodec
不再使用,现在是 -c:v
。
ffmpeg 上的 documentation 可以帮助您。
我遍历一些文件并用 ffmpeg 转换它们。我提供-vcodec h264
。当输入视频已经使用该编解码器编码时:是否会复制视频流?在这种情况下如何确保它不被重新编码?是之前-sameq
用的吗?
如果您希望在不重新编码的情况下传递原始 H.264 流,则需要使用 -c:v copy
:
ffmpeg -i myh264file.mp4 -c:v copy -c:a copy myh264output.mp4
-c:a copy
也会复制音频
-c copy
将复制音频和视频,如:
ffmpeg -i myh264file.mp4 -c copy myh264output.mp4
检测 H.264 流并不简单。您需要对此进行编码。
-sameq
设置请参考this statement。
我建议升级到最新版本的 ffmpeg(如果尚未完成),因为 -vcodec
不再使用,现在是 -c:v
。
ffmpeg 上的 documentation 可以帮助您。