问题描述

通过av_frame_alloc()申请完avframe的内存后,需调用av_frame_get_buff()为frame->data分配内存。在调用avframe_get_buffer()这个接口之前需要设置音视频的参数。

音频:采样格式,采样个数,通道数。

  • avframe中存放的是原始数据,采样个数从哪里来?
  • 打开编码器的时候,licbavodec会设置音频的采样个数frame_size,可以通过这个值设置avframe中的采样个数nb_samples嘛?

总结

微信图片_20210511111824.png
微信图片_20210511111855.png

微信图片_20210511111939.png
AAC:
4096:一帧的原始数据量是指两个通道的总字节数。
88200:44100*2= 1s 编了多少个字节。
88200/4096 = 1s 编了多少帧

所以av_read_frame是,pkt.size是21.5帧的总长度。av_read_frame是1s读取一次。