iOS 面试题解答二

1.精通视频播放级编解码有较深刻的理解

针对这个问题的前半部分我觉得就是对苹果的播放相关的API熟悉程度。苹果播放方面的库就是AVFoudation。


iOS 面试题解答二_第1张图片

这是我自己学习关于AVFoudation的一本书。 可以很清楚的认识到AVFoudation在苹果库中扮演什么角色。

它下面的四大类就是我们玩转视频的重要的几个工具,

Core Audio 音频事件类的框架,

Core Video 是针对数字视频所提供的管道模式。为Core Media 提供图片缓存和缓存池的支持

Core Media 是低级层级媒体管道的一部分

Core Animation 提供合成以及动画相关的框架。并且支持OpenGl 和OpenGL ES 渲染。

我们实际开发其实也就用到一小部分,比如 AVAudioPlayer 来播放一个本地视频文件,

或者用AVPlayer来解析播放视频文件。

至于编解码的理解,如果是一个成品的文件格式转为另一个 网上都能查到,我也就不多废话,我想说的是我很早之前一家公司是做智能家具方面的,里面有一个项目是把硬件摄像头设备的录像传到手机上,然后合成文件实时播放或者保存本地作为历史视频。

当然里面的核心比如数据传输链接通道建立这些事属于公司私有资产不便透露,大概流程就是建立链接通道(基于socket)然后拿到数据buffer,根据约定文档来解析每一组buffer 的数据内容。最后合成支持手机播放的文件格式(h264), 供手机进行视频播放。

我针对问题回答一个方案思路并不具体设计实现。

2.NSCache 和 NSDictionry 区别

NSCache  在内存不够的时候系统自动释放NCcache内存

NSCache 是线程安全的

NSCache 可以像字典一样add,remove query 数据

你可能感兴趣的:(iOS 面试题解答二)