0

帮助。我不会显示比特率。
player.getBitrateInfoListFor("视频"); 仅显示一种比特率 - 454948

GPAC 生成的 manifest.mpd

 <Period duration="PT0H21M48.338S">
  <AdaptationSet segmentAlignment="true" group="1" maxWidth="270" maxHeight="480" maxFrameRate="2070000/93437" par="270:480" lang="und">
   <Representation id="1" mimeType="video/mp4" codecs="avc3.640015" width="270" height="480" frameRate="2070000/93437" sar="1:1" startWithSAP="1" bandwidth="454948">
    <SegmentTemplate media="480_bbb/segment__track1_$Number$.m4s" timescale="2070000" startNumber="1" duration="8280000" initialization="480_bbb/segment__track1_init.mp4"/>
   </Representation>
  </AdaptationSet>
  <AdaptationSet segmentAlignment="true" group="1" maxWidth="202" maxHeight="360" maxFrameRate="2070000/93437" par="202:360" lang="und">
   <Representation id="2" mimeType="video/mp4" codecs="avc3.64000D" width="202" height="360" frameRate="2070000/93437" sar="1:1" startWithSAP="1" bandwidth="281508">
    <SegmentTemplate media="360_bbb/segment__track1_$Number$.m4s" timescale="2070000" startNumber="1" duration="8280000" initialization="360_bbb/segment__track1_init.mp4"/>
   </Representation>
  </AdaptationSet>
  <AdaptationSet segmentAlignment="true" group="1" maxWidth="134" maxHeight="240" maxFrameRate="2070000/93437" par="134:240" lang="und">
   <Representation id="3" mimeType="video/mp4" codecs="avc3.64000B" width="134" height="240" frameRate="2070000/93437" sar="1:1" startWithSAP="1" bandwidth="182832">
    <SegmentTemplate media="240_bbb/segment__track1_$Number$.m4s" timescale="2070000" startNumber="1" duration="8280000" initialization="240_bbb/segment__track1_init.mp4"/>
   </Representation>
  </AdaptationSet>
  <AdaptationSet segmentAlignment="true" group="1" maxWidth="80" maxHeight="144" maxFrameRate="2070000/93437" par="80:144" lang="und">
   <Representation id="4" mimeType="video/mp4" codecs="avc3.640009" width="80" height="144" frameRate="2070000/93437" sar="1:1" startWithSAP="1" bandwidth="99667">
    <SegmentTemplate media="144_bbb/segment__track1_$Number$.m4s" timescale="2070000" startNumber="1" duration="8280000" initialization="144_bbb/segment__track1_init.mp4"/>
   </Representation>
  </AdaptationSet>
  <AdaptationSet segmentAlignment="true" lang="und">
   <Representation id="5" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" bandwidth="66056">
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"/>
    <SegmentTemplate media="audio_bbb/segment__track2_$Number$.m4s" timescale="48000" startNumber="1" duration="192000" initialization="audio_bbb/segment__track2_init.mp4"/>
   </Representation>
  </AdaptationSet>
 </Period>
</MPD>

player.getBitrateInfoListFor("视频"); 仅显示一种比特率 - 454948

4

2 回答 2

1

假设视频表示是相同内容的可互换版本,它们都应该在单个 AdaptationSet 中,以便客户端知道它可以在它们之间动态切换。

正如您目前拥有的那样,客户端将在启动时选择最合适的 AdaptationSet(可能是第一个,因为没有其他指标)并正确确定只有一个比特率可用。

于 2018-06-28T07:04:03.510 回答
0

您的 MPD 文件显示所有视频都在单独的适配集中。

问题在于您用于在 MP4Box 中分割视频的命令。使用 MP4Box 分割视频时,您必须设置“配置文件”参数。

-profile NAME 指定目标 DASH 配置文件:onDemand、live、main、simple、full 以及来自 DASH-IF 的两个配置文件:dashavc264:live、dashavc264:onDemand。这将设置默认选项值以确保符合所需的配置文件。

MP4Box 命令使用 onDemand 配置文件分割视频:

MP4Box -dash 4000 -frag 4000 -rap -profile onDemand -segment-name %s/segment_ -url-template -out manifest.mpd video144.mp4#video video240.mp4#video video360.mp4#video video480.mp4#video audio.mp4#audio

资料来源:GPAC 在 MP4Box 中的 DASH 支持

于 2018-08-13T02:24:09.530 回答