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

时间:2016-03-02 12:00:08

标签: ffmpeg mpeg-dash dash.js mp4box

我有三个问题

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

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

3)如果从audio.mpd手动复制AdaptationSet并将其置于video.mpd并使用dash.js播放video.mpd,则此方法有效。如何实现自动化?

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 

3 个答案:

答案 0 :(得分:1)

数目:

  1. 不,dash.js意图不支持多路复用音频/视频片段。这是因为它是DASH行业论坛(DASH IF)的参考参与者。 DASH IF发布了互操作指南http://dashif.org/guidelines/,旨在简化和标准化MPEG DASH的部署。其中一个限制是不支持多路复用段。这是目前的状态。但是,在dash.js中我们正在考虑添加一种操作模式,这样如果播放器在非参考播放器模式下运行,我们将允许多路复用播放和基于播放列表的寻址(另一个IOP限制)。这应该在2.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 muxed.mp4 #audio

    干杯

    威尔

答案 1 :(得分:0)

您可以使用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&视频片段名称
  4. 就是这样。

答案 2 :(得分:0)

为了使用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