前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一对一直播平台开发中,如何进行推流?

一对一直播平台开发中,如何进行推流?

原创
作者头像
布谷安妮
修改2020-04-26 10:23:43
1.1K0
修改2020-04-26 10:23:43
举报
文章被收录于专栏:布谷科技布谷科技

推流环节对直播链路的影响非常大,如果推流网络不稳定,就算前期在音视频处理、编码和封装上做何种优化,用户体验都会很糟糕。因此接下来,以一对一直播平台开发为例,为大家讲述下推流过程中涉及的协议、实现方案等。

一、推流的定义

推流实际上就是在把封装好的视频和音频传输到服务器的过程。换句话说,就是将现场的视频信号传到网络的过程。此外,推流这个环节对网络的要求比较高,如果网络不稳定,直播的效果就会很差,像是遇到卡顿、延时等情况。

二、推送协议种类根据使用案例,一对一直播平台开发中,接触到的推送协议有以下几个:

1、RTMPRTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT、RTMPS、RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash平台和支持RTMP协议的流媒体之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server、Ultrant Media Server、red5等。RTMP是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上大多数的直播平台都应用了这个协议。

优点:CDN厂商基本都支持此协议,兼容性强,且在各平台上实现容易。

缺点:传输成本高,在弱网环境下比较容易丢包;不支持浏览器推送;最重要的一点是RTMP是Adobe的私有协议,但是Adobe已经不再更新。

2、WebRTCWebRTC,即网页即时通信的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它目前已经开源并且在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。相对于一对一直播平台,它更多的是广泛应用在各种视频会议中。此协议的优点是:由于是纳入W3C标准,主流浏览器对它的支持逐渐提高,相比起RTMP来讲,它在弱网情况下的空间优化较大,而且支持点对点通信,从而降低了整体延迟。但是缺点也比较棘手,就是目前传统CDN中没有类似的服务提供。

3、基于UDP的私有协议有些一对一直播平台开发会使用UDP作为底层协议开发自己的私有协议,因为UDP在弱网环境下,通过一些定制化的调优可以达到比较好的弱网优化效果,但同样因为是私有协议也势必会有现实问题:开发成本高,往往需要自建CDN或者和CDN达成协议,另外由于兼容性较差,在面对升级时可能得不到技术支持。

三、推流实现方案举例:

1、在推流传输方面全部由开发商自己搭建,花费较大,总体来说不太现实。

2、在直播软件开发中,可以和一些主流CDN厂商或者云视频服务商合作,它们往往会提供推流的“一条龙”服务。

3、大多数直播平台都会同时接入多个视频云服务提供商,这样可以做拉流线路互备,对推流后视频集群再进行优化也可提高直播的流畅性和稳定性。

以上,就是一对一直播平台开发中,一些关于推流的简单介绍。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档