直播是什么?直播就是讲视频,音频等媒体文件,在采集合成的同时进行播放,即随录随播。国外的直播叫做Live,直播可以让观众及时准确收到主播传递的信息,特别是在直播偶然事件的时候,主播可以及时分享消息和进行互动,直播具有实时性和互动性,华集提供直播推流解决方案。
视频直播推流协议
1、RTMP
RTMP 是 Real Time Messaging Protocol(实时消息传输协议)的缩写,是 Adobe 公司为 Flash/AIR 平台和服务器之间音、视频及数据传输开发的实时消息传送协议。RTMP 协议基于 TCP,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。
在 RTMP 协议中,视频必须是 H264 编码,音频必须是 AAC 或 MP3 编码,且多以 flv 格式封包。
RTMP 是目前最主流的流媒体传输协议,优先在于对 CDN 支持良好,实现难度较低,是大多数的直播平台的选择。但其不支持浏览器,且 Adobe 已不再更新。因此直播服务要支持浏览器的话,需要另外的推送协议支持。目前 PC 端教育直播推流工具的开发是一项比较复杂的系统工程,主要涉及到视频编解码技术、音频编解码技术、图像处理技术和多媒体封装格式技术等方面。
2、HLS
HLS 是 Http Live Streaming 的缩写,由 Apple 公司定义的基于 HTTP 的流媒体实时传输协议。它将整个流分为多个小的文件来下载,每次只下载若干个。服务器端会将最新的直播数据生成新的小文件,客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。
HLS 的延迟一般会高于普通的流媒体直播协议。
传输内容包括两部分:一是 M3U8 描述文件,二是 TS 媒体文件。TS 媒体文件中的视频必须是 H264 编码,音频必须是 AAC 或 MP3 编码。
3、WebRTC
WebRTC 是 Web Real-Time Communication 的缩写。其是一个支持浏览器进行实时语音、视频对话的开源协议,Google、Mozilla、Opera 推动其成为 W3C 推荐标准。
WebRTC 支持目前的主流浏览器,并且基于 SRTP 和 UDP,即便在网络信号一般的情况下也具备较好的稳定性。此外,它可以实现点对点通信,通信双方延时低,是实现“连麦”功能比较好的选择。
在直播中,会使用到很多技术,但是推流的直播是很受欢迎的一种直播方式。什么是推流?推理是怎样工作的呢?所谓推流就是主动将流媒体资源推送到一定的网络节点,方面用户抓取资源。 推流过程中涉及到一种推流协议,这种推流协议将流媒体音视频数据进行封装,然后变成数据流在网络上传输。常用的流媒体传输协议有RTSP,RTMP,HLS等,其中RTMP是手机直播中最常用的流传输协议。一般直播平台会需要提供推流服务的CDN提供商提供解决方案,深圳互联先锋在流媒体直播行业具有丰富的经验,拥有众多流媒体行业客户,可根据客户需求可以提供成熟流媒体行业解决方案。
视频推流直播对带宽的要求很高,如果带宽不够,或者网络环境很差,视频直播过程中就会时常卡顿,不流畅,这种直播体验是相当糟糕的。所以为了保证推流直播的顺畅,需要通过其他手段来保证直播的顺畅,其中常用的一种方法就是通过主播端和播放端设置缓存,让码率均匀,同时,针对实时变化的网络状况,设置动态码率和帧率等方式来保证直播推流过程的顺畅以及保证直播的良好效果。