使用 ffmpeg 将流写入文件时出现“无效的、非单调递增的 dts”错误

Nov*_*ice 5 ffmpeg

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

av_interleaved_write_frame(outputContext, &packet);
Run Code Online (Sandbox Code Playgroud)

但过了一小段时间后,我收到了这个错误:

Application provided invalid, non monotonically increasing dts to muxer 
in stream 0: *numberX* >= *numberY*
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法,是什么导致了这个以及如何解决它?

ara*_*rdi 1

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

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