Node.js Node js实时流媒体rtsp摄像机
我正在尝试从node js流式传输rtsp。在我的本地应用程序中,一切正常,但如果 我在AWS EC2(Linux/UNIX)上部署了相同的代码,但没有流式处理。我附加了代码片段,它只打印console.log(“1”)和console.log(“2”)。之后,它不会对任何本应控制进度的内容进行控制Node.js Node js实时流媒体rtsp摄像机,node.js,amazon-ec2,ffmpeg,Node.js,Amazon Ec2,Ffmpeg,我正在尝试从node js流式传输rtsp。在我的本地应用程序中,一切正常,但如果 我在AWS EC2(Linux/UNIX)上部署了相同的代码,但没有流式处理。我附加了代码片段,它只打印console.log(“1”)和console.log(“2”)。之后,它不会对任何本应控制进度的内容进行控制 const ffmpeg = require('fluent-ffmpeg'); const ffmpegInstaller = require('@ffmpeg-installer/ffmpeg'
const ffmpeg = require('fluent-ffmpeg');
const ffmpegInstaller = require('@ffmpeg-installer/ffmpeg');
let streamCamera = () => {
try {
console.log("1");
ffmpeg.setFfmpegPath(ffmpegInstaller.path);
console.log("2")
var headersSent = false;
ffmpeg('rtsp://<username>:<password>@<IP>', { timeout: 432000 }).addOptions([
'-profile:v baseline',
'-fflags -nobuffer', // no idea whether this causes lower latency
'-probesize 32', // no idea whether this causes lower latency
'-s 320x240', // resolution (scale) 640x480 480x360 320x240
'-level 3.0',
'-start_number 0',
'-hls_time 1', // length of each segment (2s in this case)
'-hls_list_size 0',
'-hls_flags delete_segments',
'-f hls' // format to hls
])
.output('videos/output.m3u8') // output.m3u8 will be in a directory called "videos"
.on('end', () => {
console.log('end');
})
.on('progress', function(progress) {
fs.access("videos/output.m3u8", fs.constants.F_OK, function(err) {
console.log("success")
if (err) {
console.log("Processing error", err)
} else {
if (headersSent === false) {
console.log("Processing success")
headersSent = true;
console.log("52");
}
}
});
})
.run();
} catch (e) {
console.log("Error in streamCamera")
}
}
Output:
1
2