视频 "Streaming" 与直接从文件播放
Video "Streaming" vs playing off directly from Files
这可能是最愚蠢的问题之一,但我仍然需要非常清楚地了解视频 "Streaming"。
这里我只讨论 媒体文件 。 (不是 "Live" 流媒体)
假设我有 happy.mp4
文件。那么怎么走。 (或者有什么区别):
选项 (1):
- 使用一台流媒体服务器(如:Wowza)
- 上传那边的
happy.mp4
文件。
- 然后获取流 link 并使用播放器(如:JWplayer)将其放在网站上。
选项 (2):
- 将
happy.mp4
文件直接上传到 Web 服务器(如:Apache)
- 用播放器(如:JWplayer)放在网站上。
显然选项(2)也可以。但为什么总有另一种选择来使用 "Streaming" 服务器,即使对于这种按需 "Files".
选项 (1) 是因为,如果我们使用选项 (2),我们将无法兼容地传送到多个设备(如果源只是 .mp4
文件)。是吗?
- 但是像"JWplayer"这样的玩家可以应付那部分。我说的对吗?
请问我应该使用流媒体服务器的主要原因是什么?
让我们首先观察视频传输和呈现方面的一些趋势,特别关注将内容传输到各种设备和平台的方式。
- 所有网络浏览器都可以播放 MP4 文件。
- 大多数网络浏览器都可以播放 DASH video (MSE 需要技术)。这提供了自适应流和更高级的播放控制功能。
- Safari 能够播放 HLS 视频,这是自适应流媒体的 Apple 变体。
- 在插件 (Silverlight) 的帮助下,所有桌面浏览器都能够播放平滑流媒体视频(不过,Chome 正在放弃对 Silverlight 的支持)。
- Android 可以原生使用 MP4 和 DASH 视频,并借助自定义库、Smooth Streaming 视频。
- iOS 可以使用 MP4 和 HLS 视频,并在自定义库的帮助下使用平滑流式传输视频。
实际情况更加复杂,但如您所见,不同的设备关注不同的格式,MP4 是唯一真正通用的因素。
一般来说,MP4 并不令人满意,因为它缺乏自适应流媒体和 DRM 支持,而这两者对于呈现优质内容都至关重要。这意味着如果您要创建视频服务,则需要使用多种不同格式提供您的内容,以覆盖所有客户端平台。
这是像 Wowza 或统一流媒体或 Azure 媒体服务这样的媒体服务器的作用——这些产品可以采用一种输入格式的视频并即时将其转换为其他格式,提供相同的服务内容以不同的封装格式发送到不同的客户端设备。
如果您所做的只是提供静态 MP4 文件或已经将您的视频转换为您需要的所有格式,媒体服务器对您毫无用处。请注意,媒体服务器制造商仍会尝试向您出售一台!我看到许多客户在没有任何需要的情况下使用媒体服务器 - 他们只是没有意识到他们所需要的只是一个网络服务器。
视频文件只是视频文件。除了一个例外(平滑流),不需要特殊的服务器端逻辑,任何随机网络服务器都可以将它们很好地传送到客户端设备。如果您使用 IIS 作为您的 Web 服务器,平滑流式处理确实需要 Microsoft a free plugin,如果您使用其他服务器,则需要 Microsoft 的等效服务器。然而,在当今世界,您几乎可以肯定地在任何地方使用 DASH 而不是 Smooth Streaming,从而缓解问题。
"streaming"这个词经常用在营销材料中,非常灵活且容易误导,所以我建议您避免使用它。将视频数据传送给播放器并没有什么特别之处——归根结底,它们是相对较大且重要的文件,但不需要特殊处理。
这可能是最愚蠢的问题之一,但我仍然需要非常清楚地了解视频 "Streaming"。
这里我只讨论 媒体文件 。 (不是 "Live" 流媒体)
假设我有 happy.mp4
文件。那么怎么走。 (或者有什么区别):
选项 (1):
- 使用一台流媒体服务器(如:Wowza)
- 上传那边的
happy.mp4
文件。 - 然后获取流 link 并使用播放器(如:JWplayer)将其放在网站上。
选项 (2):
- 将
happy.mp4
文件直接上传到 Web 服务器(如:Apache) - 用播放器(如:JWplayer)放在网站上。
显然选项(2)也可以。但为什么总有另一种选择来使用 "Streaming" 服务器,即使对于这种按需 "Files".
选项 (1) 是因为,如果我们使用选项 (2),我们将无法兼容地传送到多个设备(如果源只是 .mp4
文件)。是吗?
- 但是像"JWplayer"这样的玩家可以应付那部分。我说的对吗?
请问我应该使用流媒体服务器的主要原因是什么?
让我们首先观察视频传输和呈现方面的一些趋势,特别关注将内容传输到各种设备和平台的方式。
- 所有网络浏览器都可以播放 MP4 文件。
- 大多数网络浏览器都可以播放 DASH video (MSE 需要技术)。这提供了自适应流和更高级的播放控制功能。
- Safari 能够播放 HLS 视频,这是自适应流媒体的 Apple 变体。
- 在插件 (Silverlight) 的帮助下,所有桌面浏览器都能够播放平滑流媒体视频(不过,Chome 正在放弃对 Silverlight 的支持)。
- Android 可以原生使用 MP4 和 DASH 视频,并借助自定义库、Smooth Streaming 视频。
- iOS 可以使用 MP4 和 HLS 视频,并在自定义库的帮助下使用平滑流式传输视频。
实际情况更加复杂,但如您所见,不同的设备关注不同的格式,MP4 是唯一真正通用的因素。
一般来说,MP4 并不令人满意,因为它缺乏自适应流媒体和 DRM 支持,而这两者对于呈现优质内容都至关重要。这意味着如果您要创建视频服务,则需要使用多种不同格式提供您的内容,以覆盖所有客户端平台。
这是像 Wowza 或统一流媒体或 Azure 媒体服务这样的媒体服务器的作用——这些产品可以采用一种输入格式的视频并即时将其转换为其他格式,提供相同的服务内容以不同的封装格式发送到不同的客户端设备。
如果您所做的只是提供静态 MP4 文件或已经将您的视频转换为您需要的所有格式,媒体服务器对您毫无用处。请注意,媒体服务器制造商仍会尝试向您出售一台!我看到许多客户在没有任何需要的情况下使用媒体服务器 - 他们只是没有意识到他们所需要的只是一个网络服务器。
视频文件只是视频文件。除了一个例外(平滑流),不需要特殊的服务器端逻辑,任何随机网络服务器都可以将它们很好地传送到客户端设备。如果您使用 IIS 作为您的 Web 服务器,平滑流式处理确实需要 Microsoft a free plugin,如果您使用其他服务器,则需要 Microsoft 的等效服务器。然而,在当今世界,您几乎可以肯定地在任何地方使用 DASH 而不是 Smooth Streaming,从而缓解问题。
"streaming"这个词经常用在营销材料中,非常灵活且容易误导,所以我建议您避免使用它。将视频数据传送给播放器并没有什么特别之处——归根结底,它们是相对较大且重要的文件,但不需要特殊处理。