我正在编写一个网络研讨会平台,并在演讲者的扬声器客户端上使用MediaRecorder,在听众客户端上使用媒体源扩展。初始字节段包含视频的所有信息,后续字节段仅包含时间戳(https://www.w3.org/TR/media-source/#init-segment)。我确保视频从第一个客户端发送到第二个客户端时没有失败。但是,当我刷新监听器客户端上的页面时,媒体流立即停止,因为没有开始段。有人能告诉我如何解决这个问题吗?
发布于 2019-03-04 03:53:18
您需要自己对流进行分段。
如果您使用的是WebM,只需将所有内容保存到第一个Cluster的开头,并将其视为初始化段。然后,您可以在具有关键帧的簇的开头拾取流中的任何位置。
不幸的是,当您使用MediaRecorder进行录制时,您无法告诉浏览器在何处插入关键帧。所以,你要么自己决定哪些集群有关键帧,要么做一些服务器端的代码转换。后者可能无论如何都是必需的,除非您计划为所有客户端提供相同的比特率/编码。
https://stackoverflow.com/questions/54967053
复制相似问题