ChromeCast Parse сегментированный TTML
Hy!
У меня есть файл ism с Smooth Streaming и PlayReady. Этот ism содержит заголовок в сегментированном формате ttml.
Но у этого ttml есть символ новой строки, например: p8:br Как я могу его проанализировать и заменить эти символы на /n (или что-нибудь, что может обрабатывать Google ChromeCast)?
Так что я вижу субтитры в 2 строки вместо одной.
Я знаю, что могу получить информацию о потоке с помощью protocol.getStreamInfo(index), но что я могу сделать после этого?
ОБНОВЛЕНИЕ № 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>
В последней строке примера устройство не может распознать символы и показать субтитры следующим образом:
Cukornádföldön voltam.Akkor kapott el, mikor egyedül voltam.
Вместо
Cukornádföldön Voltam.
Аккор капот эль, микор егедюль вольтам.
Поэтому я хотел бы сделать некоторые аналогичные операции с помощью ChromeCast API. Но было бы проще просто поменять символы, потому что ChromeCast прекрасно справляется с синхронизацией.
Большое спасибо!
2 ответа
В библиотеке Media Player скоро будет исправлена ошибка; это должно решить эту проблему пространства имен. Я обновлю этот пост, когда будет выпущено исправление.
Я проверил это в Engineering, и библиотека Media Player преобразует br в новые строки, мы игнорируем пространство имен.
Если у вас есть образцы, у которых есть проблемы, отправьте их нам.