Ffmpeg MPEG短跑-我是否需要将音频和视频曲目作为单独的源文件,以便使用mp4box创建短跑包

Ffmpeg MPEG短跑-我是否需要将音频和视频曲目作为单独的源文件,以便使用mp4box创建短跑包,ffmpeg,mpeg,mpeg-dash,Ffmpeg,Mpeg,Mpeg Dash,我有一个源mp4,我试图通过GPAC使用mp4box创建MPEG DASH包。 我能够通过GPAC在OSMO4播放器中播放输出MPD文件 但是我不能在DASH JS player中玩同样的游戏@ 当我尝试在其中播放mpd时,我得到错误“创建源缓冲区时出错” 我试着阅读他们的MPD文件,我发现那些家伙使用音频和视频作为独立的源曲目 问题1)仪表盘规格是否规定音频和视频曲目应为源曲目 问题2)请在下面找到我创建的MPD文件,如果有人认为其中存在问题,请告诉我 <MPD type="static

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

但是我不能在DASH JS player中玩同样的游戏@

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

我试着阅读他们的MPD文件,我发现那些家伙使用音频和视频作为独立的源曲目

问题1)仪表盘规格是否规定音频和视频曲目应为源曲目

问题2)请在下面找到我创建的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>

使用GPAC生成的文件flight_3000.mp4的媒体演示说明
仪表板规格是否规定音频和视频曲目应为单独的源曲目

Mpeg Dash规范对此没有限制:您可以在同一段中多路传输视频和音频,也可以在两个文件中分离它们。 这两个选项在mp4box中都是可能的,您只需在使用mp4box对它们进行破折号之前使用ffmpeg将它们分开即可

请在下面找到我创建的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>
你的mpd看起来不错。DASH-IF播放器目前官方只支持onDemand和Live配置文件,因此您可能应该尝试将MP4BOX的-profile选项从full更改为onDemand。
更多信息可在Github Wiki上获得:

DASH-IF播放器以DASH-264规范为目标,建议使用多路分离流(单独的音频和视频曲目)。然而,您可能会发现,您的mpd在IE11中播放,但在Chrome中失败

如果您没有被迫使用MP4Box,您可以免费试用。我能够创建可以使用DASH.js播放的DASH内容