RV1126 音频开发(2)AENC编码
说一下我对音视频编码的开发流程及思路
编码的原因就是因为如果不编码的话,PCM原音频文件会非常大,如果涉及到后续码流传输的话占用带宽非常大,所以进行这个编码操作
分4步
-
设置音频输入属性并开启通道
-
创建编码器通道
-
绑定输入通道到编码器通道
-
获取编码器通道数据并存储
-
配置设备名称(就是硬件音频输入的设备节点)
-
设置采样格式(AAC一般为RK_SAMPLE_FMT_FLTP)
-
每帧采样点个数(1024)
-
设置采样率(44100)
-
设置通道数(1)
-
布局类型(正常模式)
创建编码器通道
- 设置编码类型为AAC
- 比特率(每秒传输的比特数bit)
- 编码质量(数值越小表示质量越好)
- 采样率(44100)
- 通道数(1)
绑定输入通道到编码器通道
- 把音频输入的通道AI绑定到AENC编码的通道
获取编码器通道数据并存储
- 开一个线程去获取编码通道的数据流,写到输出文件,然后关闭文件