我正在使用WerbRTC + NodeJS + Socket.io创建视频聊天应用,但我在恢复视频和在视频HTML元素中显示时遇到问题。
客户端1,我使用下一个代码
捕获流blobthis.mediaRecorder = new MediaRecorder(this.stream, options);
this.mediaRecorder.ondataavailable = dataAvailable.bind(this);
this.mediaRecorder.start(10);
function dataAvailable(e){
socket.emit('streaming', e.data);
};
服务器我只收到字节并重新发送到client2
this.streaming = function(data){
for (var key in clients) {
if(key != data.clientID){
var client = clients[key];
client.emit('streaming', data);
};
};
}.bind(this); socket.on('streaming', this.streaming);
以上都是有效的,但我的问题是,当我收到ArrayBuffer时,我如何处理它以在视频标签元素中再次显示流式传输,我尝试使用下一个代码,但不能正常工作。
客户端2
this.type = 'video/webm;codecs=vp9';
this.blob = new Blob([], { type:this.type});
this.receiveStream = function(data){
var stream = data.stream;
if(stream.byteLength <= 0) return;
this.blob = new Blob([this.blob, new Uint8Array(stream)], { type:this.type});
this.nodes.video.src = URL.createObjectURL(this.blob);
}
谢谢....