当我使用命令行 ffmpeg 和 2-pass h264 编解码器转换 *.mp4 视频文件时,偶尔会出现许多类似于以下警告的行:
[libx264 @ 0000026e183ad900] 非严格单调 PTS [null @ 0000026e18972440] 应用程序向流 0 中的多路复用器提供了无效、非单调递增的 dts:7 >= 7
据我所知,此类错误在转换过程中会被 ffmpeg 自动修复。很好。
因为我不必关心它们,所以我想抑制这些警告的输出。而且只有这些警告!所有其他的应该像以前一样显示。
我如何通过命令行 ffmpeg 命令实现这一点?
答案1
根据帖子 FFmpeg - 非单调递增的 dts 是什么意思?
此消息与输入文件的有效性无关,它来自不接受非单调 dts 的输出格式
您可以尝试其他输出格式,或者需要修补 ffmpeg 并从源代码进行编译。
您需要将 AVFMT_TS_NONSTRICT 标志添加到 nullenc.c 文件 因此该行看起来像:
.flags = AVFMT_TS_NONSTRICT | AVFMT_VARIABLE_FPS | AVFMT_NOFILE | AVFMT_NOTIMESTAMPS,
2015 年
修补
已提交将标志添加到nullenc.c
,但从未合并。