在播放器中使用 HLS 和 DASH + DRM 的推荐方法是什么?

use*_*937 1 drm fairplay http-live-streaming video.js mpeg-dash

我正在使用 VideoJS 播放器并有一个 CMAF 视频,所以我使用的是 HLS 和 DASH。我也在使用所有 3 种类型的 DRM。Fairplay 适合 hls、widevine 和 playready 适合冲刺。

我的问题是我是否应该在播放器中同时包含 hls 和 dash 源,并让玩家决定播放哪一个?或者我是否检测浏览器并仅基于此插入正确的网址?DRM也是一样的。我可以将所有 DRM 添加到播放器吗?或者我应该只添加适用的一项?

Mic*_*ick 5

HLS 与 DASH 的使用通常由终端设备和客户端功能和规则决定。

iOS 和 Safari 通常使用 HLS 和 FairPlay,Android、Firefox 和 Chrome 使用 DASH 和 Widevine,Windows 和 Edge 使用 DASH 和 PlayReady。

请注意,Widevine 和 PlayReady 可以使用相同的 DASH 流 - CENC,通用加密标准,允许相同的流包含 Widevine 和 PlayReady DRM 信息。

目前,Apple iOS 设备必须对移动网络上超过 10 分钟的内容使用 HLS:

2.5.7 蜂窝网络上超过 10 分钟的视频流内容必须使用 HTTP Live Streaming 并包括基线 192 kbps HTTP Live 流。

( https://developer.apple.com/app-store/review/guidelines/ )

出于这个原因,提供给 Apple 设备的流通常是 HLS,而 DASH 用于其他设备。

CMAF 允许对 HLS 和 DASH 使用相同的分段媒体流,从而大大减少了这种影响,只有“索引”或清单文件特定于每个协议。

对于加密内容,它有点复杂。此时,FairPlay 使用与使用 AES-CTR 的 Widevine 和 PlayReady 不同的 AES 加密模式 AES CBC。这意味着您仍然需要媒体的两个副本来提供加密的内容流。

随着 Widevine 和 PlayReady 现在宣布支持 AES-CBC 和 AES-CTR,这种情况正在发生变化,但要推广到已部署的设备还需要一些时间。