wavファイルをpcmに変換できます
ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm
この操作を元に戻すにはどうすればよいですか?
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
… 出力ファイル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