音视频核心概念 | 音视频面试题集锦 45 期

音视频核心概念 | 音视频面试题集锦 45 期

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

本文介绍音视频技术面试题,涵盖FFmpeg架构、数据结构、视频压缩、流媒体协议及性能优化等核心概念,适合入门学习者。重点包括FFmpeg四层模型、GOP概念、流媒体协议对比及编解码格式差异。

🎯

关键要点

  • FFmpeg 是开源多媒体框架,提供录制、转换、流式传输能力。
  • FFmpeg 的核心组件包括 libavformat、libavcodec、libavutil、libswscale 和 ffmpeg 命令行工具。
  • FFmpeg 数据结构层次分为四层模型:协议层、解/复用层、编解码层和数据存储。
  • GOP(Group of Pictures)由一个 I 帧和多个 P/B 帧组成,影响压缩率和随机访问能力。
  • MPEG 帧类型包括 I 帧、P 帧和 B 帧,各自有不同的参考关系和用途。
  • AVFormatContext 是实例,包含状态和流信息;AVInputFormat 是模板,包含函数指针。
  • 直播与点播的主要区别在于时态、交互方式和缓存策略。
  • 常见流媒体协议包括 RTMP、HLS 和 WebRTC,各有不同的传输延迟和应用场景。
  • 性能优化策略包括 DNS 预解析、GOP 缓存和减少探测。
  • 低延迟与流畅性之间的平衡可以通过 UDP、小 GOP 和动态缓冲实现。
  • H.264 和 H.265 的主要差异在于块单元、运动矢量和压缩率。
  • 使用 YUV 而非 RGB 的原因包括带宽、兼容性和压缩效率。
  • AAC 和 PCM 的主要区别在于压缩方式和音质。
  • 音频测试维度包括播放/录制功能、性能和质量。
  • 视频/图像合成步骤包括解复用、解码、处理、混合和编码。
  • 硬解与软解的区别在于单元、功耗和格式支持。
  • 面试速答金句包括 FFmpeg 四层模型、GOP 平衡和秒开策略。

延伸问答

FFmpeg 的核心组件有哪些?

FFmpeg 的核心组件包括 libavformat、libavcodec、libavutil、libswscale 和 ffmpeg 命令行工具。

什么是 GOP,它的作用是什么?

GOP(Group of Pictures)由一个 I 帧和多个 P/B 帧组成,影响压缩率和随机访问能力。

直播和点播的主要区别是什么?

直播是实时生成内容,点播是预生成内容,二者在交互方式和缓存策略上有所不同。

H.264 和 H.265 有什么主要差异?

H.264 和 H.265 的主要差异在于块单元、运动矢量和压缩率,H.265 的压缩率比 H.264 高约 50%。

如何实现视频的秒开?

实现秒开的策略包括 DNS 预解析、GOP 缓存和减少探测。

AAC 和 PCM 的主要区别是什么?

AAC 是有损压缩,文件大小可减少约 80%,而 PCM 是无损格式,音质接近 CD。

➡️

继续阅读