FFmpegがオーディオをデコードした後にAVFrame
にデータを保存する方法を理解しようとしています。FFmpeg AVFrameオーディオデータの変更
基本的には、AVFrame->data[]
配列のデータを印刷すると、生のフォーマットのオーディオである符号なし8ビット整数の数が得られます。
私はFFmpeg doxygenから理解できるものから、データのフォーマットはenum AVSampleFormat
で表され、インターリーブドとプレーンナの2つの主要カテゴリがあります。インターリーブタイプでは、データは、AVFrame->linesize[0]
という配列のAVFrame->data
アレイの最初の行にすべて保存されますが、プレーンタイプでは、オーディオファイルの各チャネルはAVFrame->data
アレイの別の行に保持され、アレイのサイズはAVFrame->linesize[0]
です。
各フォーマットの配列の数字は何を意味するのかを説明するガイド/チュートリアルがありますか?
'AVFrame.h'の配列が' uint8_t'として宣言されている場合、 'AVFrame-> data'は' int16_t'をどのように含んでいますか? – Arlind
キャスト: 'int16_t * pcm16 =(int16_t *)frame-> data [0]'だけを使用してください。 – Sergio
1つのオーディオサンプルを表す 'AVFrame-> data'の配列の各要素はありますか? – Arlind