MediaRecorder、字幕和副标题

MediaRecorder, captions, and subtitles

是否可以使用 MediaRecorder 将 WebVTT 轨道(或任何其他类型的字幕轨道)与音频和视频轨道一起混合到输出流中?

WebM supports a WebVTT track. There is a W3C doc from 2012 简要提到了字幕轨道的可能性。

今天 in-band 支持字幕吗?如果可以,我该如何使用它?

您对 2012 年 3 月 6 日 W3C 工作草案的 link 具有以下内容。

While not directly applicable to local media stream scenarios (caption support is generally done out-of-band from the original capture), it could be something worth adding in order to integrate with HTML5 videos when the source is a PeerConnection where real-time captioning is being performed and needs to be displayed.

https://www.w3.org/TR/capture-scenarios/#caption-tracks

这确实提到了它的可能性,但这意味着它没有实现,据我所知,它一直没有实现。

很难证明是否定的。那就是说,请在接受这个作为答案之前给这个几天时间,以防我弄错了。

由于 TextTrack 被添加到 videoElement,您最好的选择是使用 videoElement.captureStream() 方法,但它目前不包含 TextTracks。

关于 Media Capture from DOM Elements 的规格仅说明,

Both MediaStream and HTMLMediaElement expose the concept of a "track". Since there is no common type used for HTMLMediaElement, this document uses the term track to refer to either VideoTrack or AudioTrack.

所以我们可以说它没有谈到 TextTracks...

MediaStream.addTrack 只能处理 MediaStreamTracks,所以也不行。

不幸的是,这会导致 失败。 (至少目前 - 规格可能会在未来添加它,我想你可以 open an issue here 关于它)。

A small playground