首页 > 其他 > 详细

node执行cmd运行ffmpeg脚本

时间:2020-06-02 17:14:42      阅读:217      评论:0      收藏:0      [点我收藏+]

一,需要安装模块.
1,fluent-ffmpeg
2,http
二,执行思路
1,使用http创建服务,接收参数
1),数据流来源
2),ffmpeg转流参数
3),数据流输出服务器
2,根据参数集成ffmpeg命令推流
3,将线程储存在map里面等待关闭
三,部分核心代码

//用来储存线程
var maps = new Map();
//读取模块新建ffmpeg.
ffmpeg = require(‘fluent-ffmpeg‘);
//新建 ffmpeg 可执行对象 ,inputPath 是视频输入流地址
var command = new ffmpeg(inputPath);
//设置ffmpeg.exe地址 ,path是ffmpeg.exe的存放地址
command.setFfmpegPath(path)
//可设置参数 -re 整理视频流,如果没有这个参数 视频流的播放速度可能出现问题
//其他的参数可以通过请求参数调整
command.inputOptions(‘-re‘)
//打印启动信息
command.on(‘start‘, function (commandLine) {
    console.log(‘[‘ + new Date() + ‘] Vedio is Pushing !‘);
    console.log(‘commandLine: ‘ + commandLine);
})
//打印错误信息
command.on(‘error‘, function (err, stdout, stderr) {
    console.log(‘error: ‘ + err.message);
    console.log(‘stdout: ‘ + stdout);
    console.log(‘stderr: ‘ + stderr);
})
//打印结束信息
command.on(‘end‘, function () {
    console.log(‘[‘ + new Date() + ‘] Vedio Pushing is Finished !‘);
})
//添加转换参数 ,可以通过请求参数调整
command.addOptions([
      ‘-vcodec copy‘
])
//设置输出地址
command.output(outputPath, {
    end: true
})
//执行转码
command.run();
//添加线程到map
maps.set(jsonstr.in,command);

node执行cmd运行ffmpeg脚本

原文:https://www.cnblogs.com/eternityCulture/p/13031411.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!