闫新惠
摘 要:随着移动互联网的兴起,直播作为一种新型的互联网交流方式近年来迅速发展,在娱乐,电动竞技,教育,安防等领域有着广泛应用。自媒体利用网络直播技术,更是对传统媒体有着具体冲击。本文深入分析网络视频直播中“连麦”技术,并给出一些解决方案及其实现。
关键词:直播连麦技术;研究;实现
1 视频直播和连麦简介
1.1 视频直播
视频直播分为主播和观众,可以有一个或几个主播对应多个观众。主播通过录屏工具(一般为手机或个人电脑摄像头),录取声音和视频,然后及时的发送到观众的客户端上,客户端为手机或电脑。我们主要考虑移动设备(手机)上直播的实现方案。
(1)音视频的清晰程度:例如音频采样率和视频压缩率,分辨率。手机上音频采样率要达到16000以上,视频达到720P高清格式;音视频数据量比较大,主播端需要编码压缩,一般使用h264编码,对应的客户端则需要解码操作。
(2)信息的实时性:主播端音视频需要实时传送到观众段,时延要低,这个主要靠网络传输和服务器性能保证。
音视频编码和解码技术上有硬件和软件2种实现方案,硬件方案是利用手机上的特殊硬件来执行编解码,目前手机一般都有编解码硬件,这种方式性能高且开发方便;软件方案则是利用第三方的软件编解码库,例如ffmpeg来实现,其效率低下而且容易影响手机性能,引起卡顿,作为直播方案不太合适。
一旦编码完成,主播端则需要利用网络将数据帧发送到视频服务器(主播推流),服务器将数据转发给客户端(观众拉流),客户端解码后显示并播放声音。
1.2 连麦简介
“连麦”是视频直播中的一个比较有趣的扩展功能,是指同时可以有多个观众加入到主播中,观众端同时也作为主播端,观众端不仅仅拉流,自己也同时推流。但最终展示的只有一路数据流,所以这多路数据流需要做一个“合并”操作,例如主流合并方法主播端是主画面,但是在右下角开出几个小窗口,每个小窗口对应一个观众端流。可以看到,虽然连麦功能扩展不多,对技术上改变却很大,普通观众端增了推流功能,多路流的合并功能,这些需求在简单直播服务中是无法提供的,我们就连麦技术的实现做了一些分析,提出几个解决方案实现。
2 连麦的技术实现
2.1 服务器多推流多拉流实现
服务器多推流多拉流方式对传统方式做了扩充,连麦用户请求连麦并通过后,和主播用户一样,也推流到服务器,这样服务器需要接受连麦用户和主播2个推流,所有其它用户需要接受这2个推流,并且在客户端做解码,然后将2路视频流按需求定义混合。
这种实现方式适合多主播多用户互动,系统复杂度与耦合性较低,便于扩展。服务器端由于不需要混音、混屏,其压力较低主要实现集中于服务器端,一个主播需要推送多个流,其带宽占用比较大。对于观众端,连麦主观众和主播的媒体流时间上同步难度比较大,由于网络原因,2路流不能做实时同步,这样在观众端混合视频的时候要考虑到其时间戳,如果相差太大则需要采用某些策略,例如丢弃某路流。
2.2 服务器多推流单拉流实现
服务器多推流单拉流实现方式和服务器多推流多拉流实现方式相类似,也是多个连麦用户和主播同时向服务器推流,不同的是在服务器做混流操作,多路媒体流推送到服务器,服务器端完成多路音视频的合并,观众端和传统方式相比没有变化,收到的只是一路流。这也是目前主流连麦技术采用的办法,很多CDN服务商实现了此功能,对客户端来说改变比较简单。此方式操作简单,但限制也比较多,难点部分放到服务器,服务器不仅仅要推拉流的网络操作,还要实时对推流混码合并,计算量很大,会有比较大的压力。对于客户端来说,虽然不做任何更改,但是也限制了其进一步扩展的能力,例如客户端不能自行取消某连麦观众的音视频。
2.3 P2P技术实现
P2P是peer to peer简称,也就是点对点通信,指客户端之间直接通信,不需要通过服务器中转。在直播中特指音视频数据流在客户端直接交互,这和传统的直播方式差别比较大。P2P技术具体通过端口转发实现,此功能需要网关支持。
实现步骤:连麦用户向视频服务器发送连麦请求,服务器通知主播,主播接受后,双方通过服务器交换对方的网络信息(公网IP地址,端口号),双方以P2P方式尝试直接联接对方的公网IP地扯(如果失败还需通过服务器转发,保证直播能完成,但此时已属于P2P范围),然后主播和连麦用户将自己编码后的流以UDP发送所有其它用户,同时所有用戶接受到其它用户流媒体后解码渲染到界面。
“点对点”的特点,除了在信令交互(连麦申请/接受)阶段需要视频服务器介入,连接一旦建立,就不需要服务器了。但是也显然增加了各个客户端的负担,假设主播1人,连麦者2人,观众3人,主播端和连麦端都需要接受2输入流,同时输出5路流。对于手机而言,这是一个不小的负担。所以P2P方式只能适合人数比较少的直播。另外由于媒体流协议采用rtp/自定义的UDP协议,开发难度也比较大,但是其时延和服务器压力是最小的。
3 结束语
本文探讨了直播的连麦技术,介绍了几种连麦功能的实现方案,这些方案各有利弊,具体操作时需要结合其它客观条件因地制宜的实施。
参考文献
[1]张春元,文梅.流计算和视频编码[M].科学出版社,2012.
[2]哈渭涛.流媒体中关键技术研究[M].科学出版社,2019.
[3]蔡康.P2P对等网络原理与应用[M].科学出版社,2011