nodeJs用ffmpeg直播推流到rtmp服务器上
在Node.js中使用ffmpeg进行直播推流到RTMP服务器,你可以使用ffmpeg
命令行工具,或者使用Node.js的第三方库,比如fluent-ffmpeg
。以下是使用fluent-ffmpeg
的示例代码:
首先,安装fluent-ffmpeg
:
npm install fluent-ffmpeg
然后,使用以下Node.js脚本进行推流:
const ffmpeg = require('fluent-ffmpeg');
// 创建ffmpeg进程
const stream = ffmpeg('<输入流的来源>')
.outputOptions([
// ffmpeg输出选项
'-f flv', // 设置格式为flv
'-s 1280x720', // 设置分辨率
'-qscale 0' // 设置视频质量
])
.output('rtmp://<RTMP服务器地址>/live/streamKey') // 设置RTMP输出地址
.on('error', (err) => {
console.error('An error occurred:', err.message);
})
.on('end', () => {
console.log('Processing finished !');
})
.run();
// 监听stream事件,进行进一步操作
stream.on('error', (err) => {
console.error('Error: ', err.message);
});
stream.on('end', () => {
console.log('Finished processing input stream.');
});
确保替换<输入流的来源>
为你的直播源(例如摄像头设备或视频文件路径),以及<RTMP服务器地址>
为你的RTMP服务器地址和流的key。
注意:确保ffmpeg已安装在系统中,并且可以在命令行中直接调用。如果未安装,你可以通过npm install ffmpeg-static
来安装ffmpeg-static
,它会自动下载并提供ffmpeg可执行文件。
评论已关闭