重新加载页面后追加媒体源扩展

时间:2019-03-03 08:43:13

标签: javascript media-source

我正在编写一个网络研讨会平台,并在演示者的发言人客户端上使用MediaRecorder,在监听者客户端上使用Media Source Extensions。起始字节段包含有关视频的所有信息,后续字节段仅包含时间戳(https://www.w3.org/TR/media-source/#init-segment)。我确保视频从第一个客户端到第二个客户端的发送都没有失败。但是,当我在侦听器的客户端上刷新页面时,媒体流立即停止,因为没有开始段。有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要自己对流进行细分。

如果您使用的是WebM,只需将所有内容保持在第一个Cluster的开头,并将其视为初始化段。然后,您可以在具有关键帧的群集开始处在流中的任何位置进行拾取。

不幸的是,当您使用MediaRecorder进行录制时,您不会告诉浏览器在哪里插入关键帧。因此,您将不得不自己确定哪些集群具有关键帧,或者进行一些服务器端转码。除非您打算为所有客户端提供相同的比特率/编码,否则无论如何都可能需要后者。