我使用rtmp将流广播到服务器,并使用HLS将视频流式传输到我的设备。有没有一个字幕协议,我可以实时更新字幕,例如,在服务器上有一个字幕文件,我可以保持写入该文件,我的播放器也可以保持读取该文件。
我知道WebVTT适用于录制的流媒体视频,但它是否适用于直播流媒体视频?我是否可以将我的播放器链接到webVTT文件,并且我可以通过继续写入来更新字幕?
发布于 2016-09-22 17:42:04
您可以使用WebVTT to 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诸若此类。您可能需要编写一些自定义代码来更新字幕播放列表。
https://stackoverflow.com/questions/39631349
复制相似问题