在FFmpeg中将视频编码为X264并使其可以在Quicktime中播放

7

我想知道在使用FFmpeg将视频编码为x264(mp4格式)时,需要明确设置哪些命令行参数(或避免设置哪些参数),才能使视频默认可在Quicktime中播放。我发现一些预定义的预设文件适用于我,但有些不适用,例如我无法让任何无损预设生效,而我也对这些预设感兴趣。例如,libx264-lossless_max.ffpreset会编码我的视频,但只能在VLC中播放,而不能在Quicktime中播放。在Quicktime中,视频保持黑屏。我知道Perian是一个选项,但我希望我的文件可以在不安装Perian的情况下播放。谢谢你的帮助。


但是为什么要关心有缺陷的播放器呢?总会有一些播放器无法播放您的文件。而且,没有人使用Quicktime,正是因为它不支持大多数有用的格式。(“Windows Media Player”也是同样的情况)。VLC是免费的,并且适用于所有平台,为什么不直接使用它呢? - Display Name
在某些行业中,特定的参与者是实际标准,好或坏 - 例如,Quicktime 提供逐帧浏览功能(其他播放器,如 RV 也提供此功能,但是没有找到免费软件的逐帧浏览器,所以真的没有借口)。 - lofidevops
1个回答

7

http://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide:

请注意,苹果Quicktime仅支持YUV 420色彩空间用于x264编码的电影,不支持任何高于“主”配置文件。这仅留下了2个选项可用于适用于quicktime的片段:基线和主要。所有其他配置文件目前在Quicktime中都不受支持,尽管它们在几乎所有其他播放器中都能播放。

此外,对于上面的回答:Quicktime本身并不是专有编解码器。Quicktime是一个多媒体包装器,可以容纳许多不同的编解码器。Quicktime本身并不是一种编解码器。


2
非常感谢您!一直在苦苦挣扎这个问题,这是我能找到的唯一区别。所以一个例子是这样做的: ffmpeg -i input.mov -pix_fmt yuv420p output.mov在https://trac.ffmpeg.org/wiki/Encode/H.264中有关于QuickTime的特定说明。 - Vivek Gani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接