FFmpegavcodec_send_packet函数错误定位

场景
avcodec_send_packet函数返回-1094995529错误,根据FFmpeg的错误信息,得知为AVERROR_INVALIDDATA,这个时候,由于已经接收到I帧,实际上是可以解码的,难道是因为×××的内部缓冲区需要被填满,才会返回一帧图像,导致需要等待3秒钟,才能够出来图像

成都创新互联主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务仙居,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

通过日志分析问题
使用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
的相关参数,所以需要几秒去探测属性


分享题目:FFmpegavcodec_send_packet函数错误定位
网站路径:http://www.xwwzsj.com/article/pccpep.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款