首页 > 解决方案 > 重新加载页面后附加媒体源扩展

问题描述

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

标签: javascriptmedia-source

解决方案


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

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

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


推荐阅读