💡
原文中文,约5600字,阅读约需14分钟。
📝
内容提要
本文总结了音视频iOS面试题,重点包括音视频同步策略、H.264硬解码处理、音频回调限制、内存管理及直播播放器设计优化。讨论了实现音视频同步、解码信息处理、避免音频线程阻塞、内存管理及低延迟直播播放器的优化策略。
🎯
关键要点
- 音视频同步策略包括将视频同步到音频、音频同步到视频和两者同步到系统时钟。
- 在视频滞后时,可以通过丢帧和加速播放来追赶音频。
- 使用VideoToolbox进行H.264硬解码时,需要处理SPS/PPS信息并优化渲染性能。
- CVPixelBuffer的输出格式通常为kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange (NV12)。
- 在Audio Unit的Render Callback中,不能使用Objective-C方法,需通过C上下文传参安全交互。
- 使用AVAssetReader和AVAssetWriter时,需在循环中添加@autoreleasepool以避免内存暴涨。
- 设计低延时的iOS直播播放器需从网络层、解码层和渲染层进行全链路优化。
- 网络层应优先使用FLV或RTMP协议,动态缓冲策略可实现首帧秒开。
- 解码层应优先使用硬解码,异步解码可避免网络抖动阻塞。
- 渲染层应利用纹理缓存和YUV直接渲染,预渲染可消除黑屏等待感。