课程名称:音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:【实战】音频编码
课程讲师:李超
课程内容
1.什么是音频重采样
所谓音频重采样是指将音频三元组(采样率、采样大小/位深、通道数)的值转成另外一组值。只要更改一个参数就算是重采样了。
例如:将44100/16/2 转成 48000/16/2
2.为什么要重采样
- 从设备采集的音频数据与编码器要求的数据不一致时,需要通过重采样进行数据的适配。
- 扬声器要求的音频数据与要播放的音频数据不一致,也需要通过重采样进行数据的适配。
- 为了更方便运算,比如回音消除须使用单声道,需要先将多声道的数据转换成单声道的数据。
3.如何知道是否需要进行重采样
- 要了解音频设备的参数,可以在设备管理中查看相应要求。
- 查看ffmpeg源码,包括各平台几乎所有编解码器实现。
4.重采样步骤
- 创建重采样上下文
- 设置参数
- 初始化重采样
- 进行重采样
5.与重采样相关的几个重要 API
swr_alloc_set_opts # 创建上下文,设置参数
swr_init #初始化
swr_convert #具体音频帧转换
swr_free #释放上下文占用资源