文章

音视频面试题集锦第 6 期

持续更新的音视频面试题集锦。

音视频面试题集锦第 6 期

本文转自微信公众号 关键帧Keyframe,推荐您关注来获取音视频、AI 领域的最新技术和产品信息

微信公众号 微信扫码关注我们

您还可以加入知识星球 关键帧的音视频开发圈 来一起交流工作中的技术难题、职场经验

知识星球 微信扫码加入星球

我们在知识星球上创建的音视频技术社群关键帧的音视频开发圈已经运营了一段时间了,在这里大家可以一起交流和分享音视频技术知识和实战方案。我们会不定期整理一些音视频相关的面试题,汇集一份音视频面试题集锦(可进入免费订阅)。也会循序渐进地归纳总结音视频技术知识,绘制一幅音视频知识图谱(可进入免费订阅)

下面是 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)录制完成时,将录制得到的视频中的音轨(这里面可能包含已经和其他外音被采集下来的音乐)和音乐原始的音轨进行叠加增强。

更多的音视频知识、面试题、技术方案干货可以进群来看:

微信扫码加入 微信扫码加入

本文由作者按照 CC BY-NC-ND 4.0 进行授权