gpt4 book ai didi

node.js - 从浏览器通过 socket.io 发送视频/音频

转载 作者:搜寻专家 更新时间:2023-10-31 23:57:33 24 4
gpt4 key购买 nike

我正在尝试通过 socket.io 发送视频和音频,但我最后收到了 Buffer,我应该如何处理它?<​​/p>

这是我的代码:

服务器,我在这里接收缓冲区:

io.on('connection', function (socket) {
socket.on('radio', function (image) {
socket.broadcast.emit('radio-reciver', {count: 1, buff: image});
})
})

http.listen(port, function () {
console.log('Server started!')
});

客户:

//发送视频/音频部分

navigator.getUserMedia({ video: true, audio: true }, loadCam, loadFail)

function loadCam(stream) {
video.src = window.URL.createObjectURL(stream);

var media = new MediaRecorder(stream);
media.ondataavailable = function (e) {
socket.emit('radio', e.data);
}


media.start(1000)
logger("Cam is ok")
}

//接收部分,这里我接收BUFFER

socket.on('radio-reciver', function (image) {

var sourceStream = MediaSourceStream({ // Creates a writable stream
mimeType: 'video/webm; codecs="opus,vp8"'
})
image.pipe(sourceStream)

var img = document.getElementById('play');
img.src = window.URL.createObjectURL(sourceStream.mediaSource);
$('#logger').text(image);
})

如您所见,我正在使用媒体记录器传输数据但无法正常工作...任何示例如何解决此问题?

最佳答案

与其使用 image.pipe(),不如使用:

sourceStream.write(image);

您将在这里接收 block ,作为 Buffer 对象。不是流。

关于node.js - 从浏览器通过 socket.io 发送视频/音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49868353/

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