我使用的是ffmpeg,但不是JavaScript的php。我想从wav文件转换为pcm。到mp3或wma的转换工作正常,但不能转换为pcm,这告诉我至少必须选择一个输入是什么错误?这是我的代码(仅命令行):
var arguments = [];
arguments.push("-y");
arguments.push("-vn");
arguments.push("-i");
arguments.push(fileName);
arguments.push("-b:a");
arguments.push(getBitrate());
switch (getOutFormat()) {
case "mp3":
arguments.push("-acodec");
arguments.push("libmp3lame");
arguments.push("out.mp3");
break;
case "wma":
arguments.push("-acodec");
arguments.push("wmav1");
arguments.push("out.asf");
break;
case "pcm":
//arguments.push("s16le");
arguments.push("-ac");
arguments.push("1");
arguments.push("-f");
//arguments.push("pcm_s16le");
arguments.push("out.pcm");
}
最佳答案
mp3和wma是文件格式(或包装),pcm是编解码器。
我认为ffmpeg不支持pcm作为输出格式,尽管它确实支持pcm作为输出编解码器。
你的目标是什么 ?
编辑:检查
$ ffmpeg -formats
和
$ ffmpeg -codecs
有关受支持的格式和编解码器的更多信息。
args在stackoverflow.com/questions/4854513/can-ffmpeg-convert-audio-to-raw-pcm-if-so-how的帮助下进行了编辑
您可能会得到原始的pcm输出:
case "pcm":
arguments.push("-f");
arguments.push("s16le");
arguments.push("-acodec");
arguments.push("pcm_s16le");
arguments.push("-ac");
arguments.push("1");
arguments.push("out.pcm");
请注意,您生成的文件通常称为原始文件,并且需要指定采样频率,量化,通道数,字节序才能读取该文件。
关于javascript - 使用ffmpeg javascript将wav音频文件转换为pcm音频文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24881832/