-->
为五月的纽约流媒体保留座位吧. Register Now!

What Is a Streaming Media Protocol?

这是我们的系列文章的另一部分 "What Is...?" articles, designed to offer definitions, history, 以及围绕在线视频行业的重要术语和问题的背景. 

Choosing a streaming 技术涉及多个考虑因素, 包括对该技术使用的流媒体协议的优缺点的理解. 本文定义了一个流协议,然后讨论了当今领先的流技术所使用的协议的相对优点.

What's a Communications Protocol?

Communications protocols 是否有规则管理数据的沟通方式, 定义诸如文件头和数据的语法之类的元素, authentication, and error handling. 发送一个简单的数据很容易涉及几十个协议 packet 通过互联网,了解它们是如何协同工作的是很重要的.

Briefly, the 国际标准化组织(ISO) created the Open Systems Interconnection 模型,该模型为通信功能定义了七个逻辑层. 所有的流协议都在应用层, 这意味着它们可以使用它下面的任何一层来传输数据包之类的管道功能. 这使得每一层中的协议能够专注于特定的功能, 而不必重新创建整个函数堆栈.

OSI Model

For example, the Real Time Streaming Protocol (RTSP) 应用程序级流协议是否可以在传输层中使用多个协议来传输其数据包, including the Universal Datagram Protocol (UDP) and Transmission Control Protocol (TCP). 有时,应用程序级协议是专门为特定的传输协议编写的, like the Real-Time Transport Protocol (RTP),它通常建立在UDP传输上.

Hopefully, 这个简短的概述将帮助您了解流协议的位置以及它们如何与其他流协议交互, lower level protcols. 这是我们所能得到的技术,伙计们,所以从现在开始,应该会一帆风顺.

一开始就有HTTP,它很好

With this as background, 让我们开始研究用于视频流的应用层协议, 从他们的祖父开始, HTTP. As you probably know, HTTP代表超文本传输协议, 哪个是网络的通用语. HTTP管理web服务器和浏览器之间的通信,是用于将网站上的所有内容分发给远程查看者的协议, including HTML text, GIF and JPG graphics, PDF文件和其他基于web的(相对于 FTP) downloads.

早期通过HTTP传输视频的实验不太令人满意,原因有很多, 其中最重要的是当时28/56Kbps调制解调器的有限带宽. 第一个发布在网络上的视频文件是通过下载和播放的方式传递的, 这意味着它们必须在播放之前完全下载. Then Apple pioneered the concept of progressive download, 视频下载后可以从哪里开始播放, which helped a bit, 但没有提供像前瞻性搜索或随机访问这样的功能.

http传输视频的另一个大缺点是成本和服务质量问题. HTTP交付在可用带宽允许的情况下尽可能快地完成. 如果查看器通过高速连接连接, 整个视频文件以最快的速度发送了出去. 如果观众在几分钟后停止观看,那么大部分转移就被浪费了.

此外,这种传送模式很难同时服务于多个观看者. 当观看者A点击视频时,服务器开始以最快的速度发送视频. When viewers B, C, D, and E clicked on the video, 在向观看者A的传输完成之前,出站带宽可能不足以为它们提供任何视频.

The Rise of Streaming Protocols

随着流媒体重要性的增加, 为了解决这些问题,创建了几个流协议, including the aforementioned RTSP, Microsoft Media Services (MMS) and Macromedia’s (and then Adobe’s) Real Time Messaging protocol (RTMP). 在高层次上,这些协议共享几个公共元素.

首先是流媒体服务器的存在, 或者一个只负责提供流媒体内容的软件程序. 这些流媒体服务器与传统的HTTP服务器一起工作,这样当浏览者点击HTTP服务器上的链接时, 它启动了流媒体服务器和播放器之间的连接,直到观看者停止观看. Because of this connection, 这些协议被认为是“有状态的”,” as compared to HTTP, 哪个是无状态的,服务器和玩家之间没有连接. 

这种连接解决了HTTP传递的大多数缺点. 流式传输协议允许查找视频文件中的随机点, and adaptive streaming, 多个编码文件可以根据可用带宽和CPU能力分发给播放器. 服务器可以及时测量视频流到播放器上, so if the viewer stopped watching, little extra bandwidth was wasted. 因为出站流量是被测量的, 流媒体服务器可以更有效地为多个用户服务, 提高整体服务质量.

HTTP - Back to the Future

Over time, 因为Flash视频开始主导流媒体视频领域, RTMP成为主流的流媒体协议, and is still widely used today. 然而,随着微软基于http的引入 Smooth Streaming and Apple’s HTTP Live Streaming (HLS), 基于http的流媒体技术由于多种原因开始复苏, 两者都与RTMP的负面影响和HTTP技术的创新有关,这些创新解决了RTMP的许多负面影响.

RTMP的缺点包括:

  • RTMP报文可能会被某些防火墙拦截, 但如果遇到这些问题,Adobe Media Server有解决方案.
  • RTMP数据包不能利用isp网络中可用的标准HTTP缓存机制, corporations, and other organizations, 怎样才能提高配送效率和服务质量.
  • 持久的服务器到玩家的连接意味着成本的增加, because streaming servers cost money.
  • 与基于http的流相比,所需的服务器也可能限制可伸缩性, 因为HTTP服务器比RTMP服务器多得多.

I say "perceived,因为在撰写本文时(2012年8月), RTMP is still used by sites like Bloomberg and The Street.com,这往往会让人怀疑RTMP无法通过防火墙严密的查看器. ESPN and MTV 也可以使用RTMP,这会使您质疑可伸缩性和成本问题.

These doubts aside, 技术专家普遍认为,基于http的技术在交付高质量流方面更有效. Plus, Adobe introduced HTTP Dynamic Streaming (HDS) 在2010年,为那些寻求基于http的流式传输到桌面的用户提供了一个基于flash的替代方案. All of a sudden, changing to HTTP-based online video delivery no longer involved a seismic shift to a totally new technology; Flash users could continue to leverage their investment in Flash development and infrasture and leverage the benefits of HTTPstreaming.

如前所述,HTTP流的一些创新也解决了该技术以前的限制. As before, there is no persistent connection between the server and the player; the video resides on any HTTP server and the technology remains stateless. However, 现在所有基于http的流都被分解成块, 单独的文件或较大文件中的段. 而不是用单个请求检索单个大文件, 基于http的技术根据需要检索连续的短块.

This has multiple benefits. 首先,几乎没有浪费,因为视频是在观看的同时传送的. 这有效地测量了视频, 使单个HTTP服务器能够有效地服务更多流. Seeking is no problem; if the viewer drags the playhead forward, 玩家可以检索适当的块. 这些技术还可以实现流之间的高效切换, 所以所有列出的技术(平滑流, HLS, and HDS) stream adaptively.

由于这些技术是通过HTTP交付的,因此它们回避了RTMP所面临的问题. 基于HTTP的技术是防火墙友好的,并且可以利用HTTP缓存机制. 因为不需要流媒体服务器, 它们的实现成本更低,并且可以更便宜、更有效地扩展以服务可用用户.

Final Points

同样,RTMP分发仍然被许多网站广泛而有益地使用. However, 虽然有些网站可能没有什么改变的动力, 在这一点上,如果你正在考虑流媒体技术, 压倒性的观点是通过HTTP交付. 当然,为了适应苹果设备(和Android 3).0或更高),HLS是您唯一的选择.

认识到大多数视频内容都是通过普通的HTTP渐进式下载传递的,这一点也很有用. Sure, there are limitations, like the lack of adaptive streaming, 但你不能说结果太糟糕了 YouTube该公司大约70%的视频都是通过网络传输的,而且完全是渐进式下载. 然而,这种方法阻止了YouTube部署 digital rights management (DRM) techniques available via HDS, Smooth Streaming, and HLS to protect their videos, 拥有品牌内容的网站使用这些技术的关键原因是什么.

最后,本文的重点是一般的互联网流媒体. 特别是对于内部网使用,基于流服务器的协议,如 IP Multicast and applications like peer-to-peer delivery 提供大量的价值和更多的承诺. So don’t throw out the baby with the bathwater; streaming servers aren’t “bad” and HTTP isn't "good.相反,要选择最适合工作的工具.

Streaming Covers
Free
for qualified subscribers
Subscribe Now Current Issue Past Issues
Related Articles

What Is HLS (HTTP Live Streaming)?

苹果的HTTP Live Streaming (HLS)协议是用于向iPad和iPhone等苹果设备传输视频的技术. 下面是关于HLS是什么以及如何使用它的入门教程.

What Is Adaptive Streaming?

A look at what adaptive streaming is, the primary technology providers, 以及在选择自适应流媒体技术时应该考虑的因素

What Is HTML5?

HTML5和HTML5视频的解释, including history, patent issues, and current use by Apple, Microsoft, Google, Adobe, and others.