.oga音频文件转换问题与oggenc

时间:2013-06-08 09:02:49

标签: audio converter wav ogg oggenc

我在使用WAVOGG个文件转换为oggenc时遇到问题。我总是得到这个例外

Warning: INVALID format chunk in wav header.
 Trying to read anyway (may not work)...
ERROR: Wav file is unsupported type (must be standard PCM
 or type 3 floating point PCM)
ERROR: Input file "x.wav" is not a supported format

我安装了所有依赖项,例如libflacvorbis-toolslibvorbis

这个问题在我的一个生产服务器中出现问题。它在本地和其他少数系统中使用相同的设置工作正常。我已经从生产中下载了相同的wav文件,并在本地试了一下,它运行得很好。

这是wav文件的file元信息

>>file x.wav
x.wav: RIFF (little-endian) data, WAVE audio, stereo 48000 Hz

我的所有wav文件都是从mpg321来源的MP3生成的。这是整个脚本

for f in $(find -name "*.mp3"); 
 do  
     mpg321 $f -w - | oggenc -q 5 -o "${f%.*}".ogg -;
 done;

从我理解的消息

  1. 文件已损坏。或
  2. 缺少wav编解码器
  3. 由于同一文件在其他系统中没有任何问题,我确信该文件是有效的。所以它应该是第二个。

    有人可以帮助我,如何检查oggenc的所有依赖项是否安装正确?

    任何提示都会非常感激。

    更新

    上面的脚本不会生成wav文件,它会将生成的wav音频流传递给oggenc。为了测试不同系统中的wav文件,我使用了这些命令

     >> mpg321 -w x.wav 0b549a8241.mp3
     >> oggenc -q 5 -o x.ogg x.wav
    

    在这两种方法中,我都得到同样的错误

1 个答案:

答案 0 :(得分:1)

输出到标准输出时,

mpg321可能不会生成wav标头
我可以看到,您使用的是48000 stereo oggenc工具默认使用44100 stereo

因此必须使用-r -R 48000

oggenc -r -R 48000 -q 5 -o x.ogg x.wav