chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

iOS Airplay Screen Mirroring 同屏技術詳解

LiveVideoStack ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-20 15:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

投屏技術已經被大量用在身邊的產品,比如電視投屏,投影儀,視頻會議產品中。 在iOS平臺外的其他平臺中都已經有非常成熟的標準和實現(xiàn)。但在封閉的蘋果iOS和Mac系統(tǒng)中,蘋果使用私有的Airplay協(xié)議進行多屏互動,只開放給自己生態(tài)中的產品。對此相關技術限制比較嚴格,甚至在iOS9中加上了更嚴格的加密算法,直接導致很多投屏的產品不可用。

iOS中的投屏方案

1.ReplayKit

iOS9中引入了ReplayKit, 讓開發(fā)者有了一定的獲取屏幕數(shù)據(jù)的能力. 并在iOS10和iOS11中繼續(xù)擴展了ReplayKit的能力. 但還是有很大的限制, 比如在使用ReplayKit的api時只能錄制當前應用的應用, 無法在應用進入后臺之后繼續(xù)錄屏. 如果使用系統(tǒng)級別的屏幕錄制,又無法獲得每一幀的數(shù)據(jù),只能獲得最后錄取的單個視頻. 這樣對第三方的開發(fā)有了非常大的限制.

2.Airplay

Airplay是蘋果提供的一種多屏互動技術, 可以將音頻照片,視頻, 屏幕從iOS設備或者Mac電腦上投射到支持airplay接受的設備上,如Apple TV。這樣可以將小屏映射到大屏,可以無線音樂,可以圖片分享等等. 但是Airplay屬于蘋果私有協(xié)議方案,設備間的協(xié)商與傳輸過程都進行了加密處理,并不能用于其他平臺中。我們已經完整的逆向了Airplay的全部協(xié)議棧,并破解了其加密方案,可以提供跨平臺Airplay接收方案。這樣可以方便實現(xiàn)跨平臺的多屏共享。

同時,通過研究,我們也可以通過Airplay Mirroring技術,做到在iPhone上把自己的屏幕的內容投送給當前iPhone,在某些情況下這種airplay的破解卻非常有用處,比如手游直播。這中投屏方案使用了iOS原生的投屏能力,并且是完全的軟件方案,非常方便進行集成和使用。

Airplay Mirroring實現(xiàn)原理

下面將介紹Airplay Mirroring接收端的實現(xiàn)原理,并揭示相關協(xié)議交互過程。

Airplay Mirroring客戶端的同屏交互過程,分為三個主要步驟:

設備廣播與發(fā)現(xiàn)

信息交互與能力協(xié)商

音視頻數(shù)據(jù)接收與解擾

設備廣播與發(fā)現(xiàn)

Airplay設備間的廣播與發(fā)現(xiàn)通過Bonjour協(xié)議進行。Bonjour也被稱為ZeroConf, mDNS等,可以用來在局域網(wǎng)內進行數(shù)據(jù)記錄廣播與發(fā)現(xiàn)。該協(xié)議比較成熟,網(wǎng)上可以找到諸多介紹。對于實現(xiàn)的Airplay(包括Mirroring)接收端而言,首先需要注冊兩類服務,即airtunes和airplay。 Airtunes服務主要用來處理廣播視音頻接收能力協(xié)商,是最為重要的服務內容,對應Bonjour記錄名稱為'_raop._tcp',注冊服務端口不限,一般為了避免沖突,建議采用較高的端口數(shù);Airplay服務主要用來兼容傳統(tǒng)的streaming等服務,對應記錄名稱為'_airplay._tcp',注冊端口一般為7000。

具體的服務廣播內容,可以進行局域網(wǎng)抓包,找到對應記錄內容。

當接收端通過Bonjour廣播器服務能力后,發(fā)送端(如iPhone等各類iOS設備)就可以發(fā)現(xiàn)該接收端。

信息交互與能力協(xié)商

當發(fā)送端發(fā)現(xiàn)接收端后,可以開始信息交互與能力協(xié)商過程。該部分協(xié)議協(xié)議格式類似rtsp協(xié)議格式。主要分為兩個階段,設備匹配與和能力協(xié)商。

當發(fā)送端鏈接服務端后,設備匹配過程即開始。通信雙方會進行fairplay加密協(xié)議進行信息交換,當完成信息交換后,客戶端后續(xù)必須使用這部分信息來處理加密過的密鑰,才能獲得進一步視音頻解密密鑰。在iOS9之后,在fairplay過程之前,增加一個設備匹配過程,即pair-setup、pair-verify過程,其主要算法是較為標準的非對稱公鑰交換算法。

當兩端成功匹配后,開始進行能力協(xié)商與信息交換,這些信息包括,設備名稱、代號,音視頻接收相關端口配置,視頻接收能力以及加密密鑰等,相關信息使用binary plist格式進行封裝。

可以參考https://github.com/espes/Slave-in-the-Magic-Mirror找到相關協(xié)議交互的一些細節(jié)。

音視頻數(shù)據(jù)接收與解密

雙方協(xié)商成功后,發(fā)送端開始向接收端發(fā)送視音頻數(shù)據(jù),mirroring數(shù)據(jù)是通過TCP進行發(fā)送,為h.264 ES流格式。音頻是通過RTP協(xié)議進行發(fā)送,根據(jù)內容的不同音頻編碼為ALAC或者AAC-ELD。

音視頻流都是通過AES進行了加密處理,密鑰需要通過上面一步的進過信息交互后的fairplay模組對setup過程中接收到的加密密鑰進行解密,獲得的AES解密需要的IV和KEY,然后經過AES解擾,即可以獲得最終的視音頻清流。

其他需要注意的地方

Airplay沒過Session傳送過來的視頻h264碼流,只有開頭一個關鍵幀. 因此這種情況并不適合直播這種需要固定GOP的場景. 還需要做進一步的轉碼的工作,或者直接在壓縮域進行處理,獲得合理的GOP結構。

我們對Airplay相關協(xié)議的逆向工程已經封裝成了跨平臺的類庫和框架, 支持windows/Mac/Android/iOS/linux, 在自己內部產品中使用已經非常穩(wěn)定, 如果有需要可以聯(lián)系我們. 也歡迎各類技術與應用場景討論。我的郵箱leeoxiang#http://gmail.com

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • iOS
    iOS
    +關注

    關注

    8

    文章

    3400

    瀏覽量

    154658

原文標題:iOS Airplay Screen Mirroring 同屏技術詳解

文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    大彩講堂:VisualHMI-LUA教程-on_screen_change回調函數(shù)使用指南

    on_screen_change回調函數(shù)使用指南
    的頭像 發(fā)表于 08-31 16:32 ?417次閱讀
    大彩講堂:VisualHMI-LUA教程-on_<b class='flag-5'>screen</b>_change回調函數(shù)使用指南

    多接口擴展塢加充電寶方案

    AirPlay、miracast、DLNA等無線功能。 5.支持蘋果手機和部分安卓手機安卓平板有線(通過type-c內USB2.0或
    的頭像 發(fā)表于 08-28 11:35 ?396次閱讀
    多接口擴展塢加充電寶方案

    fe.screen-sim 助力汽車轉向系統(tǒng)測試設備的高效交付

    在汽車智能制造領域,虛擬調試正逐步從“輔助工具”轉變?yōu)椤傲鞒毯诵摹?。德國科羅世(KlotzGmbH)公司通過fe.screen-sim平臺,將虛擬調試深度融入設備交付流程,實現(xiàn)了約90%的項目在線
    的頭像 發(fā)表于 08-15 14:32 ?575次閱讀
    fe.<b class='flag-5'>screen</b>-sim 助力汽車轉向系統(tǒng)測試設備的高效交付

    盟通科技與德國F.EE集團達成戰(zhàn)略合作,推廣fe.screen-sim虛擬調試軟件

    近日,盟通科技正式宣布與德國F.EE集團達成戰(zhàn)略合作關系,并成為其fe.screen-sim虛擬調試軟件的授權推廣及技術服務合作伙伴。此舉標志著雙方將攜手推動高性能工業(yè)仿真平臺在制造業(yè)中的應用落地
    的頭像 發(fā)表于 08-01 16:48 ?855次閱讀
    盟通科技與德國F.EE集團達成戰(zhàn)略合作,推廣fe.<b class='flag-5'>screen</b>-sim虛擬調試軟件

    佛瑞亞集團旗下品牌Appning與4screen達成合作

    4screen是全球首個實現(xiàn)駕駛員與周邊環(huán)境無縫連接的平臺,使品牌能夠通過車載顯示,實時觸達在途的駕駛員。此次合作旨在為駕乘者提供個性化、情境感知的推薦服務,同時確保汽車制造商能夠始終掌控用戶界面。
    的頭像 發(fā)表于 07-16 17:55 ?654次閱讀

    媒體查詢詳解

    。 round-screen屏幕類型,圓形屏幕為true,非圓形屏幕為false。 dark-mode系統(tǒng)為深色模式時為true,否則為false。場景示例 下例中使用媒體查詢,實現(xiàn)屏幕橫豎切換
    發(fā)表于 06-25 08:26

    從矢量降噪到雙向傳,時空壺 W4Pro 如何重構 AI 技術標準?

    在AI技術領域競爭日趨白熱化的當下,時空壺W4Pro憑借其一系列開創(chuàng)性技術,尤其是矢量降噪與雙向技術,猶如一顆璀璨的明星,在眾多同類
    的頭像 發(fā)表于 06-05 10:29 ?548次閱讀
    從矢量降噪到雙向<b class='flag-5'>同</b>傳,時空壺 W4Pro 如何重構 AI <b class='flag-5'>同</b>傳<b class='flag-5'>技術</b>標準?

    CY7C65215使用IOS中的USB CDC UART類驅動程序是否可以與IOS一起工作?

    我知道 CY7C65215 沒有適用于 IOS 的驅動程序。但是,使用 IOS 中的 USB CDC UART 類驅動程序是否可以與 IOS 一起工作? 我們正在考慮在我們的設備中安裝 CY7C65215 而不是 FTDI US
    發(fā)表于 04-30 07:57

    SMA接頭制造工藝詳解:精密加工技術與實現(xiàn)策略

    SMA接頭制造工藝詳解:精密加工技術與實現(xiàn)策略
    的頭像 發(fā)表于 04-26 09:22 ?418次閱讀
    SMA接頭制造工藝<b class='flag-5'>詳解</b>:精密加工<b class='flag-5'>技術</b>與實現(xiàn)策略

    DLPDLCR230NPEVM如何更改splash screen?

    做項目需要投影儀投影幾張固定的圖片,查閱了論壇中有人有相似的問題,他的是2000evm。咨詢了他,他尋求了技術支持重新生成了固件,用SPI燒寫器更換固件就可以改變內置的splash screen
    發(fā)表于 02-21 15:31

    如何通過IIC對DLPDLCR2000 evm評估板中修改splash screen

    預實現(xiàn)功能:控制投影儀輸出4中不同大小的1:1圖像。 實現(xiàn)方案:查閱了相關資料,了解DLPDLCR可以存儲4張splash screen,準備通過IIC修改splash screen圖像,然后通過
    發(fā)表于 02-21 07:02

    連接上DLP4710 EVM之后,想要更改GUI的splash screen出現(xiàn)報錯怎么解決?

    現(xiàn)在連接上DLP4710的EVM之后,想要更改GUI的splash screen,但是最終報警:Validate selected splash image Files error! 請問我的步驟
    發(fā)表于 02-19 07:07

    為什么 Chromecast、Airplay 和藍牙不能和睦相處?

    的 DigiKey 博客] ,就會知道我是向后兼容的支持者,也是格式戰(zhàn)的批評者。不過我也明白,關于生態(tài)系統(tǒng)的工程討論往往歸結為預算、技術、硬件、物流、編程、知識產權和規(guī)劃。以 Chromecast、Airplay、藍牙和 Wi-Fi 為代表的無線通信就是很好的例子。 兼容
    的頭像 發(fā)表于 01-25 16:53 ?745次閱讀
    為什么 Chromecast、<b class='flag-5'>Airplay</b> 和藍牙不能和睦相處?

    迅為RK3588S開發(fā)板多顯多異顯多異觸

    迅為RK3588S開發(fā)板多顯多異顯多異觸
    的頭像 發(fā)表于 11-29 14:59 ?1340次閱讀
    迅為RK3588S開發(fā)板多<b class='flag-5'>屏</b><b class='flag-5'>同</b>顯多<b class='flag-5'>屏</b>異顯多<b class='flag-5'>屏</b>異觸

    3D堆疊像素探測器芯片技術詳解(72頁PPT)

    3D堆疊像素探測器芯片技術詳解
    的頭像 發(fā)表于 11-01 11:08 ?3769次閱讀
    3D堆疊像素探測器芯片<b class='flag-5'>技術</b><b class='flag-5'>詳解</b>(72頁PPT)