Поддерживает ли Chromecast TTML?

Документы для разработчиков Chromecast говорят, что и WebVTT, и TTML являются поддерживаемыми типами мультимедиа: https://developers.google.com/cast/supported_media_types


Я вижу подписи при использовании файла WebVTT в теге "track" внутри элемента видео:

<video id="vid" src="http://myurl">
    <track kind="captions" src="http://10.16.236.23/test.vtt" srclang="en" label="English" default>
</video>

Но когда я пытаюсь сделать то же самое, используя правильный файл TTML, я не вижу подписи:

<video id="vid" src="http://myurl">
    <track kind="captions" src="test.ttml" srclang="en" label="English" default>
</video>


Когда я проверяю элемент video в консоли отладчика, для примера WebVTT я вижу

document.getElementById('vid').textTracks[0].cues.length;

16

но для TTML:

document.getElementById('vid').textTracks[0].cues.length;

0


Я на правильном пути с этим или TTML поддерживается по-другому? Может быть, мой синтаксис TTML не поддерживается Chromecast?

2 ответа

В отличие от webVTT, TTML изначально не поддерживается. Если вам нужно поддерживать это в вашем приложении, вы можете просто написать анализатор Javascript для анализа файла и добавить подсказки к вашему элементу видео в javascript, используя такие методы, как addTextTrack() и т. Д.

В соответствии с API-интерфейсом Cast Player, Chromecast теперь поддерживает форматы титров WebVTT, TTML1 и CEA-608 (подписи строки 21). Просто пройдите в CaptionsType enum для вашего формата подписи в плеере enableCaptions() метод.

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