视频“流媒体”与直接从文件中播放的区别

13

这可能是最愚蠢的问题之一,但我仍然需要非常清楚地了解有关视频“流媒体”的知识。

在这里,我只谈论媒体文件。 (不是“直播”流)


假设我有happy.mp4文件。 那么应该(或者有哪些)选择:

选项(1):

  • 使用一个流媒体服务器(如:Wowza)
  • happy.mp4文件上传到服务器上。
  • 然后获取流链接,并将其放在带有播放器的网站上(如:JWplayer)。

选项(2):

  • 直接将happy.mp4文件上传到Web服务器(如:Apache)
  • 将其放在带有播放器的网站上(如:JWplayer)。

显然,选项(2)也可以工作。 但为什么总是有另一种使用“流媒体”服务器的选择,即使是针对这样的按需“文件”?


选择(1)是因为如果我们使用选项(2),我们无法兼容地传输给多个设备(如果源仅是.mp4文件)。 是吗?

  • 但是像“JWplayer”这样的播放器可以处理这一部分。 是吗?

那么,请问我应该使用流媒体服务器的主要原因是什么?

1个回答

17

首先,我们需要观察视频传输和呈现的一些趋势,特别关注内容提供给不同设备和平台的方式。

  • 所有网络浏览器都能播放MP4文件。
  • 大多数网络浏览器都能播放DASH视频(需要使用MSE技术)。这提供了自适应流和更高级的播放控制功能。
  • Safari能播放HLS视频,这是苹果的自适应流变体。
  • 在插件(Silverlight)的帮助下,所有桌面浏览器都能播放Smooth Streaming视频(但Chrome正在放弃对Silverlight的支持)。
  • Android可以本地播放MP4和DASH视频,并使用自定义库播放Smooth Streaming视频。
  • iOS可以本地播放MP4和HLS视频,并使用自定义库播放Smooth Streaming视频。

实际情况更加复杂,但你会发现不同设备侧重于不同格式,MP4是唯一真正通用的因素。

通常,由于其缺乏自适应流和DRM支持,MP4并不令人满意,而这两个因素对于呈现优质内容非常关键。这意味着,如果你正在创建视频服务,你需要使用多种不同的格式提供内容,以覆盖所有客户端平台。

这就是媒体服务器(例如Wowza、Unified Streaming或Azure Media Services)的作用-这些产品可以接收一种输入格式的视频,并即时将其转换为其他格式,在不同的客户端设备上以不同的打包格式提供相同的内容。

如果你只是提供静态MP4文件或已经将视频转换为所需的所有格式,则媒体服务器对你来说毫无用处。请注意,媒体服务器制造商仍会尝试向你销售!我看到许多客户在没有必要的情况下使用媒体服务器-他们只是没有意识到他们所需要的只是一个web服务器。

视频文件就是视频文件,除了平滑流媒体(Smooth Streaming)以外,不需要特殊的服务器逻辑,任何随机的Web服务器都可以将它们成功地传递到客户端设备。如果你正在使用IIS作为你的Web服务器或者其他等效的Web服务器,平滑流媒体需要来自微软的免费插件。然而,在今天的世界上,你几乎肯定可以在所有地方使用DASH代替平滑流媒体,从而缓解这个问题。

"Streaming"这个词经常出现在市场营销材料中,并且非常灵活和误导性,因此我建议你避免使用它。向播放器传递视频数据没有什么特别之处 - 最终,它们是相对较大和重要的文件,但不需要特殊处理。


亲爱的桑德尔,非常感谢您解决了我的长时间悬而未决的谜团。这让我眼界大开。所以现在只有一个问题需要澄清。因为你说:“提供静态MP4文件或者已经将视频转换为所需格式”,而我只有MP4格式的文件,这意味着我可以仅使用Apache + JWPlayer(无需任何媒体服务器)来播放这些MP4文件。是这样吗?(因为这里有一个例子,仅限于MP4格式,但我已在所有iOS / Android / Windows上进行了测试:http://support.jwplayer.com/customer/portal/articles/1406723-mp4-video-embed) - 夏期劇場
1
如果使用MP4文件能够满足你的需求,那么直接让Apache将它们服务给JWPlayer就可以了,不需要在这种情况下使用媒体服务器。 - Sander
@Sander 感谢您的回答!您说如果我们已经将您的视频转换为所需的所有格式,则媒体服务器是无用的。但是协议呢?HTTP是否足够?例如RTSP之类的东西呢? - zeus
@loki HTTP/HTTPS是现代自适应媒体的标准流媒体协议,没错;RTSP是一种已经不常使用的传统技术。 - Sander
@Sander 谢谢...但是HLS呢?MPEG-DASH呢?他们也使用HTTP对吧? - zeus
是的,它们也使用HTTP/HTTPS。 - Sander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接