ChromeCast 解析分段 TTML
Posted
技术标签:
【中文标题】ChromeCast 解析分段 TTML【英文标题】:ChromeCast Parse Segmented TTML 【发布时间】:2014-03-10 18:44:42 【问题描述】:喂!
我有一个带有 Smooth Streaming 和 PlayReady 的 ism 文件。 这个ism包含分段ttml格式的标题。
但是这个 ttml 有一个换行符,例如:p8:br 如何解析它并将这些字符替换为 /n(或 Google ChromeCast 可以处理的任何内容)?
所以我可以看到 2 行而不是 1 行的字幕。
我知道我可以使用protocol.getStreamInfo(index) 获取streaminfo,但是之后我可以做什么?
更新 #1
我们为其他平台做一个应用程序,方法如下。 ttml 变量包含电影的标题。
ttml = ttml.Replace("<p7:br />", "\n");
ttml = ttml.Replace("<p8:br />", "\n");
ttml = ttml.Replace("<p7:br/>", "\n");
ttml = ttml.Replace("<p8:br/>", "\n");
ttml = ttml.Replace("<br />", "\n");
ttml = ttml.Replace("<br/>", "\n");
换行符替换为“\n”后,应用程序开始显示当前文本取决于时间(例如,电影底部有一个标签。)
更新 #2
这是来自 dfxp 的示例:
<p p7:region="speaker" p7:begin="00:04:31:21" p7:end="00:04:37:22" xmlns:p7="http://www.w3.org/2006/10/ttaf1">Talán mert nem vagy olyan okos?<p7:br />Mert lassú a felfogásod?</p>
<p p7:region="speaker" p7:begin="00:04:38:23" p7:end="00:04:42:11" xmlns:p7="http://www.w3.org/2006/10/ttaf1">Eressz, különben<p7:br />nem állok jót magamért.</p>
<p p7:region="speaker" p7:begin="00:04:52:17" p7:end="00:04:55:10" xmlns:p7="http://www.w3.org/2006/10/ttaf1">Mesélj a nagypapáról.</p>
<p p7:region="speaker" p7:begin="00:05:08:18" p7:end="00:05:14:12" xmlns:p7="http://www.w3.org/2006/10/ttaf1">A cukornádföldön voltam.<p7:br />Akkor kapott el, mikor egyedül voltam.</p>
在示例的最后一行,设备无法识别字符并显示字幕如下:
a cukornádföldön voltam.Akkor kapott el, mikor egyedül voltam。
代替
a cukornádföldön voltam。
Akkor kapott el,mikor egyedül voltam。
所以我想借助 ChromeCast API 做一些类似的操作。但这只是简单地更改字符会更容易,因为 ChromeCast 可以完美地处理时间。
非常感谢!
【问题讨论】:
【参考方案1】:媒体播放器库中有一个错误即将修复;这应该解决这个命名空间问题。修复发布后我会更新这篇文章。
【讨论】:
谢谢 Les Vogel 和 Ali Naddaf!我期待听到这个修复! 修复现在可用;请查看我们开发者网站上的发行说明以查看该库的新网址。【参考方案2】:我与工程部门核实了这一点,Media Player Library 正在将 br 转换为换行符,我们忽略了命名空间。
如果您有一些有问题的样品,请发送给我们。
【讨论】:
我明白了。但我的问题是我的分段 ttml 标题在清单文件中,换行符是“p8:br”。您说媒体播放器库将“br”转换为换行符,但首先我必须将“p8:br”转换为媒体播放器库所需的“br”。 是封闭的吗? 还是只是 p8:br ??有人告诉我,我们没有查看 p8: 命名空间。 (当然可能有错误) 我更新了我的问题。有没有办法查看更多的命名空间?在这种情况下,我们不必编写解析器来显示标题。 我们真的需要一个例子来为我们提供整个 vtt 段。 l e s v (at) g... 有人问我什么是 p7 和 p8 命名空间?我们找不到他们。以上是关于ChromeCast 解析分段 TTML的主要内容,如果未能解决你的问题,请参考以下文章
Flutter CupertinoSlidingSegmentedControl 分段组件使用解析