搭建手机端直播系统的技术分析

直播风口的到来,很互联网巨头都想抓住这个机会做一番事业。如何完整的搭建一个完整的手机直播系统?这是一个非常复杂的问题,不是一两个答案就能够解释清楚的,但拓幻科技还是从技术角度尽量提供多的信息。
一个完整的手机直播系统大致包括几个环节:采集、前处理、编码、传输、解码和渲染。在两端的过程中再加一个服务端处理。

下面简单介绍一下主要几个步骤:
先从采集端说起,也就是通过摄像头拍摄到直播者的图像以及录制声音。单就这个地方来说,其实是没什么问题的。自己做架构的时候,一定要注意多终端适配,另外就是离线采集技术、手动对焦等等也会影响用户体验。
接下来一个重要的环节就是前处理,其实最主要的部分就是GPU渲染的实时美颜。一方面,实时美颜的算法本身,就相当考验APP厂商的技术实力;而另一方面,如何能够利用有限的GPU资源进行美颜处理,也是一个很关键的点。
再之后就是编码。我们都知道把视频上传到优酷上会有一个编码的过程,直播也如此。只不过,前者依靠的是云计算,后者则是通过手机自身CPU的性能进行编码
编码本身的算法也有讲究,一方面要减小CPU的使用率,另一方面又要控制码率更低。所以基本上,如果你自己或者服务商的编码标准不是H.264或者H.265,基本上就可以一票否决了。
接下来到了传输部分,这里边的重点在于推流。因为如果只是传输路径上某一个点有故障,只是一部分人看不了,但如果推流出了问题,所有的人都看不了了。更何况,移动直播平台的竞争非常激烈,如果技术上不过关,一旦宕机影响用户体验,后果会很严重。
传输这一块是技术活。所以基本上国内大多数成熟的直播平台,都选择把这一块交给专业的CDN厂商去做。这就涉及到CDN的选择问题。先科普一下,CDN最核心的资源比拼就是内容分发节点,但是如果涉及到直播的话,流传输的技术架构也同样重要。

把视频推拉流、采集、转码之类的技术打包在了一起,同时优化各个环节。
总结起来,直播平台在技术方面的要求很高,要么自己有一个专业的技术团队,要不找一家专业的软件开发公司。

猜你喜欢

转载自blog.51cto.com/14528075/2463959