💡
原文中文,约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 平衡和秒开策略。
➡️