志在指尖
用双手敲打未来

如何快速搭建一个完整的Android直播平台

移动网络的传输速度越来越快,音视频运用产品鼓起,有技能实力和流量优势的互联网从业者都不愿错过直播这个风口。作为一个Android开发者,怎么快速搭建一个安卓直播渠道,在这里想和咱们分享我的个人经历。
咱们知道,一个完好的直播渠道至少要包含以下4个根底模块:
推流端:收集、前处理、编码、推流
服务端:转码、录制、截图
播映器:拉流、解码、后处理、渲染
IM体系
如果所有的模块都自己独立开发,工作量和本钱会十分高,因此咱们能够经过集成专业的直播音视频云SDK,来快速打造一个直播渠道。经过各方面的评测比照,我挑选了即构的SDK,以下是我根据即构SDK完成安卓直播渠道的具体方法,咱们能够参阅下:android
一、主播端要做什么工作
主播端即直播推流端,首要经过手机摄像头(或外接摄像头)收集视频数据、麦克风收集音频数据,经过一系列前处理、编码、封装,然后推流到音视频媒体云和CDN去分发。
收集
我选用即构SDK的默认收集,经过手机摄像头和麦克风(或外接摄像头和麦克风)收集音视频数据。其间,视频采样数据一般为RGB或YUV格局、音频采样数据一般是PCM格局。
收集到的原始音视频体积比较大,需求经过紧缩技能处理来提高传输功率。
前处理
在这个环节首要处理美颜、滤镜、加水印或者做人脸辨认等作用。美颜功用几乎成了直播的标配功用。
在美颜处理方面,我选用开源的图像处理库GPUImage,它供给了丰厚的美颜作用,一起能够支撑iOS和Android,支撑自己写算法完成最理想的作用。GPUImage内置了120多种常见滤镜作用,增加滤镜只需求简略调用几行代码就能够了。
编码
为了便于手机视频的推流、拉流以及存储,即构SDK供给H.264硬编方法,运用视频编码紧缩技能来削减视频的体积。在音频方面,比较常用的是AAC编码格局,其它如MP3、WMA也是可选计划。
视频经过编码紧缩大大提高了视频的存储和传输功率,当然,经过紧缩后的视频在播映时有必要进行解码。
推流
在推流之前还需求运用传输协议将音视频数据进行封装,变成流数据。常用的流传输协议有UDP、RTMP、HLS等。
运用即构SDK的UDP传输协议,延时基本在200ms左右,运用RTMP传输的延时通常在1~3秒,所以关于连麦互动这种对实时性要求十分高的场景,UDP协议就十分适合。
UDP协议走的是即构的实时音视频媒体云,相比CDN的价格会略微高一点,所以在不参加连麦互动的观众场景中,观众最关怀的是流通问题,对延迟的感知低。因此咱们能够转推到CDN,再去拉流,这样能有用降低本钱,个人认为这种方法性价比最高。
二、服务端要做哪些处理
要想适配各终端和渠道,服务端还需求对流进行转码,如支撑RTMP、HLS、FLV等格局拉流,支撑一路转多路适配不同网络和分辨率的终端设备。
转码
即构供给了实时转码技能,将用户推流码率较高(比方720P)实时转成较低清晰度(比方360P)的流以习惯播映端的需求。
如果要自己搭建实时转码体系,这个本钱是极高的,一台8核设备只能实时转10路流,一个规划中等的直播渠道假设有1000路流,就需求100台设备,加上后期的运维本钱,一般的公司是难以负担的。
鉴黄
现在市面上供给鉴黄服务的计划首要有两种,第一种是对视频进行截图,然后对图片进行鉴黄,回来鉴黄成果和分值,相关企业有阿里(绿网)、图普科技等。
第二种是和CDN结合,直接对直播流进行剖析,辨认成果分为色情、疑似色情、性感和正常,事务体系依据辨认成果直接操控直播流,代表企业有Viscovery等。
即构供给的鉴黄服务是第一种,即构CDN供给视频截图,经过图普对截图进行鉴黄然后回来成果和分值。
三、观众端要做什么工作
拉流
拉流实践是推流的逆过程。首要经过播映端获取码流,规范的拉流格局有RTMP、HLS、FLV等。
RTMP是Adobe的专利协议,开源软件和开源库都支撑的比较好,如开源的librtmp库,播映端只需支撑flashPlayer就能十分简略的播映RTMP直播,直播延迟一般在1–3秒。
HLS是苹果提出的根据HTTP的流媒体传输协议,HTML5能够直接翻开播映,经过微信、QQ等软件分享出去,用户也能够直接观看直播,能够说移动直播app,HLS拉流协议是有必要支撑的,缺点是延迟通常大于10秒。
FLV(HTTP-FLV)协议是运用HTTP协议传输流媒体内容的一个协议,也不必担心被Adobe的专利绑架,直播延迟同样能够做到1–3秒。
各拉流协议的差异:
即构音视频SDK供给了以上三种拉流格局,咱们能够依据自己的事务场景挑选拉流协议。
解码和渲染
Android体系因为渠道差异十分大,编解码要注意渠道兼容和适配。即构SDK兼容5000+手机终端,在开发的过程中能够感觉到兼容性会比较好。
四、IM功用
IM是直播渠道不可缺少的功用,即构SDK供给根据房间概念的聊天、播送、互动等IM功用,首要经过信令通道来完成。如果需求更复杂和自定义的IM功用,可经过即构SDK的敞开接口对接第三方IM供货商来完成。
五、怎么集成开发
根据自研音视频引擎,即构SDK能完成更灵活的调用和运用,关于事务需求有较多个性化规划的产品也能完美支撑,实测功用数据表现更优异。经过即构SDK集成开发首要有以下五步:
1、在工程中导入SDK
2、初始化SDK
3、登录房间
4、调用推流接口
5、调用拉流接口
根据上面5个过程操作,咱们就能完成根底的直播功用了。即构SDK还供给多种高级的功用接口,协助开发者更好的完成个性化事务规划。感兴趣的开发者能够进行更深入的了解,这里就不过多叙述了。
以上便是我在运用即构

未经允许不得转载:IT技术网站 » 如何快速搭建一个完整的Android直播平台
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载