iOS_解码失败导致无法出图

1、问题现象:

能接收到设备传送过来的视频数据(bps>0),但硬解和软解均解码失败,无法出图。


2、问题分析:

从日志打印中看:

硬解码时,无法正确解析出SPS和PPS的长度;

[0] 00 00 00 01 65 B8 00 00 05 32 A0 47 BA 12 E0 6F FE F2 A3 3C 04 F0 8F 3B 72 B3 6F BD CB F1 4E CC 42 15 E6 66 13 03 C4 78 D2 C9 8E FF 98 27 5E 57 A3 ...
2018-02-07 10:32:02.974884+0800 Kalay[4296:2279899] readsize --> 75059
2018-02-07 10:32:02.974920+0800 Kalay[4296:2279899] startCodeSPSIndex --> 3
2018-02-07 10:32:02.974954+0800 Kalay[4296:2279899] startCodePPSIndex --> 0
2018-02-07 10:32:02.974987+0800 Kalay[4296:2279899] startCodeIFRAMEIndex --> 0
2018-02-07 10:32:02.975020+0800 Kalay[4296:2279899] spsLength --> -3
2018-02-07 10:32:02.975109+0800 Kalay[4296:2279899] ppsLength --> 0


软解码时,I Frame 解码失败,日志打印为:

[h264 @ 0x1079cbe00] non-existing PPS 0 referenced

[h264 @ 0x1079cbe00] decode_slice_header error

[h264 @ 0x1079cbe00] no frame!


3、问题解决:

需要查看设备端H264编码的方式,数据中需要包含I Sliect(00 00 00 01 65 开头)+ PPS (00 00 00 01 68 开头) + SPS (00 00 00 01 67 开头)

另附参考文章:http://www.spirithy.com/2016/11/15/ffmpeg_fifth/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值