课程名称:音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:【实战】音频采集
课程讲师:李超
课程内容
通过命令方式采集音频
在不同端采集音频使用不同的技术:
- Windows采集音频数据使用的是 dshow 技术。
- Linux采集音频数据使用的是 alsa/oss 技术。
- Mac采集音频数据使用的是 avfoundation 技术。
对应到不同端采集音频的 API 也不同:
- 在 Android端音频采样,底层会使用AudioRecorder,应用层会使用MediaRecoder。
- 在 iOS端音频采样,底层会使用AudioUnit,应用层会使用AVFoundation。
- 在 Windows端音频采集会用到DirectShow,Open AL,和AudioCore(Win7后)。
由于不同端使用不同的API,可以统一使用ffmpeg进行音频采集。需要注意的是使用 ffmpeg 采集音频,在不同端使用的命令不同。
- 在 Windows 端:
#获取设备列表
ffmpeg.exe -list_devices true -f dshow -i dummy
#根据获取的设备进行音频采集
ffmpeg.exe -f dshow -i audio="麦克风 (Realtek(R) Audio)" -ar 16000 -ac 1 out.wav
- 在 Linux 端:
ffmpeg -f alsa -i hw:0 out.wav
- 在 Mac 端:
ffmpeg -f avfoundation -i:0 out.wav