ffmpeg推流 nodejs
时间: 2025-04-26 18:03:18 浏览: 14
### 使用 Node.js 和 FFmpeg 实现推流
为了实现桌面推流,可以利用 `@ffmpeg-installer/ffmpeg` 模块来安装并配置 FFmpeg 工具[^1]。具体来说,在 JavaScript 文件中引入必要的模块:
```javascript
const ffmpeg = require('@ffmpeg-installer/ffmpeg');
const { exec } = require('child_process');
```
对于 RTSP 转码服务而言,则可以通过调用 FFmpeg 命令行工具来进行处理,并通过 Node.js 的子进程执行命令完成操作[^2]。
当准备就绪之后,构建一个函数用于启动推流过程。此过程中需指定输入源(如屏幕捕获设备或者文件路径),以及输出目标(比如 RTMP 服务器地址)。下面是一个简单的例子展示如何设置这样的流程:
```javascript
function startStreaming(inputSource, outputTarget) {
const command = `ffmpeg -i ${inputSource} -c:v libx264 -preset ultrafast -f flv "${outputTarget}"`;
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`Error executing FFmpeg: ${stderr}`);
return;
}
console.log(`FFmpeg Output: ${stdout}`);
});
}
```
上述代码片段展示了怎样创建一个名为 `startStreaming()` 的函数,该函数接收两个参数:一个是作为视频来源的字符串形式的输入源;另一个是要推送至的目标 URL 或者本地文件位置。这里使用了 `-c:v libx264` 参数指定了编码器为 H.264 编解码器,而 `-preset ultrafast` 则是为了加快编码速度选择了最快的预设模式。最后,`-f flv` 表明输出格式为 FLV 流媒体格式。
阅读全文
相关推荐















