Node.js 流畅的ffmpeg“;不是合适的输出格式”;
我正在使用用于Node.js的fluent ffmpeg模块转换音频文件。我有一个.mp3文件,我想转换成.wma 下面是它的样子:Node.js 流畅的ffmpeg“;不是合适的输出格式”;,node.js,audio,ffmpeg,file-conversion,Node.js,Audio,Ffmpeg,File Conversion,我正在使用用于Node.js的fluent ffmpeg模块转换音频文件。我有一个.mp3文件,我想转换成.wma 下面是它的样子: var proc = new ffmpeg({ source: 'file.mp3', nolog: false }).toFormat('wma') .saveToFile('file.wma', function(stdout, stderr) {
var proc = new ffmpeg({
source: 'file.mp3',
nolog: false
}).toFormat('wma')
.saveToFile('file.wma', function(stdout, stderr)
{
console.log(stderr);
});
不幸的是,我得到了一个错误:
这是整个错误日志:
ffmpeg version 0.8.9-4:0.8.9-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
built on Nov 9 2013 19:25:10 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, mp3, from 'song_downloads/You Suffer.mp3':
Metadata:
title : You Suffer
artist : Napalm Death
album : Scum
genre : Death Metal
track : 12
date : 1987
Duration: 00:00:04.98, start: 0.000000, bitrate: 381 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 193 kb/s
Requested output format 'wma' is not a suitable output format
我知道这不是ffmpeg问题,因为
ffmpeg -i file.mp3 file.wma
很好。有什么想法吗?我想,wma不是一种容器格式。这是一个音频编解码器。WMA文件通常以ASF(高级系统格式)格式包含。因此,选择fluent ffmpeg API中给出的正确选项来设置编解码器和格式。您可以运行以下命令:
ffmpeg-formats
查看所有格式和ffmpeg-编解码器
查看所有支持的编解码器这对我很管用
fluent\u ffmpeg('input.mp3')。音频编解码器('aac')。保存('output.aac')
当格式为:
D aac原始ADTS aac(高级音频编码)
不支持E=Muxing尝试
wma
不支持.wma
。抱歉,我就是这么做的。只是复制错误。这并不能解释为什么它在命令行中成功转换。@J4g命令行根据用户输入设置适当的选项(如设置常见文件的编解码器和格式)。我猜fluent API映射到详细选项(从-vcodec-acodec开始)。因此,从命令行进行的选项自动设置不会通过fluent-ffmpeg进行。感谢您的帮助!
ffmpeg -i file.mp3 file.wma