由于旧版 x264 中的一个错误,h.264 视频流具有以下三个属性:
许多视频播放器将无法正常播放。新版本的视频播放器mpv有专门的选项
--vd-lavc-assume-old-x264
Run Code Online (Sandbox Code Playgroud)
专门解决这个问题(见:https : //mpv.io/manual/master/)。
在FFmpeg 错误跟踪器上,建议将适当的 SEI.h264 添加到视频流(我猜是包含 x264 版本信息)。我不想依赖此类黑客,所以我的问题是:是否有一种“正确”的方式(理想情况下使用 ffmpeg)来修复文件,就好像它们首先是用新的(固定)版本的 x264 编码的一样?
显然我想保持(或多或少)视频质量和文件大小。如果需要重新编码,那么除了修复旧 x264 实现的错误行为外,它应该什么都不改变。(更多信息:错误报告给出了一个损坏文件的示例。据推测,旧 x264 中的错误可能是在这里引入的。)