我目前正在从通过DataChannel发送到对等方的视频流接收块,然后该对等方将在另一端重建视频。将属性附加到通过DataChannel发送的ArrayBuffer
我有这部分工作得很好,但我想补充哪些块#它是收到的,所以它没关系,如果他们碰巧以不同于预期的顺序到达。
最初我以为增加一个参数chunkId
会工作,但当我在接收端做.data.chunkId
时,它是未定义的。
然后我试图字符串化的ArrayBuffer使用JSON.stringify({ "chunkId": chunkId, "data": chunk })
的chunkId
连同但是当我分析它的另一端(Unexpected end of JSON input
和Unexpected token , in JSON at position #
)
DataChannels也接受斑点,所以我想我会尝试,它会导致问题,但发件人正在使用node.js,这显然不能这样做。我不太能弄清楚如何解决这个问题。
我试过的最后一件事是简单地将chunkId
附加到ArrayBuffer本身的开始/结尾处,但是当我尝试创建新阵列时,在尝试添加块本身时出现错误source is too large
。
实现此目的的正确方法是什么?
我想发送它分两部分将更容易出错,但我可以制定一些解决方法来解决/缓解它们。这是不幸的,它不能在同一时间完成 – Jabos