您好,登录后才能下订单哦!
场景
avcodec_send_packet函数返回-1094995529错误,根据FFmpeg的错误信息,得知为AVERROR_INVALIDDATA,这个时候,由于已经接收到I帧,实际上是可以解码的,难道是因为×××的内部缓冲区需要被填满,才会返回一帧图像,导致需要等待3秒钟,才能够出来图像
通过日志分析问题
使用av_log_set_callback函数设置av_log日志输出到文件,定位到问题
I:2017-12-29 09:52:41 ms:903:nal_unit_type: 1, nal_ref_idc: 3
I:2017-12-29 09:52:41 ms:941:nal_unit_type: 1, nal_ref_idc: 3
I:2017-12-29 09:52:41 ms:942:non-existing PPS 0 referenced
I:2017-12-29 09:52:41 ms:943:decode_slice_header error
I:2017-12-29 09:52:41 ms:943:no frame!
解决
回放的是PS流,由于没有调用av_find_stream_info函数,所以在调用avcodec_send_packet函数的时候,会去探测PPS和SPS
的相关参数,所以需要几秒去探测属性
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。