gpt4 book ai didi

javascript - 从网络摄像头到服务器的纯 js 流

转载 作者:行者123 更新时间:2023-11-28 03:19:17 25 4
gpt4 key购买 nike

是否可以从网络摄像头(前端)捕获流并使用纯js(无Flash)通过hlsrtmp将其流式传输到服务器。
如果有其他协议(protocol)允许将流作为流发送(与 hls 不同),将是首选。

最佳答案

我找到了解决方案。目前还没有任何方法可以将前端从 navigator.getUserMedia() 接收到的流“转换”为 rtmp。但我们可以使用 MediaRecorder Api。
在客户端

const stream = await navigator.getUserMedia(options)
const recorder = new MediaRecorder(stream)
recorder.ondataavailable = (e) => { socket.emit('binaryData',e.data) }
recorder(start)

在后端

const ffmpegProcess = spawn('ffmpeg', ffmpegCommans)
socket.on('binaryData', (data) => {
ffmpegProcess.stdin.write(params.data)
})

FFmpeg 会将 vp8 视频流转换为 hls/rtmp/rtsp 或其他格式。

这样我们就可以获得延迟为3(平均)秒的视频流。

关于javascript - 从网络摄像头到服务器的纯 js 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59322587/

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