【发布时间】:2013-02-25 21:35:25
【问题描述】:
我正在编写一个脚本,它将视频文件(如 MKV 或 AVI)转换为 MP4,然后从网络流媒体中准备它们。我希望我的输出使用 H.264 和 AAC 编解码器。
到目前为止,我的命令如下所示:
ffmpeg -i input.mkv -vcodec h264 -acodec aac -ab 128k -ac 2 -strict -2 output.mp4
但是,当编解码器已经是 h.264 时,它仍然会对其进行多路复用,它会显示:(h264 -> libx264)。
如果我将“-vcodec h264”替换为“-vcodec copy”,当编解码器为 H.264 时它会运行得更快,但如果输入文件中有不同的编解码器,当然不会更改编解码器。
有没有办法让 FFmpeg 识别出几乎相同的编解码器,从而不混合视频流,但如果源不是 H.264,仍会更改视频编解码器?
【问题讨论】:
-
您必须先分析视频,然后再将其传递给 ffmpeg。如果已经是 h264 则 mux,如果没有转码。
标签: ffmpeg h.264 codec aac video-conversion