EasyRTMP获取H.264实时流并转化成为RTMP直播推流之EasyRTMP-iOS如何处理H264关键帧和SPSPPS数据的

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EasyRTMP获取H.264实时流并转化成为RTMP直播推流之EasyRTMP-iOS如何处理H264关键帧和SPSPPS数据的相关的知识,希望对你有一定的参考价值。

EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer)、智能丢帧、自动重连、rtmp协议等等多种技术,能够非常有效地适应各种平台(Windows、Linux、ARM、androidios),各种网络环境(有线、wifi、4G),以及各种情况下的直播恢复(服务器重启、网络重启、硬件设备重启)。

技术图片技术图片?

提出问题:

EasyRTMP-iOS如何处理H264关键帧和SPS、PPS数据?

分析问题:

对于编码后的H264数据的处理在H264Packet.m中。

解决问题:

使用VideoToolbox编码后的视频数据,需要标记关键帧,以及处理SPS和PPS等数据。通过CFDictionaryContainsKey方法判断关键帧:

技术图片技术图片?

通过CMVideoFormatDescriptionGetH264ParameterSetAtIndex方法获取SPS和PPS的数据,并拼接:

技术图片技术图片?技术图片技术图片?技术图片技术图片?

以上是关于EasyRTMP获取H.264实时流并转化成为RTMP直播推流之EasyRTMP-iOS如何处理H264关键帧和SPSPPS数据的的主要内容,如果未能解决你的问题,请参考以下文章

WindowsLinuxARMAndroidiOS全平台支持的RTMP推流组件EasyRTMP-iOS如何接入软编码?

某些解码器的 H.264 帧内存泄漏

H.264视频在android手机端的解码与播放(转)

H.264视频在android手机端的解码与播放(转)

在 Internet Explorer 9 中使用 HTML5 实时流式传输 h.264

h.264 数据包使用 Apple 的 VideoToolbox 进行“实时”播放/预览