Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMPiOS如何接入软编码?

视频流媒体中视频数据的传输占据了绝大部分的带宽,如何提升编码效率、减小带宽使用、提升画面质量,成为音视频开发者努力的重点。随着互联网、流媒体技术的发展,兼容支持H.264、H.265编码器(可减少计算的复杂性、提高压缩率,并降低编码时间)已经成为迫在眉睫的事。

EasyRTMP推流功能特点

- 调用简单

无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架

- 功能完善

配套完整的直播、录像、旋转功能示例,用户直接复用即可选择嫁接自定义功能

- 运行高效

高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓冲区的大小

EasyRTMP架构1.png

EasyRTMP-iOS如何接入软编码?

分析问题

这个编码方式是基于ffmpeg,所以需要引入ffmpeg库。

解决问题

app中新增加了libx264.a,可以使用切换软编码的方式了。软编码的使用方法在X264Encoder类中,编码方法是:

(void)encoding:(CMSampleBufferRef)sample

编码后的数据的回调方法如下:

(void)gotX264EncoderData:(NSData *)packet keyFrame:(BOOL)keyFrame timestamp:(CMTime)timestamp error:(NSError*)error;

那么软编码的流程和硬编码的流程是一样的。

关于RTMP推流组件

EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。

结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。

原文地址:https://www.cnblogs.com/TSINGSEE/p/11792009.html