使用 MP4Box (MPEG DASH) 创建的不同音频和视频片段的单一清单文件

Single Manifest file for different audio and video segments created using MP4Box (MPEG DASH)

我有三个问题

1) dash.js 是否支持在单个片段中多路复用音频和视频内容?

2) 如果不是如何将使用 MP4Box 创建的 audio.mpd 和 video.mpd 合并为单个 out.mpd,dash.js 播放器支持?

3) 如果 AdaptationSet 是从 audio.mpd 手动复制并放置在 video.mpd 中,并且 video.mpd 使用 dash.js 播放,则有效。如何实现自动化?

MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live -segment-name ./video/segment_ -out video.mpd video.mp4#video

MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live -segment-name ./audio/segment_ -out audio.mpd video.mp4#audio 

答案:

  1. 不,dash.js 故意不支持 muxed audio/video 片段。这是因为它是 DASH 行业论坛 (DASH IF) 的参考播放器。 DASH IF 发布互操作指南 http://dashif.org/guidelines/ 旨在简化和标准化 MPEG DASH 的部署。这些限制之一是不支持混合段。这是目前的状态。但是,在 dash.js 中,我们正在考虑添加一种操作模式,以便如果播放器在非参考播放器模式下运行,我们将允许混合播放和基于播放列表的寻址(另一个 IOP 限制)。这应该在 2.2 版本或更高版本中实现。

2+3:使用 mp4box 从名为 muxed.mp4 的多路复用源打包到多路分解片段,尝试

MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live -segment-name ./video/segment_ -out video.mpd muxed.mp4#video 混合。 mp4#音频

干杯

您可以使用 MP4Box 进行两次:

  1. MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live -segment-name ./video/v_ -out video.mpd muxed.mp4#audio muxed.mp4#video 创建视频片段
  2. MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live -segment-name ./video/v_ -out video.mpd muxed.mp4#video muxed.mp4#audio 创建音频片段
  3. 修改video.mpd 更改 video_init.mp4 和视频片段名称

就是这样。

为了使用 MP4Box 生成一个包含有关单独音频和视频片段的详细信息的 MPD 文件,只需删除 -segment-name 选项及其值。 所以您的命令应该看起来像这样

MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -profile dashavc264:live 
-url-template video.mp4 audio.mp4 -out manifest.mpd