gpt4 book ai didi

node.js - ffmpeg : Bitstream not supported by this decoder

转载 作者:行者123 更新时间:2023-12-04 23:24:35 33 4
gpt4 key购买 nike

我正在尝试使用 NodeJS 创建一个直播网络应用程序。我目前拥有的代码使用套接字 IO 从客户端上的网络摄像头发出原始(webm 格式)二进制流, Node 服务器接收此原始数据。使用 fluent-ffmpeg,我想将此二进制流编码为 mpegts 并将其发送到 中的 RTMP 服务器实时 ,而不创建任何中间文件。但是,当尝试在 ffmpeg 中转换 blob 时,出现以下错误:

Error while decoding stream #0:1: Invalid data found when processing input
[NULL @ 000001b15e67bd80] Invalid sync code 61f192.
[libvpx @ 000001b15e6c5000] Failed to decode frame: Bitstream not supported by this decoder

我的相关前端客户端代码:
navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
video_show(stream);//only show locally, not remotely

socket.emit('config_rtmpDestination',url);
socket.emit('start','start');
var options = {mimeType: 'video/webm;codecs=h264'};

mediaRecorder = new MediaRecorder(stream, options);
mediaRecorder.start(2000);

mediaRecorder.onstop = function(e) {
stream.stop();
}

mediaRecorder.ondataavailable = function(e) {
//var arraybuffer = Uint8Array.from(e.data).buffer;
socket.emit("binarystream", blob);
//chunks.push(e.data);
}
}).catch(function(err) {
console.log('The following error occured: ' + err);
show_output('Local getUserMedia ERROR:'+err);
});

相关 NodeJS 服务器代码:
socket.on('binarystream',function(m){
feedStream(m);
});

socket.on('start',function(m){
...
var ops=[
'-vcodec', socket._vcodec,'-i','-',
'-c:v', 'libx264', '-preset', 'veryfast', '-tune', 'zerolatency',
'-an', '-bufsize', '1000',
'-f', 'mpegts', socket._rtmpDestination
];
ffmpeg_process=spawn('ffmpeg', ops);
feedStream=function(data){
ffmpeg_process.stdin.write(data);
}
...
}

最佳答案

对于遇到此问题的任何人..尝试替换libvpxlibvpx-vp9或者更高级的 libvpx 版本

关于node.js - ffmpeg : Bitstream not supported by this decoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53895884/

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