使用 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
答案:
- 不,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 进行两次:
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
创建视频片段
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
创建音频片段
- 修改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
我有三个问题
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
答案:
- 不,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 进行两次:
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
创建视频片段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
创建音频片段- 修改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