DASH 和 HLS 点播的 mp4 碎片与实时配置文件

edw*_*ord 3 http-live-streaming bento mpeg-dash shaka

我正在尝试使用 Bento4 和 Shaka Packager 使用碎片 mp4 输出 DASH 和 HLS 文件。

我在理解 MPEG-DASH Live 和点播配置文件之间的差异和优缺点时遇到了一些困难。如果我正在流式传输实时广播内容,我会使用实时配置文件,但对于静态点播视频,我似乎可以使用点播或实时配置文件。每个配置文件以完全不同的文件格式和文件夹结构输出文件,按需输出包含 .mp4 文件的平面文件夹结构,实时输出包含 m4s 文件的嵌套文件夹结构。

对于不会现场直播的静态视频内容(例如浏览器支持、功效等),是否建议使用一种配置文件而不是另一种配置文件?如果是,为什么?

小智 6

“实时”配置文件有点用词不当,因为它与实时流媒体并没有真正的关系。主要区别在于,对于点播配置文件,服务器托管大型平面文件,每个文件有许多段(其中段是媒体资产的一小部分,如音频或视频,通常每个 2 到 10 秒),包括段在文件中的位置的索引。然后由流媒体客户端通过执行 HTTP“范围”请求来访问媒体资产的各个部分来逐个访问片段。对于“实时”配置文件,段不会作为平面资源中的范围进行访问,而是作为每个段的单独资源(每个段有一个单独的 URL)进行访问。这并不一定意味着 HTTP 服务器需要将段放在单独的文件中,但它需要能够将每个段 URL 映射到其相应的媒体,方法是通过在平面文件的索引中执行自身查找,或者通过将每个段放在单独的文件中,或通过任何其他方式。因此,由服务器来完成繁重的工作(与“按需”配置文件相反,在“按需”配置文件中,由播放器/客户端执行此操作。使用像 Bento4 这样的打包程序,如果没有对 HTTP 服务器做出特殊假设,那么将服务器媒体,“实时”配置文件的默认模式是将每个片段存储在单独的文件中,以便任何现成的 HTTP 服务器可以提供流服务。因此,为了简单起见,如果您的播放器支持按需配置文件,这是一种更容易选择的配置文件,因为您的文件较少。