javascript - 重新加载页面后附加媒体源扩展
问题描述
我正在编写一个网络研讨会平台,并在演示者的扬声器客户端上使用 MediaRecorder,在听众客户端上使用 Media Source Extensions。初始字节段包含有关视频的所有信息,后续字节段仅包含时间戳(https://www.w3.org/TR/media-source/#init-segment)。我确保视频从第一个客户端发送到第二个客户端没有失败。但是当我在监听器客户端刷新页面时,媒体流立即停止,因为没有开始段。有人可以告诉我如何解决这个问题吗?
解决方案
您需要自己对流进行分段。
如果您使用 WebM,只需将所有内容保持在第一个集群的开头并将其视为初始化段。然后,您可以在具有关键帧的集群开始处的流中任意位置选取。
不幸的是,当您使用 MediaRecorder 录制时,您无法告诉浏览器在哪里插入关键帧。因此,您要么必须自己确定哪些集群具有关键帧,要么进行一些服务器端转码。无论如何,后者可能是必需的,除非您计划为所有客户端提供相同的比特率/编码。
推荐阅读
- c# - WCF 服务参考作为数组与列表
- excel - 显示 UDF 结果
- java - 使用 HttpServletResponse 与 ResponseEntity 处理 Spring 异常
- python - PySpark:从字符串中提取小时和分钟
- c# - 如何让用户在 Xamarin C# 中编辑他们的输入
- javascript - 为什么在下拉列表中加载组件时不会触发 ngmodelChange 事件?
- r - 是否可以将一些数据框导出到 R 中的一个 CSV
- asp.net - ASP.NET Web 窗体中的输出编码安全问题
- javascript - 雪花存储过程,检查结果集是否为空而不抛出错误
- python-3.x - 将语音翻译成文本