FFMPEG 音频样本数据

FFMPEG audio sample data

我是 FFMPEG 的初学者 API,我需要处理音频样本。 我看到音频样本数据存储在 AVFrame->data[0] 中,但我不知道音频样本如何存储在 FFMPEG AVFrame 中。

例如: 有2个频道,

frame->nb_samples = 64, 
frame->linesize[0] = 256.

我不知道frame->data[0]中的音频采样数据是怎么存储的。 谢谢,

指向音频样本
frame->data[0]
frame->data[1]

它们有 frame->linesize[0] 字节长

您的 AVCodecContextsample_fmt 会告诉您样本的格式,将是以下格式之一:

AV_SAMPLE_FMT_FLTP
AV_SAMPLE_FMT_FLT
AV_SAMPLE_FMT_S16P
AV_SAMPLE_FMT_S16

对于 FLT,您将指针转换为 float*,对于 S16,您将指针转换为 int16_t*