You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MPEG-DASH trick mode适配集示例及maxPlayoutRate多层级配置问询

Great question! Let's break this down clearly based on DASH-IF's guidelines.

Trick Mode AdaptationSet Example

To support trick modes (like fast forward, rewind, or slow motion), you'll need dedicated Representations—these can live in a separate AdaptationSet (marked with contentType="trick" for clarity) or alongside your main playback streams. Here's a complete MPD snippet showing how to structure this:

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" mediaPresentationDuration="PT1H0M0S" minBufferTime="PT10S">
  <!-- Main video for normal playback -->
  <AdaptationSet mimeType="video/mp4" codecs="avc1.4D401E">
    <Representation id="1" bandwidth="500000" width="640" height="360" maxPlayoutRate="1.0">
      <BaseURL>video_360p.mp4</BaseURL>
    </Representation>
    <Representation id="2" bandwidth="1000000" width="1280" height="720" maxPlayoutRate="1.0">
      <BaseURL>video_720p.mp4</BaseURL>
    </Representation>
  </AdaptationSet>

  <!-- Trick mode video streams (fast forward/rewind) -->
  <AdaptationSet mimeType="video/mp4" codecs="avc1.4D401E" contentType="trick">
    <!-- 2x fast forward -->
    <Representation id="trick_2x" bandwidth="250000" width="640" height="360" maxPlayoutRate="2.0">
      <BaseURL>video_360p_2x.mp4</BaseURL>
    </Representation>
    <!-- 4x fast forward -->
    <Representation id="trick_4x" bandwidth="125000" width="640" height="360" maxPlayoutRate="4.0">
      <BaseURL>video_360p_4x.mp4</BaseURL>
    </Representation>
    <!-- 2x rewind -->
    <Representation id="trick_-2x" bandwidth="250000" width="640" height="360" maxPlayoutRate="-2.0">
      <BaseURL>video_360p_-2x.mp4</BaseURL>
    </Representation>
  </AdaptationSet>

  <!-- Audio: main + trick mode optimized -->
  <AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2">
    <Representation id="audio_main" bandwidth="128000" maxPlayoutRate="1.0">
      <BaseURL>audio_main.mp4</BaseURL>
    </Representation>
    <Representation id="audio_trick" bandwidth="64000" maxPlayoutRate="4.0">
      <BaseURL>audio_trick.mp4</BaseURL>
    </Representation>
  </AdaptationSet>
</MPD>

Key notes here:

  • The dedicated trick mode AdaptationSet uses contentType="trick" to signal its purpose to players.
  • Each trick Representation sets maxPlayoutRate to match its supported speed (positive for fast forward, negative for rewind).
  • Audio can also have trick mode-specific streams (e.g., lower bandwidth for faster playback).
Can Different Media Levels Have Different maxPlayoutRate Values?

Absolutely! DASH-IF explicitly allows setting unique maxPlayoutRate values per Representation, which is super useful if higher-resolution streams have lower supported playback speeds (due to codec profile/level limits) or if you want to optimize trick mode performance across quality levels.

To implement this, simply add the maxPlayoutRate attribute directly to each individual <Representation> element. Here's an example where different video resolutions have different speed limits:

<AdaptationSet mimeType="video/mp4" codecs="avc1.4D401E">
  <!-- 360p stream supports up to 4x playback -->
  <Representation id="360p" bandwidth="500000" width="640" height="360" maxPlayoutRate="4.0">
    <BaseURL>video_360p.mp4</BaseURL>
  </Representation>
  <!-- 720p stream supports up to 2x playback -->
  <Representation id="720p" bandwidth="1000000" width="1280" height="720" maxPlayoutRate="2.0">
    <BaseURL>video_720p.mp4</BaseURL>
  </Representation>
  <!-- 1080p stream only supports normal playback -->
  <Representation id="1080p" bandwidth="2000000" width="1920" height="1080" maxPlayoutRate="1.0">
    <BaseURL>video_1080p.mp4</BaseURL>
  </Representation>
</AdaptationSet>

Players will read these values to know which streams are compatible when the user adjusts playback speed—for example, if the user selects 4x speed, the player will switch to the 360p stream since it's the only one that supports that rate.

内容的提问来源于stack exchange,提问作者John Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:12:01