下面是 2023.09 月音视频面试题集锦的几条干货精选:
- 1、PCM 音频数据是怎么组织的?
- 2、说一下对信号时域、频域的理解?
- 3、PCM 数据经过 AAC 编码器编码后,直接写 .aac 文件会怎么样?
- 4、AAC 封装到 MP4 中,是否需要为每个 AAC packet 添加 ADTS?
- 5、拍短视频想把同时播放的音乐录制下来一般要经过怎样的处理流程?
1、PCM 音频数据是怎么组织的?
1)数据生成
模拟数据 → 采样 → 量化 → 编码 → 数字信号
2)数据组成
- 采样频率
- 单位时间内对模拟信号的采样次数,它用赫兹(Hz)来表示
- 采样频率越高,声音的还原就越真实越自然,当然数据量就越大
- 常见的采样频率有 22.05KHz、44.1KHz、48KHz
- 采样位数
- 又称为采样精度,量化级,也相当于每个采样点所能被表示的数据范围
- 采样位数越大,所能记录声音的变化度就越细腻,相应的数据量就越大
- 采样位数通常有 8bits、16bits、32bits,16bits 最为常见
- 超过 8bits,存储时还会有 little endian 和 big endian 的问题
- 声道数
LRLRLR....
这是交错排列方式,比较常见- 也有
LLLLLL.......RRRRRR.....
这种是平铺方式,这种比较少见 - 又称为通道数,指的是:能支持不同发声的音响个数,它是衡量音响设备的重要指标之一
- 双声道通常排列方式:
- 其它
- 空间大小 = 时长 * 采样频率 * 声道数 * (采样位数 / 8);
2、说一下对信号时域、频域的理解?
1)时域
- 定义:
- 横轴时间,纵轴振幅(反应时间的能量),表示所有频率叠加的正弦波振幅的总大小随时间的变化规律,复合波形进行傅里叶变换,可拆解还原成每个频率上单一的正弦波构成
- 在音频中的作用:
- 检测音乐整体音量大小
- 检测混音时的动态和响度问题
- 辅助调节压缩器和限制器
2)频域
- 定义:
- 横轴频率,纵轴振幅,表示一个静态的时间点上各个频率正弦波的振幅的分布情况
- 在音频中的作用:
- 检测音乐细节在各频段上的分布
- 辅助调节滤波器和均衡器
3)时域 vs. 频域
3、PCM 数据经过 AAC 编码器编码后,直接写 .aac 文件会怎么样?
正常播放器会没法识别播放(因为不知道声道数,采样率等信息)。一般要这样做:正常需要在编码每帧数据后,结合编码后的数据生成 ADTS 头,然后将 ADTS 头 + 编码后的数据
整体写入文件,循环往复,才能生成可正常播放的 .aac 文件(当然也可以是:1 个 ADTS + 多帧编码数据
这样的组合)。
4、AAC 封装到 MP4 中,是否需要为每个 AAC packet 添加 ADTS?
不需要,原因如下:
- 1)我们所说的 AAC 文件实际是 AAC 封装格式,其实在 AAC 编码格式的基础上添加了 ADTS 头等信息,组装成 AAC 封装格式的;
- 2)将 AAC 编码后的数据存放到 MP4 中,就需要按照 MP4 的封装格式来进行存储;
- 3)MP4 中实际将类似 ADTS 这些信息存放到了 moov 中的音频通道对应的 box 中了。
5、拍短视频想把同时播放的音乐录制下来一般要经过怎样的处理流程?
有一种方案是把麦克风采集声音中的外放音乐声进行回声消除,然后再添加上音乐的原始音轨。一般在 iOS 设备上可以考虑这种方案。但是在 Android 设备上我们通常不这样做,原因有下面几点:
- 对音乐进行回声消除的同时也会对麦克风采集到的其他声音有抑制效果,导致最后整体的声音效果不好;
- 手机播放音乐到麦克风采集到声音之间有一定的延时,不同的 Android 设备的延时差异较大,这个延时估算不准确会影响回声消除的效果。
一般情况我们可以按照下面的流程来处理:
- 1)音乐外放的情况,直接通过外放播放音乐,声音通过麦克风录制下来;
- 2)戴耳机或手机静音的情况,音乐不会被麦克风录制下来;
- 3)录制完成时,将录制得到的视频中的音轨(这里面可能包含已经和其他外音被采集下来的音乐)和音乐原始的音轨进行叠加增强。
更多的音视频知识、面试题、技术方案干货可以进群来看:
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。