1

rtmp を使用してストリームをサーバーにブロードキャストし、HLS を使用してビデオをデバイスにストリーミングしています。字幕をリアルタイムで更新できる字幕プロトコルはありますか。たとえば、サーバーに字幕ファイルがあり、そのファイルに書き込み続けることができ、プレーヤーもそのファイルから読み続けることができます。

WebVTT が録画されたストリーミング ビデオで機能することは知っていますが、ライブ ストリーミング ビデオでも機能しますか? プレーヤーを webVTT ファイルにリンクして、書き込みを続けることで字幕を更新することはできますか?

4

1 に答える 1

4

WebVTT を使用して、字幕をライブ HLS ストリームに追加できます。これは、ライブ字幕プレイリストを使用して行います。ライブ プレイリストと同じように機能します。時間の経過とともにエントリを追加および削除します。

最初にマスター プレイリストを作成し、字幕プレイリスト ( 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

等々。字幕プレイリストを更新するには、おそらくカスタム コードを作成する必要があります。

于 2016-09-22T09:42:03.993 に答える