1

を使用してWAVファイルを変換する際に問題があります。私はいつもこの例外を受けていますOGGoggenc

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

libflac、、などのすべての依存関係をインストールしましvorbis-toolslibvorbis

この問題は、実稼働サーバーの 1 つで発生しています。ローカルおよび他のいくつかのシステムで同じ設定で問題なく動作します。本番環境から同じ wav ファイルをダウンロードしてローカルで試してみましたが、問題なく動作します。

wavファイルのfileメタ情報です

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

すべての私の wav ファイルはmpg321MP3ソースから生成されます。これがスクリプト全体です

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

メッセージから、私はそれを理解しています

  1. ファイルが壊れています。また
  2. wavコーデックがありません

同じファイルが他のシステムで問題なく動作するため、ファイルが有効なものであると確信しています。だから、それは2番目のものでなければなりません。

oggenc のすべての依存関係が正しくインストールされているかどうかを確認する方法を教えてください。

ヒントをいただければ幸いです。

更新

上記のスクリプトは wav ファイルを生成しません。生成された wav オーディオ ストリームを oggenc に渡します。さまざまなシステムでwavファイルをテストするために、これらのコマンドを使用しました

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

どちらの方法でも、同じエラーが発生しています

4

1 に答える 1

1

mpg321標準出力に出力する場合、おそらく wav ヘッダーを生成しません。

ご覧のとおり、あなたは48000 stereo.
oggencツールは44100 stereoデフォルトで使用します。

したがって-r -R 48000、使用する必要があります:

oggenc -r -R 48000 -q 5 -o x.ogg x.wav
于 2013-06-08T12:37:02.413 に答える