3

我正在尝试使用 Bento4 和 Shaka Packager 使用分段 mp4 为 DASH 和 HLS 输出文件。

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

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

4

1 回答 1

5

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

于 2018-02-18T06:23:16.977 回答