0

wowza 服务器上 mpeg dash 的自适应链接不适用于我,以下是我用来在 wowza 上发布视频的步骤:

  1. 我安装并配置了 Wowza 服务器,并对其进行了测试,它运行良好。
  2. 使用ffmepg对该视频进行转码(我从wowza 文档中带来了这些命令)

  3. 我测试了这些文件,所有这些文件都可以正常工作,然后我将这些文件移动到 wowza 内容文件夹并创建 smil 文件,如下所示:

在此处输入图像描述

<?xml version="1.0" encoding="UTF-8"?>
<smil title="sintel">
  <body>
    <switch>
      <video width="320"  height="180" src="sintel_320p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="200000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="640"  height="360" src="sintel_640p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="520000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="320"  height="180" src="sintel_400p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="270000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="420"  height="270" src="sintel_700p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="570000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="720" height="406" src="sintel_1100p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="1000000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="1024" height="576" src="sintel_1300p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="1200000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
      <video width="1080" height="608" src="sintel_1500p.mp4" systemLanguage="eng" >
        <param name="videoBitrate" value="1400000" valuetype="data"></param>
        <param name="audioBitrate" value="44100" valuetype="data"></param>
      </video>
    </switch>
  </body>
</smil>
  1. 我使用 mpd 文件(http://191.237.26.137:1935/vod/smil:sintel.smil/manifest.mpd)和http://www.jwplayer.com/innovation/roadmap/mpeg-dash/

结果:视频在前几秒停止

在此处输入图像描述

4

1 回答 1

1

从您的描述看来,文件之间存在关键帧对齐问题。为了顺利进行切换,每个再现都必须与关键帧对齐,这意味着在一个文件中的特定时间码处出现的关键帧也必须在所有其他文件中的相同时间码处出现。Dash 的默认选项是请求根据关键帧时间码创建和命名视频片段。如果播放器切换到没有请求的特定片段的再现(因为它的关键帧计时已关闭),那么它将失败并返回 404 响应。

Wowza 服务器根据媒体文件中的 moov atom 数据动态构建 HTTP 清单。在具有自适应比特率清单的情况下,它只从第一个文件中读取数据,并期望其他文件中的数据相同。默认文件可以正常播放,因为这是数据来自的文件,而单个文件可以正常播放,因为在请求每个文件时都会从文件中提取新数据。

基于 ID 的分段(其中分段包含多个关键帧并按顺序编号,例如与 HLS 或 HDS 一起使用)不太容易受到对齐问题的影响,但是,如果它切换到不同的再现,您可能会注意到流向前或向后跳跃新块中的时间码与旧块不对齐。通过更改清单 url,可以将 Mpeg Dash 配置为使用基于 ID 的分段。有关详细信息,请参阅交付格式。

Ffmpeg 可以通过禁用场景检测或执行两遍编码并为每一第二遍使用相同的第一遍日志来创建对齐的编码。

于 2015-09-10T04:50:14.797 回答