【发布时间】:2014-07-24 03:35:03
【问题描述】:
我打算使用 ffprobe 函数来提取视频信息,这是我的代码:
var FFmpeg = require('fluent-ffmpeg');
//...
var convert_using_ffmpeg = function (source, target) {
var tempfile = path.join(config.tmproot, path.basename(target));
new FFmpeg({ source: source })
.withVideoCodec('libx264')
.withVideoBitrate('512')
.withAudioQuality(5)
.withAudioCodec('libmp3lame')
.withSize('360x288')
//.ffprobe(function(err,data) {
// console.dir(data);
//})
.toFormat('flv')
.on('error', function (err) {
console.log('An error occurred: ' + err.message);
})
.saveToFile(tempfile, function () {
fs.rename(tempfile, target);
});
};
当我执行程序时,编译器只是说Object #<FfmpegCommand> has no method 'ffprobe。 fluent-ffmpeg API 说我应该在执行之前添加 FFMPEG_PATH 和 FFPROBE_PATH 环境变量,但事实是我可以直接在命令行中执行 ffmpeg 即使它在 PATH 环境变量中不存在,并且 node.js 程序运行成功而不会调用ffprobe 函数。另外 API 还说 ffprobe 与大多数 ffmpeg 发行版一起提供,如果是这样,我怎样才能将 ffprobe 单独添加到环境变量中?
我目前使用的是 fluent-ffmpeg 1.7.0。
【问题讨论】: