在移动设备上进行TS流的本地存储与读取,本地存储的情况还比较正常,但是在读取TS流进行解包播放时,出现“”non-existing PPS 0 referenced decode_slice_header error no frame“的错误。
现象1::对比存储前的数据流与读取后的数据流,结果是完全一致。
现象2:播放器播放的时候只能播放最后一帧相关的数据,即显示一张图片。
分析:考虑到上面的两种现象,说明数据是没有丢失的,那么就是数据的读取与显示不同步,初步判定为读取速度大于解码的速度导致数据丢失。
解决:在读取数据的线程中使用视频帧率来控制数据的读取速度,正常。