ffmpeg开发:关于对Application provided invalid的解决方法

关于对Application provided invalid的解决方法,这个错误是ffmpeg开发中非常常见的错误,之前使用别人代码常常提示这个错误,百度基本找不到相关解决方法,当时也非常崩溃,但静下心来仔细研究这个错误,发现这个错误还是很好解决的。其实只要·沉下心来仔细分析,好多错误只是“纸老虎”。
这个错误从字面意思可以看出是因为dts没有一直递增导致的。视频播放是通过pts和dts进行播放的,pts是视频播放时间,dts主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码。dts必须在ffmpeg里一直递增,否则就会报错。解决方法也很简单,把本次解码出来的packet.dts与上一次的dts做对比如果小于上次,就直接continue跳过循环。正常视频不会出现本次dts比上次dts小的情况,一般错误出现在视频处理改变dts,pts上,只是某一个临界点dts出现异常,跳过完全没有影响.


你可能感兴趣的:(qt,ffmpeg)