0
我正在使用rtmp向服務器廣播流並使用HLS將視頻流式傳輸到我的設備。 是否有字幕協議,我可以實時更新字幕,例如, 例如,在服務器中有一個字幕文件,我可以保持寫入該文件,我的播放器也可以保持讀取該文件。HLS直播字幕?
我知道WebVTT適用於錄製的流媒體視頻,但它可以用於直播視頻嗎?我可以將我的播放器鏈接到webVTT文件嗎?我可以通過寫下來更新字幕嗎?
我正在使用rtmp向服務器廣播流並使用HLS將視頻流式傳輸到我的設備。 是否有字幕協議,我可以實時更新字幕,例如, 例如,在服務器中有一個字幕文件,我可以保持寫入該文件,我的播放器也可以保持讀取該文件。HLS直播字幕?
我知道WebVTT適用於錄製的流媒體視頻,但它可以用於直播視頻嗎?我可以將我的播放器鏈接到webVTT文件嗎?我可以通過寫下來更新字幕嗎?
您可以使用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