mpeg-dash(通常为 .m4s)片段的格式是什么?

mpeg-dash(通常为 .m4s)片段的格式是什么?

我是多媒体编程的新手,我正在尝试通过单独解析数据包从传输流缓冲区中生成实时 mpeg-dash 内容。

我想创建 .m4s 片段,但我对它们的结构感到困惑。

换句话说,如果我们组合多个片段,我们会产生 mpeg 传输流、mpeg 程序流还是单独的基本流?

答案1

MPEG-2 传输流MPEG-DASH段是不同的,前者是针对不可靠网络上的视听内容分组传输的规范,而后者是针对可靠 HTTP 上的传输的规范,因此概念上有些不同。

与 MPEG-TS 相比,有不同的方法来准备 MPEG-DASH 传输的媒体。.m4s文件是一种选择 - 事实上,MPEG-TS 是另一种选择。

.m4s文件是完整文件的独立媒体片段。它们位于ISO 基础媒体文件 (ISOBMFF) 格式。这个想法是将一个较长的文件(例如,将一部电影视为一个编码.mp4文件)分割成可以通过 HTTP 独立下载的单个文件。

如果您连接多个.m4s片段,您将再次获得一个完整的可播放文件——媒体片段本身不能单独播放,因为它们需要先解码第一个初始化片段。请阅读链接的规范以获取更多信息。您还可以找到有关该主题的一些较旧的信息来自GPAC

您可以选择将视频和音频轨道合并到一个文件中,但通常对于 HTTP 自适应流,音频和视频在单独的流中传输。

在您的具体情况下,如果您有现有的 MPEG-TS 内容并希望将其重新混合到 ISOBMFF 段中,便当4如果你想通过编程来实现这一点,那么它可能是一个很好的框架。此外,dashcast程序可以接受任何输入并创建实时 DASH 输出流。

相关内容