【问题标题】:"invalid, non monotonically increasing dts" error while writing streams to file with ffmpeg使用 ffmpeg 将流写入文件时出现“无效的、非单调递增的 dts”错误
【发布时间】:2011-07-11 21:54:22
【问题描述】:

我终于能够使用该函数将视频流数据包写入文件

av_interleaved_write_frame(outputContext, &packet);

但是在很短的时间之后我得到了这个错误:

Application provided invalid, non monotonically increasing dts to muxer 
in stream 0: *numberX* >= *numberY*

有没有人知道是什么原因造成的以及如何解决?

【问题讨论】:

  • 你的 dts 应该是单调递增的。例如:1、2、3。不能是 1、3、2。

标签: ffmpeg


【解决方案1】:

在调用 av_interleaved_write_frame() 之前将 packet.pts 设置为正确的值 这是显示此帧的时间戳(例如显示在屏幕上)

对于每个数据包,这个值应该严格递增

【讨论】:

  • 这是部分答案。您能否提供有关“在调用 ...之前将 packet.pts 设置为正确值”的更多信息?
  • @MichaelIV 这取决于上下文。通常使用av_rescale族函数来计算正确的pts
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-19
  • 2019-09-18
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
相关资源
最近更新 更多