【发布时间】:2020-10-27 06:46:43
【问题描述】:
我有一个 nodeJs 项目流 RTSP 到 HTML。
我将 rtsp-ffmpeg 与套接字 io 一起使用
server.js:
var cams = arrData.map(function(device, index) {
var config = JSON.parse(device.CauHinhThietBi);
var rtspUri = getRtspUrl(config.IPLAN, config.RstpPort, config.Username, config.Password, streamType.MainStream);
console.log(rtspUri);
debugger;
var stream = new rtsp.FFMpeg({input: rtspUri, rate: 25, resolution: '640x480', quality: 3});
stream.on('start', function() {
console.log('stream ' + device.TenThietBi + ' started');
});
stream.on('stop', function() {
console.log('stream ' + device.TenThietBi + ' stopped');
});
return stream;
});
cams.forEach(function(camStream, i) {
var ns = io.of('/cam' + arrData[i].ThietBiID);
ns.on('connection', function(wsocket) {
console.log('connected to /cam' + arrData[i].ThietBiID);
var pipeStream = function(data) {
wsocket.emit('data', data);
};
camStream.on('data', pipeStream);
wsocket.on('disconnect', function() {
console.log('disconnected from /cam' + arrData[i].ThietBiID);
camStream.removeListener('data', pipeStream);
});
});
});
io.on('connection', function(socket) {
socket.emit('start', arrData);
});
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
当我在 Visual Studio Code 中运行它时,它很好
但是当我使用 IISNode 部署到 IIS 时,出现以下错误:
错误:未找到 FFMpeg 可执行文件。安装这个包并检查 FFMpeg.cmd 属性 在子进程。 (D:\2.Demo\DemoNodeJs\DemoNodeJs\DemoNodeJs\node_modules\rtsp-ffmpeg\lib\rtsp-ffmpeg.js:118:10) 在 ChildProcess.emit (events.js:315:20) 在 Process.ChildProcess._handle.onexit (internal/child_process.js:273:12) 在 onErrorNT (internal/child_process.js:469:16) 在 processTicksAndRejections (internal/process/task_queues.js:84:21)
请帮帮我
【问题讨论】:
标签: node.js iis ffmpeg socket.io iisnode