Короткий ответ: Мы не можем (на данный момент, но это в draft for 5.2, см. Комментарий).
Видеоэлемент будет декодировать только видео и аудиопотоки. Он поддерживает только < трек > для субтитров, которая заставляет извлекать субтитры в виде отдельного файла (VTT), или использовать ручной подход привязывая на currentTime
, которые открываются для более общих SRT файлов или JSON и т.д.
Другой опция - записать субтитры в отдельный видеофайл и разрешить пользователю переключаться между ними. Возможно, вам придется использовать Media Source Extensions для правильной синхронизации двух.
И хотя теоретически возможно вручную проанализировать файл динамически и «на лету», вам необходимо принять во внимание множество проблем, таких как буферизация, синхронизация, накладные расходы на пропускную способность, накладные расходы на производительность и т. Д. В конце концов, это не стоит ИМО.
Я много читал об этом, и мы не можем заставить webbrowser не поддерживать внутриполосный трек (что включено в HTML 5.2 - https://w3c.github.io/html/semantics-embedded-content. HTML # Sourcing-внутриполосный-текст-треки) –