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 в новые строки, мы игнорируем пространство имен.

Если у вас есть образцы, у которых есть проблемы, отправьте их нам.

Другие вопросы по тегам