今年的直播非常火,因此也够机会大展身手,开发直播sdk,简单介绍一下我的整个技术方向点:
一、整体的流程可以分为简单的三大块:
1、直播推流端
2、直播服务端
3、直播接收端
二、主要介绍下直播推流端的技术方向
1、音视频采集:需要结合平台接口实现,采集后的裸数据进行统一格式(主要针对采集图像参数的合理设置)
android一般采用NV21格式
ios采用NV12或者RGB格式
当然如果做滤镜实现美颜效果,最终可以通过GPU转为YUV420P或者RGB直接输出
2、音视频编码:音频采用aac编码,视频采用h264编码;移动端性能问题尤为重要,因此,硬编码为首选,也是最重要的一环
编码尤为重要的是对解码信息的生成,不管音频还是视频,都需要将其发送给对端,否则会出现解码失败的情况