什么是媒体服务器?

媒体服务器将视频和音频内容传送至提出请求的客户端。媒体服务器既指执行此功能的软件应用,也指运行媒体服务器软件的主机。

媒体服务器最常见的用途可能是提供点播视频 (VOD),即媒体服务器检索存储中预先录制的视频内容,并通过互联网进行传送。最简单的情况,视频文件嵌入网页,并与网页的其他组件存储在同一主机上。但 VOD 最常见的用例可能是 Netflix、Amazon 和 Hulu 等订阅服务,在这些服务中,遍布世界各地的媒体服务器通过内容分发网络 (CDN) 向数百万客户传送视频。如下文所述,VOD 采用多种技术,媒体服务器需要支持其中部分或全部技术,具体取决于所支持的视频播放器类型。

直播是媒体流服务器另一项热门用途。在这种情况下,媒体服务器传送实时生成的内容(或者只有轻微延迟)。按次付费的体育赛事就是直播的示例。与 VOD 不同,直播由内容提供商决定用户何时观看视频(和广播电视一样)。和 VOD 一样,直播也还可以进行录制,以便日后访问。

支持多种 VOD 技术

传送视频的技术在播放器对播放的控制程度上有很大差异。以下按复杂程度的递增顺序列出:

  • 文件下载:视频为单个文件,将整个文件从媒体服务器下载到播放器之前无法开始观看。
  • 渐进式下载:视频为单个文件,但文件开头的元数据可在元数据和少量视频数据下载完成后立即开始播放。播放视频期间,下载会在后台继续进行。
  • 伪流媒体:播放器缓冲视频数据并播放视频,而不是将其下载到存储器。伪流媒体可以指定所请求视频部分的开始和结束时间,而媒体服务器(现在通常称为流媒体服务器)会检索并提供媒体文件的相应部分(“流”)。如此一来,用户可以在视频流中快进/倒退,甚至跳过视频。Flash 和 MP4 是伪流媒体的常用格式。
  • 自适应比特率流:将媒体文件分割成多个小文件,并创建播放列表作为各片段的目录,确保用户更容易在视频中跳转。此外,内容提供商可以创建多个以不同比特率编码的视频版本,以提供不同级别的声音和图像质量。通过请求以适当比特率编码的片段,播放器可以根据不断变化的网络条件在不同版本之间无缝切换。自适应比特率流的常用编码包括 Apple 的 HTTP Live Streaming (HLS) 和 Adobe 的 HTTP Dynamic Streaming (HDS)。
NGINX Plus 可以提供哪些帮助?

NGINX PlusNGINX 是同类型最佳媒体服务器解决方案,被 Dropbox、Netflix 和 Zynga 等高流量网站广泛使用。全球有超过 3.5 亿个网站依靠 NGINX Plus 和 NGINX Open Source 快速、可靠、安全地交付内容。

NGINX Plus 支持本文介绍的所有技术、格式和编码,包括适用于 VOD 的 Flash、MP4、HLS 和 HDS。如果片段和播放列表不存在,HLS 甚至可以动态创建。对于直播,NGINX Plus 支持 Adobe 的实时消息传输协议 (RTMP)、HLS 和 Dynamic Adaptive Streaming over HTTP (DASH)。

与其他专门针对和限制自身媒体传送的媒体服务器不同,NGINX Plus 是全面的应用交付平台,提供反向代理高级负载均衡缓存Web 服务以及专为流媒体设计的功能。

如需全面了解 NGINX Plus 的媒体流功能(以及如何进行配置),请查阅我们的白皮书《使用 NGINX Plus 服务媒体》。