46

wavファイルをpcmに変換できます

ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm

この操作を元に戻すにはどうすればよいですか?

4

4 に答える 4

86

wav コンテナーは、生の PCM データに単純なヘッダーを追加するだけです。ヘッダーには、形式、サンプル レート、およびチャンネル数が含まれます。生の PCM データにはこの情報が含まれていないため、コマンド ラインで指定する必要があります。オプションは適用先のファイルの前に指定されるため、入力ファイルの前のオプションを使用して入力ファイルの形式を指定でき、入力ファイルの後と出力ファイルの前のオプションを使用して出力の目的の形式を指定できます。ファイル。出力ファイルで同じビット/サンプル、サンプルレート、およびチャネル数が必要な場合、この場合、出力オプションは必要ありません。wav コンテナー形式は、ファイル拡張子によって既に示されています。

生の PCM を WAV に変換する例:

ffmpeg -f s16le -ar 44.1k -ac 2 -i file.pcm file.wav
  • -f s16le… 符号付き 16 ビット リトル エンディアン サンプル
  • -ar 44.1k… サンプルレート 44.1kHz
  • -ac 2… 2チャンネル(ステレオ)
  • -i file.pcm… 入力ファイル
  • file.wav… 出力ファイル
于 2012-08-16T15:38:50.167 に答える
13

RAWデータ形式に注意

-f u8 は符号なし 8 ビット、s16 は他にある場合に備えて符号付き

 $ ffmpeg -formats | grep PCM
 DE alaw            PCM A-law
 DE f32be           PCM 32-bit floating-point big-endian
 DE f32le           PCM 32-bit floating-point little-endian
 DE f64be           PCM 64-bit floating-point big-endian
 DE f64le           PCM 64-bit floating-point little-endian
 DE mulaw           PCM mu-law
 DE s16be           PCM signed 16-bit big-endian
 DE s16le           PCM signed 16-bit little-endian
 DE s24be           PCM signed 24-bit big-endian
 DE s24le           PCM signed 24-bit little-endian
 DE s32be           PCM signed 32-bit big-endian
 DE s32le           PCM signed 32-bit little-endian
 DE s8              PCM signed 8-bit
 DE u16be           PCM unsigned 16-bit big-endian
 DE u16le           PCM unsigned 16-bit little-endian
 DE u24be           PCM unsigned 24-bit big-endian
 DE u24le           PCM unsigned 24-bit little-endian
 DE u32be           PCM unsigned 32-bit big-endian
 DE u32le           PCM unsigned 32-bit little-endian
 DE u8              PCM unsigned 8-bit
于 2016-09-12T11:42:23.693 に答える