gpt4 book ai didi

javascript - 使用 WebRTC 将数据与视频同步

转载 作者:技术小花猫 更新时间:2023-10-29 12:12:08 28 4
gpt4 key购买 nike

我正在使用 WebRTC 将视频从服务器发送到客户端浏览器(使用 native WebRTC APIMCU WebRTC 服务器,例如库伦托)。

在将其发送给客户之前,视频的每一帧都包含元数据(如字幕或任何其他应用内容)。我正在寻找一种方法来将此元数据发送到客户端,以便它保持同步(到它实际呈现的时间)。此外,我希望能够从客户端(通过 Javascript)访问这些数据。

我想到的一些选项:

  • 通过 WebRTC DataChannel 发送数据。但我不知道如何确保数据在每帧的基础上同步。但是我找不到办法保证数据通道和视频 channel 发送的数据是同步的(同样,我希望得到单帧的精度级别)。
  • 以某种方式(WebRTC DataChannel、websockets 等)手动将数据发送到客户端,时间戳与视频的时间戳相匹配。但是,即使 Kurento 或其他中间服务器保留了视频中的时间戳信息,根据以下答案,也没有从 javascript 获取视频时间戳的适用方法: How can use the webRTC Javascript API to access the outgoing audio RTP timestamp at the sender and the incoming audio RTP timestamp at the receiver? .我考虑过使用标准视频元素的 timeupdate 事件,但我不知道它是否适用于帧的精度级别,而且我不确定它在 WebRTC 中的实时视频中意味着什么.
  • 手动发送数据并将其作为另一个 TextTrack 附加到视频中。然后用onenteronexit同步读取:http://www.html5rocks.com/en/tutorials/track/basics/ .它仍然需要精确的时间戳,我不确定如何知道时间戳是什么以及 Kurento 是否按原样传递它们。
  • 使用WebRTC的统计API手动统计帧数(使用getstats),希望这个API提供的信息是准确的。

这样做的最佳方法是什么,以及如何解决我在这两种方法中提到的问题?

编辑:元数据与适当帧的精确同步(分辨率不超过一帧)是必需的。

最佳答案

我怀疑每帧的数据量相当小。我会考虑将其编码为二维条形码图像,并以某种方式将其放置在每一帧中,这样它就不会被压缩删除。或者像这样编码时间戳。

然后在播放器端,您查看特定帧中的图像并获取数据。

关于javascript - 使用 WebRTC 将数据与视频同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com