1、Airplay 投屏
手機系統兼容性:兼容iOS9、iOS10、iOS11(目前需要適配)系統,每次iOS系統升級,對應的Airplay Mirroring協議會更新,破解成本高。
運行環境:Airplay接收視頻流端可以是PC或者是iOS手機上的App,手機App上面需要對視頻流H264再次解碼,性能消耗較大。
應用:目前主要錄屏軟件采用的方式是,將手機屏幕內容投屏到PC軟件上。
2、ReplayKit2
手機系統兼容性:iOS11以上系統,官方提供的直播錄屏方案,穩定性教好。
運行環境:需要App實現ReplayKit2框架的代碼,跟隨App,需要一定操作流程。
應用:直播App軟件,在手機上面進行編碼,對手機性能要求較高。
3、libimobiledevice方式
手機系統兼容性:iOS9(未驗證)、iOS10、iOS11 以上系統,蘋果的itunes USB協議破解版本,兼容性較好
運行環境:libimobiledevice代碼開源,可以運行在MacOS、Windows、linux系統之上。需要USB將手機連接Mac。
應用:一些針對iOS手機的信息展示功能小軟件
局限:libimobiledevice代碼中有截屏功能,截屏每秒鍾最多只有4幀,無法滿足實時采集需求。
4、AVCaptureDevice deviceWithUniqueID 方式
手機運行環境:iOS系統都兼容
運行環境:MacOS系統,效果很好,QuickTime的采集方式。需要USB將手機連接Mac。
應用:暫時沒有看到Mac上面的軟件采用
相關代碼:https://github.com/openstf/ios-minicap/blob/master/src/StreamClient.mm
其他平台實現:
該方式是最完美的方式,需要繼續調研,Windows上面比較少見。有一個人宣稱做出來了,但是沒有公開代碼。
https://plus.google.com/114395554184391775867/posts/N3pKpzK8A6K