查看: 557|回复: 0

[原创] Android手机直播系统开发介绍

[复制链接]
论坛徽章:
0
发表于 2018-9-7 11:26 | 显示全部楼层 |阅读模式
近两年直播热的兴起也带动了直播开发行业的崛起,每个人都想要去吃直播开发这块蛋糕。但这块蛋糕也不是这么容易吃到的,在激烈的市场竞争下,有几个大的直播平台始终占据着市场中较大的份额,也有一些小的公司承受不住冲击倒下,只有拥有高精尖的技术,才能够在市场中拥有一席之地。直播开发不是一件能够容易完成的事情,安卓和苹果对于搭建的要求就不一样,今天我们就先了解一下安卓如何搭建直播系统。
511.png
如果一上来就要去搭建一个直播系统,基本是不可能的,首先我们要从总体上了解直播到底是什么。手机直播要实现的就是将手机采集到的视频和音频经过一定的处理后发送到CDN,然后传输到各个终端的过程。主要包含以下过程:
一、采集
采集主要包含视频采集和音频采集,涉及到摄像头及麦克风等设备。视频主要是通过摄像头采集,涉及到摄像头的操作和一些参数的设置,很多安卓手机存在兼容性问题,需要较好的处理。音频主要通过麦克风进行采集,有时一些手机为了进行连麦功能要进行回声消除。
二、处理
视频处理。现在直播间中美颜功能一定是标配了,对主播的形象有一个很大的提升,,也可以添加一些好玩的卡通贴纸,也会吸引更多的粉丝去观看。美颜SDK基于人脸识别技术打造,优秀的SDK需要在添加美白磨皮等美颜功能后还不降低清晰度,不会过度磨皮,显得美颜过度,视频失真。目前图片上的美颜功能已经较为成熟,视频美颜功能还需要不断地完善。
音频处理。有时直播间只有主播一人说话的话会显得略有尴尬,这时候就需要一些声音来缓解尴尬,比如笑声或者鼓掌声。主播可以让附加的声音直接播放出来,这样麦克风就可以同时录制主播声音和附加声音,但这种处理存在一个问题就是在主播戴上耳机或者进行回声消除处理的时候,附加声音就不会收录进去。以后针对这个功能还需要有更多的处理。
三、编码
通过摄像头和麦克风我们可以采集到相应的数据,把这些数据直接进行传输的话,占用的带宽会很大,容易造成资源的浪费。这时就需要对数据进行编码处理。目前我们使用的是H。264编码标准。H.264拥有较高的编码效率,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3,且h.264视频画面质量高,容错率高而且在网络传输中所需带宽更少,经济性高。
其次,编码分为软编码和硬编码。软编码采用CPU进行编码,实现简单直接参数调整方便,升级易,但是CPU负载重,性能要比硬编码差一些。硬编码采用非CPU进行编码,性能较高。直播平台如果想要稍高一点的清晰度,一般选择硬编码。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。
对音频进行编码也可以分为软编和硬编两种。软编则下载相应的编码库,写好相应的jni,然后传入数据进行编码。硬编则是使用Android自身提供的MediaCodec。
四、打包
数据在传输过程中需要定义一定的格式进行传输,这样传输到对端的时候才可以被正确的解析出来,打包一般需要相应的协议:TCP协议(Transmission Control Protocol )传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP为了保证文件传输的可靠性,给每一个包一个序号,同时序号也保证了从传送到接收端实体包的顺序接收。
RTMP协议、http-hlv协议等都是打包过程中需要用到的协议。
五、差网络处理
好的网络状况下,视频传输流畅,不会堆积音视频造成视频延迟、卡顿,而较差的网络状况下,音视频数据发不出去,就容易造成卡顿延迟,需要我们对音视频进行处理,一般有以下几个方式:缓存区设计、丢帧处理、网络检测、降码率处理。
六、发送
经过各种处理,需要将数据发送出去,这一步较为简单,不论是RTMP还是HTTP-HLV都可以通过TCP建立连接。
以上几个步骤就是Android端搭建一个直播平台的基本流程了,这样看来想要自己搭建一个系统看起来并不太现实,搭建直播系统最简单有效的方式就是委托给专门搭建直播系统的开发公司,可以保证系统从开始搭建到最后运营的稳定流畅,可以选择我们这样的公司,联系我们可以看我的个人资料。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

PostgreSQL中国大会,参会票抢购!

由 PostgreSQL中文社区与ITPUB联合主办的第九届《PostgreSQL 中国技术大会》将在北京隆重召开。PostgreSQL 作为功能最强的的开源关系型数据库之一,得到了越来越多企业的推广和运用,也越来越受到广大技术爱好者的欢迎和重视。这将是 PostgreSQL 的又一次交流盛会。
----------------------------------------
时间:2019年11月29~11月30日

点击报名>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表