iOS 面試題解答二

weixin_34234823發表於2018-03-02

1.精通視訊播放級編解碼有較深刻的理解

針對這個問題的前半部分我覺得就是對蘋果的播放相關的API熟悉程度。蘋果播放方面的庫就是AVFoudation。


3366589-40941f2e7ac9e4eb.png

這是我自己學習關於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 資料

相關文章