0

我创建了一个自定义 CAF 接收器,用于播放使用 Widewine 加密的 MPEG-DASH 内容。我的内容还嵌入了可以动态更改的清单中的 TTML 字幕。

播放我的加密内容就像一种魅力——甚至比在 V2 接收器上更好。我什至可以在不同的字幕之间进行选择。

但是,字幕的定位很差。它们不在播放器的中心,有时它们在球杆中间被切断(参见我的附图)。

我可以看出 CAF 接收器使用 shaka-player,据我所知,它可以处理字幕本身的解析 - https://github.com/google/shaka-player/tree/master/lib/text

据我从 CAF 接收器文档中得知,无法操纵接收器上的字幕位置。它们没有添加到 DOM 或任何东西中,所以你不能用 css 破解它。您唯一能做的就是在TextTrackStyle上设置 a TextTracksManager,它只允许设置颜色等。您没有其他选择textAlign或类似的选择。

我的问题:

  • 这是 CAF 接收器/shaka 播放器中的已知错误吗?
  • 有没有其他人有类似的问题?如果是这样,您是否设法修复它?

任何帮助是极大的赞赏!

示例 1

切断字幕

ttml 示例:

    <tt xmlns="http://www.w3.org/ns/ttml" 
    xmlns:tt="http://www.w3.org/ns/ttml" 
    xmlns:ttm="http://www.w3.org/ns/ttml#metadata" 
    xmlns:tts="http://www.w3.org/ns/ttml#styling" 
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter" 
    xmlns:ebutts="urn:ebu:tt:style" xmlns:ebuttm="urn:ebu:tt:metadata" 
    xml:lang="" ttp:timeBase="media">
    <head>
    <metadata>
      <ebuttm:documentMetadata>
        <ebuttm:conformsToStandard>urn:ebu:tt:distribution:2014-01</ebuttm:conformsToStandard>
      </ebuttm:documentMetadata>
    </metadata>
    <styling>
      <style xml:id="Style0_0" tts:fontFamily="proportionalSansSerif" tts:backgroundColor="#00000099" tts:color="#FFFF00" tts:fontSize="100%" tts:lineHeight="normal" ebutts:linePadding="0.5c" />
      <style xml:id="textAlignment_0" tts:textAlign="center" />
    </styling>
    <layout>
      <region xml:id="Region" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" />
    </layout>
  </head>
  <body>
    <div>
      <p region="Region" style="textAlignment_0" begin="114:24:22.120" end="114:24:24.120" xml:id="sub_0">
        <span style="Style0_0">Das hat sich im Grunde</span>
        <br />
        <span style="Style0_0">aus dem Spiel des Seins so ergeben.</span>
      </p>
    </div>
  </body>
</tt>
4

1 回答 1

2

原来这是一个与在 Chrome 上的 shaka-player 中使用 VTTRegion 相关的错误,该错误已在 v2.2.9 和 v2.3.0 中修复。CAF 接收器当前加载 v2.2.1。

https://github.com/google/shaka-player/issues/1188

在 Google 更新 CAF 接收器以使用更新版本的播放器之前,您要么必须忍受放错位置的字幕,要么进行破解以覆盖接收器上加载的播放器版本。

于 2018-01-12T12:52:38.213 回答