Fluent-ffmpeg“不是合适的输出格式”

Jac*_*Guy 4 audio ffmpeg file-conversion node.js

我正在使用 Node.js 的 Fluent-ffmpeg 模块来转换音频文件。我有一个 .mp3 文件,我想将其转换为 .wma

看起来是这样的:

var proc = new ffmpeg({
   source: 'file.mp3',
   nolog: false
}).toFormat('wma')                                                
  .saveToFile('file.wma', function(stdout, stderr)
{                                                 
    console.log(stderr);
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到错误:

Requested output format 'wma' is not a suitable output format
Run Code Online (Sandbox Code Playgroud)

这是整个错误日志:

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
Run Code Online (Sandbox Code Playgroud)

我知道这不是 ffmpeg 问题,因为

ffmpeg -i file.mp3 file.wma
Run Code Online (Sandbox Code Playgroud)

工作正常。有任何想法吗?

use*_*109 5

我认为,wma不是一种容器格式。它是一个音频编解码器。WMA 文件最常见的是 ASF(高级系统格式)格式。因此,请选择 Fluent-ffmpeg API 中给出的正确选项来设置编解码器和格式。您可以运行这些命令:

  1. ffmpeg -formats查看所有格式和

  2. ffmpeg -codecs查看所有支持的编解码器

  • @J4g 命令行根据用户输入设置适当的选项(例如为常见文件设置编解码器和格式)。我的猜测是,流畅的 API 映射到详细选项(以 -vcodec -acodec 开头)。因此,从命令行进行的选项自动设置不会通过 fluence-ffmpeg 进行。 (3认同)