有人知道如何减少DJI FFMPEG实现的缓冲延迟吗?似乎应用程序使用此API运行的时间越长,延迟就会变得越差。除了CODEC_FLAG_LOW_DELAY或CODEC_FLAG2_FAST之外,是否还有其他特定的选项可以帮助减少延迟?是否应该在av_parser_parse2中进行设置以减少延迟?当然,我假设延迟是在API中,而不是飞机本身-无人机似乎不太可能有足够的存储来缓冲大量视频。
发布于 2019-03-07 04:20:56
经过一些实验,我发现av_parser_parse2方法的pts/DTS值会影响帧缓冲。DJI的示例代码对pt和dts都使用AV_NOPTS_VALUE;这会导致视频流中的延迟不断增加。我没有计算这些值,而是每次got_picture ==为true时将pt递增1000,并设置dts = pts。是的,这是一个黑客,但它是有效的。希望这也能帮助其他遇到这个问题的人。如果您使用的是DJIVideoParser项目,则可以很容易地对H264Decoder.cpp的DecoderThread方法进行此更改。
https://stackoverflow.com/questions/55011090
复制相似问题