Вы можете использовать WebVTT до add subtitles to a live HLS stream. Вы делаете это, используя живой список субтитров. Он работает так же, как живой плейлист - вы добавляете и удаляете записи из него с течением времени.
Сначала создайте главный плейлист и добавьте ссылку на ваш список воспроизведения субтитров (subtitles.m3u8
). Вот пример (упрощенный):
#EXTM3U
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",URI="subtitles.m3u8",LANGUAGE="en"
#EXT-X-STREAM-INF:BANDWIDTH=500000,RESOLUTION=1920x1080,SUBTITLES="subs"
prog_index.m3u8
Следующий шаг - обновление плейлиста субтитров во время прямой трансляции. Допустим, что ваш плейлист подзаголовке выглядит следующим образом изначально:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:10,
1.webvtt
#EXTINF:10,
2.webvtt
#EXTINF:10,
3.webvtt
Обратите внимание, что #EXT-X-ENDLIST
отсутствует тег из списка воспроизведения. Это приведет к тому, что плеер сохранит список воспроизведения.
Затем через некоторое время (длительность сегмента) будет выглядеть следующим образом:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:2
#EXTINF:10,
2.webvtt
#EXTINF:10,
3.webvtt
#EXTINF:10,
4.webvtt
И так далее. Вероятно, вам придется написать какой-то пользовательский код для обновления списка воспроизведения субтитров.
спасибо! Это должно быть действительно полезно для других, у кого такая же проблема, но, к сожалению, у меня нет доступа к записи в файл m3u8, я должен искать другие решения. – ywj7931