如何抑制(唯一)警告“应用程序向流 0 中的多路复用器提供了无效、非单调递增的 dts:”

如何抑制(唯一)警告“应用程序向流 0 中的多路复用器提供了无效、非单调递增的 dts:”

当我使用命令行 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,但从未合并。

相关内容