直播流媒体是一个持续增长的现象。事实上,在这项研究中,有80%的人表示,他们宁愿观看直播,也不愿阅读一篇博客文章。此外,与标准视频相比,通过直播流播放的视频收到的观看时间多了27%。
随着直播视频继续成为首选的媒体类型,企业和广播公司已经倾向于通过专业的流媒体平台为他们的观众实施直播。但是,当涉及到直播时,有很多技术在幕后运作。因此,建立适当的直播流媒体协议可能是一项艰巨的任务。
值得庆幸的是,我们将澄清直播的各个重要方面。我们将讨论具体的流媒体协议和它们是什么。我们将详细介绍当今专业广播公司使用的六种最突出的直播流媒体协议。我们还将比较一些与直播有关的类似技术,包括编解码器和视频流媒体格式。到最后,你会了解到最适合你的具体应用的流媒体协议。
流媒体协议的基础知识
流媒体协议构成了专业广播的组成部分之一。
流媒体协议,也被称为广播协议,是一种在互联网上传输不同类型媒体(通常是视频或音频)的标准化方法。
从本质上讲,视频流协议将内容的 “块 “从一个设备发送到另一个设备。它还定义了在另一端将这些块 “重新组合 “成可播放内容的方法。
这指向了流媒体协议的一个重要方面:输出设备和观看者都必须支持该协议,以使其发挥作用。
例如,如果你用MPEG-DASH发送一个流媒体,但你流媒体设备上的视频播放器不支持MPEG-DASH,你的流媒体就不能工作。
出于这个原因,标准化很重要。目前有几个主要的媒体流媒体协议在广泛使用,我们稍后将详细介绍这些协议。六种常见的协议包括:
- HTTP Live Streaming (HLS):基于HTTP的自适应码率流媒体传输协议
- Real-Time Messaging Protocol (RTMP):实时消息传输协议
- Secure Reliable Transport (SRT):安全可靠的多媒体实时传输协议
- Dynamic Adaptive Streaming over HTTP (MPEG-DASH):HTTP动态自适应流媒体协议
- Microsoft Smooth Streaming (MSS):微软流畅流媒体协议
- Web Real-Time Communication (WebRTC):Web实时通信协议
在我们深入研究具体的协议之前,让我们先澄清一下直播流协议和编解码器领域的一些潜在混乱。
实时流媒体协议与编解码器
“编解码器 “是直播世界中经常出现的一个词,乍一看,其定义似乎与视频协议的定义相似。然而,实时流媒体协议与视频编解码器是不同的。
编解码器是 “编码器/解码器 “的意思。它是一种使视频文件变小的工具。RAW视频文件是由许多静止图像依次快速播放组成的(通常为每秒30帧)。现在,想象一下30张照片,每张都是200万像素。这是一个很大的存储空间。这就是编解码器发挥作用的地方。
节省空间的解决方案是压缩,它使用数学算法来丢弃那些不是很重要的数据。例如,如果视频的一个角落是黑色的,并且在几秒钟内保持黑色,你可以扔掉单个像素数据,而只是包括一个参考。
一旦文件到达目的地,它就会被解压缩,以便视频可以正常播放。当涉及到流媒体直播时,这个过程是实时发生的。这个过程就是使用视频编解码器时的情况。视频编解码器本质上是流媒体方法工具。
流媒体协议与视频流媒体格式
另一个潜在混淆的来源是视频流媒体格式。这指的是用于视频传输的 “容器 “或 “包”。容器格式通常包含压缩视频、压缩音频和元数据,如字幕、时间信息等。
这些数据通过一个流媒体协议进行传输。传输格式定义了内容在流式传输时如何存储在各个数据块中。常见的传输格式或流媒体视频的容器包括MP4(片段)和MPEG-TS。
6种常见的直播流媒体协议
不同的视频流协议用于不同的使用情况。某些流媒体协议更适合于某些流媒体设置,而另一些则更适合。现场流媒体的最佳协议取决于情况。
有六种常见的流媒体协议,专业广播人员应该熟悉,包括HLS、RTMP、SRT、MSS和MPEG-DASH,以及WebRTC。让我们花点时间来探讨一下最受欢迎的协议的一些背景和技术要求。
(HLS)基于HTTP的自适应码率流媒体传输协议
苹果产品的普及需要一个与iOS兼容的协议。HLS是一个由苹果公司开发的替代协议,今天它是互联网上使用最广泛的流媒体协议。然而,这并不总是如此,因为当Flash还在的时候,顶级流媒体协议是RTMP。
HLS是一个自适应比特率协议,也使用HTTP服务器。这个协议是一个不断发展的规范,因为苹果公司不断增加功能并定期改进HLS。
以下是苹果公司近年来改进HLS的几个例子:
- 性能: 与DASH这样的流媒体协议相比,HLS在过去有一些不足之处。值得注意的是,DASH可以说是能够提供比HLS更好的流媒体质量,但现在已经不是这样了。
- 分辨率: DASH以前能够支持比HLS更高分辨率的视频。现在,HLS支持4K视频分辨率,所以HLS在这方面与DASH相比也不再处于劣势。
尽管改进了过去的缺点,但苹果还没有能够解决与HLS相关的延迟问题。例如,与RTMP相比,HLS协议的延时相对较高。不过,如前所述,苹果正在不断地研究HLS,甚至已经推出了低延迟HLS。
低延迟HLS(LL-HLS)
低延迟HLS是HLS协议的一个扩展,可以使延迟在2秒或更少。与HLS直播流一般有15-30秒的延迟相比,这个延迟是一个很大的进步。
对苹果来说,不幸的是,这个协议的普及速度没有苹果希望的那么快,所以他们已经尝试了一些东西来加速采用。但是,在整个视频传输生态系统中,仍然缺乏供应商的支持。
HLS支持的视频编解码器:
- H.264
- H.265 / HEVC
支持的音频编解码器:
- AAC
- MP3
传输/包装格式:
- MPEG-2 TS
播放支持:
- iOS和macOS设备
- Safari、Chrome、Firefox和Edge网络浏览器
- 许多机顶盒,如Roku
- 许多在线视频播放器,如JW Player和Dacast全设备视频播放器
如果你想与使用苹果设备的观众连接,HLS流媒体是直播的最佳协议之一。
(RTMP)实时消息传输协议
RTMP协议将视频文件从编码器发送至在线视频平台。
实时消息传输协议(RTMP)以前用于向Adobe Flash播放器传输视频。RTMP是由Macromedia公司开发的,主要使用情况是与Adobe Flash播放器配合使用,但正如你已经知道的,Flash播放器现在已经死亡。
为了理解RTMP作为一种传输协议的流行,请考虑一下,在某一时期,Adobe Flash Player被安装在西方大约99%的桌面上。RTMP被大量使用了很多年。
由于RTMP和Flash的合作如此密切,许多人现在将这两个术语混淆为可以互换,但它们不是。换句话说,Flash已经死了,但RTMP还没有。相反,由于HTML5已经取代了Flash,它以一种新的用例继续存在。
如今,RTMP对播放的支持有限。相反,RTMP现在被用于从编码器到在线视频平台的摄入。
RTMP摄取允许用户利用低成本的RTMP编码器的支持。大部分在线视频流媒体行业,包括领先的流媒体软件和OVPs,仍然与RTMP摄取兼容。
当与HLS传输配对时,RTMP摄取会产生一个低延迟的流。RTMP仍然是强大的,因为它能够支持低延迟,这是RTMP摄取仍然流行的首要原因。RTMP摄取是目前最流行的摄取协议的另一个首要原因与兼容性有关。例如,HLS摄取仍未被流媒体服务广泛支持。
支持的视频编解码器:
- H.264
- MP4
- x264
支持的音频编解码器:
- AAC-LC
- AAC
传输/包格式:
RTMP的传输/包格式不可用。
播放支持:
- Flash Player
- Adobe AIR
- 兼容RTMP的播放器
片段持续时间:
RTMP的片段持续时间不可用。
如果你需要一个低延迟的流,在处理数据时有最小的延迟,RTMP摄取是使用的最佳视频流标准之一。
(SRT)安全可靠的传输
安全可靠传输(SRT)是Haivision公司的一个相对较新的流媒体协议,该公司是在线流媒体领域的领先者。SRT是一个开源协议,可能是直播流的未来。这个视频流协议以其安全性、可靠性和低延迟流而闻名。
SRT仍然相当具有未来性,因为这个协议仍有一些兼容性限制。该协议本身是开源的,兼容性很强,但其他流媒体硬件和软件还没有发展到支持这个协议。
Haivision创建了SRT联盟,这是一个由技术和电信行业的公司组成的团体,致力于使SRT在流媒体直播领域得到提升。目前,访问SRT的最佳方式是使用由SRT联盟任何成员创立或支持的技术。
支持的视频编解码器:
SRT与媒体和内容无关,所以它支持所有视频编解码器。
支持的音频编解码器:
SRT与媒体和内容无关,所以它支持所有的音频编解码器。
传输/包格式:
SRT与媒体和内容无关,所以它支持所有的传输和包格式。
回放支持:
Haivision没有指定SRT的播放支持。
片段持续时间:
Haivision没有指定SRT的片段长度。
如果你想站在视频流协议的最前沿,你可能要考虑适应SRT。
(MSS)微软流畅流媒体协议
MSS或微软流畅流媒体是一个较早的流媒体协议,具有广泛的播放支持。
在我们深入研究微软流畅流媒体(MSS)之前,你应该知道,从2022年起,它已经不再是一个被使用的协议。但我们认为仍然谈论它是有帮助的,以表明仅仅因为像微软这样的大公司在协议背后,没有任何协议是防弹的。
MSS是微软在2008年开发的一个流媒体协议,以满足早期对自适应比特率流的需求。这个视频流协议以成本效益高、减少缓冲和提供优化性能而闻名。
微软平滑流技术的背后是允许你在XBox 360、Silverlight、Windows phone 7和其他一些连接的电视平台上流传内容。它还被用于2008年夏季奥运会,作为NBC在线平台的流媒体协议。
部署Smooth Streaming曾经需要Silverlight,微软专有的开发者插件框架。然而,微软的Silverlight在2021年末停产了。Smooth Streaming的一个优势是支持PlayReady DRM,以阻止盗版。
尽管MSS的失败,微软仍然落后于其他一些协议,如MPEG DASH。虽然MSS在早期很有前途,但技术爱好者可以看到Silverlight不会持续很久,结果MSS也随之崩溃了。
支持的视频编解码器:
- H.264
- VC-1
支持的音频编解码器:
- AAC
- WMA
传输/包装格式:
MP4 片段
播放支持:
- 具有Silverlight插件的浏览器
- Xbox
- Windows Phone
- iOS设备
- Windows电脑
- 许多智能电视
片段持续时间:
2-4秒
如果你正在寻找适合Windows设备的最佳流媒体协议,一定要考虑MSS。
(MPEG-DASH)HTTP动态自适应流媒体协议
MPEG-DASH是未来的流媒体直播协议。
我们审查的最后一个协议是MPEG-DASH。这是最新的流媒体协议之一,并开始看到更广泛的采用。
HTTP动态自适应流(DASH)也被称为MPEG-DASH,使用标准的HTTP网络服务器。与RTP等传统的流媒体方法相比,这降低了实施的成本和技术难度。
MPEG-DASH也是一个自适应比特率(ABR)协议。这意味着它将自动检测观众的互联网连接速度的变化,并在任何时候提供最佳的可用视频质量。ABR流媒体减少了缓冲,增强了观众的体验。
同样重要的是要注意,MPEG-DASH是一个开放标准,不受任何一家公司控制。它是由50多个组织联合开发的,包括苹果和微软等大牌组织。
尽管大多数网络浏览器都支持MPEG DASH,但在了解该协议时需要考虑的一个大的缺点是,iOS和Safari还不支持它,而且可能永远不会支持它。考虑到苹果设备的普及,这有巨大的影响。
支持的视频编解码器:
- H.264(最常见的编解码器)
- H.265 / HEVC(下一代的继任者)
- WebM
- VP9/10
- 任何其他编解码器(MPEG-DASH与编解码器无关)
支持的音频编解码器:
- AAC
- MP3
- 任何其他编解码器(MPEG-DASH与编解码器无关)
传输/包格式:
- MP4片段
- MPEG-2 TS
播放支持:
- 安卓设备上的本地支持
- 在2012年后生产的大多数三星、LG、飞利浦、松下和索尼电视上播放
- 在Chromecast上工作
- 在YouTube和Netflix上支持
- 没有通过HTML5的原生支持,但可以通过Javascript和媒体源扩展实现播放器。
片段持续时间:
可变的。
并非所有的观众都有相同的互联网连接,这意味着在试图与大量观众联系时,你需要以不同的分辨率来串流你的视频,这可以通过自适应比特率协议实现,而MPEG-DASH支持这种协议。MPEG-DASH是为你的观众提供满足其需求的视频的最佳流媒体协议。
(WebRTC)Web实时通信协议
WebRTC是一个免费的开源项目,通过应用编程接口(API)为网络浏览器和移动应用程序提供实时通信(RTC)。
与我们名单上的其他项目相比,Web实时通信(WebRTC)相对较新,在技术上不被认为是流媒体协议,但经常被说成好像是流媒体。它在很大程度上负责让你能够直接在浏览器中参与实时视频会议。
WebRTC在大流行期间获得了很多人气,因为它的制作目的是支持网络会议和VoIP。在大流行期间爆红的微软团队,使用WebRTC进行音频和视频通信。
WebRTC支持自适应比特率流,与HLS和MPEG-DASH的方式相同。与HLS一样,WebRTC也依靠实时转码来产生多种比特率变体,以便连接不佳和连接强大的用户能够享受流媒体。WebRTC有一个非常乐观的未来。
支持的视频编解码器:
- H.264
- VP8 + VP9
支持的音频编解码器:
- PCMU
- PCMA
- G.711
- G.722
- Opus
播放支持:
- 安卓设备上的原生支持
- 截至2020年,iOS Safari 11和更新的版本支持WebRTC
- 在谷歌浏览器、Mozilla Firefox和微软Edge上运行
- 得到YouTube和谷歌的支持
最后的思考
现在你会对流媒体直播有一个更好的理解。无论你是老手还是新手,本文所概述的关于编解码器、容器格式、CDN等方面的工作知识将帮助你选择适合你需要的最佳直播流媒体协议。
每个流媒体协议都有自己的优点和缺点。你使用哪种协议在很大程度上取决于你想接触的人和他们使用的设备。换句话说,你的观众的需求。
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/26067.html