Chrome M94 で追加された以下のAPIを使ったTSのライブ再生用デモ実装
- WebCodecs
- Insertable Stream for MediaStreamTrack
mpgets.js と同じような構成で (max_delay はリップシンクのため 0 推奨, データストリームは入れない事を推奨)
(TSを受けたら ffmpeg.sh のようなオプションで変換、live.js のようなストリームをHTTPで返却する)
それをクライアント側で参照すると、TSを WebRTC と同レベルの低遅延で再生される
- TS の demux した PES パケットを WebCodecs で追加されたデコーダに渡すと VideoFrame/AudioFrame が手に入る
- Insertable Stream for MediaStreamTrack で追加された API に渡すと VideoFrame/AudioFrame が再生される
- MediaStreamTrack は timestamp での同期を取らないので、リップシンクは自分で合わせる必要がある
- 受信chunkが1フレームずつではない場合の平滑化を行うなら、独自に実装する必要がある