1

我有一个源 mp4,我尝试使用 GPAC 的 mp4box 创建 MPEG DASH 包。我可以通过 GPAC 在 OSMO4 播放器中播放输出 MPD 文件。

但是我无法在 DASH JS 播放器 @ http://dashif.org/reference/players/javascript/0.2.3/index.html中玩同样的游戏

当我尝试在其中播放 mpd 时出现错误“创建源缓冲区时出错”

我尝试阅读他们的 MPD 文件,我发现那些人正在使用音频和视频作为单独的源轨道。

问题 1) DASH 规范是否规定音频和视频轨道应该是单独的源轨道?

Ques2) 请在下面找到我创建的 MPD 文件,如果有人认为其中有问题,请告诉我

<MPD type="static" xmlns="urn:mpeg:DASH:schema:MPD:2011"    profiles="urn:mpeg:dash:profile:full:2011" minBufferTime="PT1.5S" mediaPresentationDuration="PT0H2M31.63S">
<ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
<Title>Media Presentation Description for file flight_3000.mp4 generated with GPAC </Title>
</ProgramInformation>
 <Period start="PT0S" duration="PT0H2M31.63S">
  <AdaptationSet>
<ContentComponent id="1" contentType="video"/>
<ContentComponent id="2" contentType="audio" lang="und"/>
<SegmentTemplate initialization="flight_init.mp4"/>
<Representation id="1" mimeType="video/mp4" codecs="avc1.64001f,mp4a.40.02" width="1280" height="720" sampleRate="44100" numChannels="2" lang="und" startWithSAP="1" bandwidth="3096320">
<SegmentTemplate timescale="1000" duration="20164" media="flight_test_flight_3000$Number$.mp4" startNumber="1"/>
</Representation>
<Representation id="2" mimeType="video/mp4" codecs="avc1.64001e,mp4a.40.02" width="640" height="360" sampleRate="44100" numChannels="2" lang="und" startWithSAP="1" bandwidth="1119428">
<SegmentTemplate timescale="1000" duration="20099" media="flight_test_flight_1000$Number$.mp4" startNumber="1"/>
</Representation>
<Representation id="3" mimeType="video/mp4" codecs="avc1.640014,mp4a.40.02" width="320" height="180" sampleRate="44100" numChannels="2" lang="und" startWithSAP="1" bandwidth="722208">
<SegmentTemplate timescale="1000" duration="20164" media="flight_test_flight_600$Number$.mp4" startNumber="1"/>
</Representation>
</AdaptationSet>
</Period> 
</MPD>
4

3 回答 3

3

DASH 规范是否规定音频和视频轨道应该是单独的源轨道?

Mpeg-Dash 规范对此没有限制:您可以将视频和音频多路复用在同一段中,也可以将它们分成两个文件。mp4box 可以使用这两个选项,您只需使用 ffmpeg 将它们分开,然后再使用 mp4box 将它们破折号。

请在下面找到我创建的 MPD 文件,如果有人认为其中有问题,请告诉我

您的 mpd 似乎还可以。DASH-IF 播放器目前官方只支持 onDemand 和 Live 配置文件,所以也许你应该尝试将 MP4BOX 的 -profile 选项从 full 更改为 onDemand。更多信息可以在他们的 Github Wiki 上找到:https ://github.com/Dash-Industry-Forum/dash.js/wiki

于 2013-10-03T08:38:42.157 回答
0

如果你不是被迫使用 MP4Box,你可以试试www.bitcodin.com的免费版本。我能够创建可以使用 dash.js 播放的 DASH 内容

于 2015-03-04T13:14:32.390 回答
0

DASH-IF 播放器以 DASH-264 规范为目标,这建议使用解复用流(单独的音频和视频轨道)。但是,您可能会发现您的 mpd 在 IE11 中播放,但在 Chrome 中失败。

于 2013-11-26T14:51:29.447 回答