Android手机直播系统开发介绍
近两年直播热的兴起也带动了直播开发行业的崛起,每个人都想要去吃直播开发这块蛋糕。但这块蛋糕也不是这么容易吃到的,在激烈的市场竞争下,有几个大的直播平台始终占据着市场中较大的份额,也有一些小的公司承受不住冲击倒下,只有拥有高精尖的技术,才能够在市场中拥有一席之地。直播开发不是一件能够容易完成的事情,安卓和苹果对于搭建的要求就不一样,今天我们就先了解一下安卓如何搭建直播系统。
如果一上来就要去搭建一个直播系统,基本是不可能的,首先我们要从总体上了解直播到底是什么。手机直播要实现的就是将手机采集到的视频和音频经过一定的处理后发送到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端搭建一个直播平台的基本流程了,这样看来想要自己搭建一个系统看起来并不太现实,搭建直播系统最简单有效的方式就是委托给专门搭建直播系统的开发公司,可以保证系统从开始搭建到最后运营的稳定流畅,可以选择我们这样的公司,联系我们可以看我的个人资料。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
内含福利|云栖攻略·解锁视频消费新方式
阿里巴巴集团主要的两大视频业务应用版块如何在媒体制作、分发、消费等环节上进行技术创新,提供新的媒体消费体验,同时引入行业头部视频应用公司分享视频技术上的新进展。 全球音视频领域技术大咖 张磊 阿里巴巴优酷高级技术专家 多维度智能内容生产初探 面对优质内容生产成本快速飙升的现状,以视频分析为基础的二次创作是重要的解决方案之一。针对消费级视频,结合视频分析、媒资信息、交互信息等多维数据处理,米兰在媒资链路多路径赋能,持续输出包括OGC内容多维度拆条、智能长短视频封面、多维度标签、视频。 江文斐 阿里巴巴优酷资深算法专家 优酷如何打造“尊享极清”家庭影院 2018世界杯,优酷以50帧极清直播掀起一波极清观影浪潮,本次分享将介绍优酷如何为观众们提供高清晰、高帧率、高动态范围、宽色域的私人订制观影体验。 管裕鸿 阿里巴巴淘宝技术部高级技术专家 多媒体终端智能互动实
- 下一篇
五大维度深入分析,入门AI首先需要选好方向
我们已经可以用刷脸来解锁手机... 我们已经可以用录音来转换文字笔记... 我们已经可以用电脑帮忙写文章... 关键是现在下围棋还赢不了“电脑”... 是什么改变了我们的工作方式及认知 —— 人工智能(Artificial Intelligence) 人类用机器帮助生产的脚步从未停止,想进入AI领域,首先要了解目前人工智能产业的结构体系: “基础支撑“和“商业场景”是企业层面的问题,对于个人发展则需要在“核心技术”层面去提升 —— 让自己具备AI行业的职场能力才是王道! 若想步入AI领域,应该选择什么方向呢? 先拿2017年AI领域各赛道的投资数据来做个分析: 整体来看,投资事件数最多的为计算机视觉方向,其次是自然语言处理、智能机器人及自动驾驶。同时据其他数据显示,计算机视觉在人工智能领域拥有最多的创业公司,占比高达17.7%。 数据来源:《2017年人工智能行业发展研究报告白皮书》 (IT耳朵&IT桔子共同发布) 那么人工智能-计算机视觉方向具体做什么呢? 计算机视觉是指用机器模拟“视觉器官”,对目标进行识别、跟踪和测量等,并由计算机代替大脑完成进一步的图像处理和解释。目前我...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Red5直播服务器,属于Java语言的直播服务器
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8安装Docker,最新的服务器搭配容器使用