将命令行输入转换为节点Fluent ffmpeg
Translate Command Line Input to Node Fluent ffmpeg
我想使用nodefluent ffmpeg运行ffmpeg命令行(将png图像编译为视频):
ffmpeg -framerate 20 -i static/tmp/img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
我试了以下几项,但没有成功。
var ffmpeg = require('fluent-ffmpeg');
var proc = new ffmpeg()
.addInputOption('-framerate 20')
.addInputOption('static/tmp/img%03d.png')
.addInputOption('-c:v libx264')
.addInputOption('-r 30')
.addInputOption('-pix_fmt yuv420p out.mp4')
.output('outputfile.mp4')
.output(stream);
我查看了github存储库和stackoverflow上的所有问答,但没有得到正确的答案。
如何将命令行格式化为js代码?
谢谢!
您现在可能已经明白了,但我还是会回答的。
试试这个:
var ffmpeg = require('fluent-ffmpeg');
var proc = new ffmpeg();
proc.addInput('static/tmp/img%03d.png')
.on('start', function(ffmpegCommand) {
/// log something maybe
})
.on('progress', function(data) {
/// do stuff with progress data if you want
})
.on('end', function() {
/// encoding is complete, so callback or move on at this point
})
.on('error', function(error) {
/// error handling
})
.addInputOption('-framerate 20')
.outputOptions(['-c:v libx264', '-r 30', '-pix_fmt yuv420p'])
.output('out.mp4')
.run();
基本上,-i之前的任何内容都被视为输入选项,输入和输出文件之间的任何内容也被视为输出选项。
您可以使用一组选项在一行中添加多个输入或输出选项,fluent ffmpeg github还会为您指出一些javascript代码,这些代码可以作为其中一些命令的快捷方式,尽管我仍然发现使用命令行语法更容易。https://github.com/fluent-ffmpeg/node-fluent-ffmpeg
如果您想要多个输出,您可以像示例中那样添加更多的.output
(尽管您的命令行ffmpeg没有这样做)。
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- 如何处理node.js节点mongodb中的连接和查询队列
- 将DOM节点值与字符串Javascript进行比较
- 节点fs.stat名称未定义
- 无法安装节点sass相关性
- 节点协同与生成器和Promise并行流量控制
- 节点.js将变量显示为 HTML
- 将节点数据分配给另一个变量jstree
- 如何在动态创建的节点上绑定函数
- 承诺在非节点式回调上使用Bluebird
- 通过从节点父级获取所有子级对节点进行排序(获取子级数组)
- 茉莉花节点测试;t正在运行
- 将命令行输入转换为节点Fluent ffmpeg