DJI Windows 10 SDK FFMPEG视频缓冲

时间:2019-03-05 20:32:02

标签: windows ffmpeg dji-sdk

有人知道如何减少DJI FFMPEG实现的缓冲延迟吗?似乎应用程序使用此API运行的时间越长,延迟就越糟。除了CODEC_FLAG_LOW_DELAY或CODEC_FLAG2_FAST之外,是否还有其他特定选项可以帮助减少延迟?我应该在av_parser_parse2中进行设置以减少延迟吗?我当然以为延迟是在API中,而不是在飞机本身中-无人机似乎不太可能具有存储大量视频的存储空间。

1 个答案:

答案 0 :(得分:0)

经过一些实验,我发现av_parser_parse2方法的pts / dts值会影响帧缓冲。 DJI的示例代码对pts和dts使用AV_NOPTS_VALUE;这导致视频流的延迟不断增加。而不是计算这些值,我只是在每次got_picture == true时将pts递增1000,并设置dts = pts。是的,这是一个hack,但可以。希望这也会对遇到此问题的其他人有所帮助。如果您使用的是DJIVideoParser项目,则可以轻松地对h264_Decoder.cpp的DecoderThread方法进行此更改。