WFD簡介和連接過程


  WiFI Display(WFD)是WiFI Alliance 開發出的一種規范,使多媒體設備之間建立和維持一個基於WiFi的連接,並且利用這個連接推進視頻/音頻的在目標設備的呈現播放。

1 WFD簡介

   Wi-Fi Display,手機/移動PC-電視/顯示器將可以實現無線連接。該標准由WiFi無線產業聯盟制定,還在測試中,技術可以壓縮3D視頻,從而通過Wi-Fi傳輸。3D視頻很耗寬帶,如果不壓縮就會遲滯,Wi-Fi Display技術可以將延遲時間降到百分之一毫秒以下。

   Miracast實際上就是WiFi聯盟(WiFi Alliance)對支持WiFi Display功能的設備的認證名稱(該認證項目已經在2012年9月正式啟動)。而通過Miracast認證的設備,便可提供簡化發現和設置,實現設備間高速傳輸視頻。

2 WFD建立和檢測

(1)設備間建立WFD

1)必要的部件

  這里所說的設備,是指有android系統的手機、平板、TV等,或者有HDMI口的TV。

  設備間創建WFD是由2個設備來建立的,其中一個為發送端(Source),另一個為接收端(Sink)。 如下圖所示為WFD的建立示意圖。

 

2)使用無線傳屏器同電視建立連接

  1.將無線傳屏器和電視使用HDMI線連接;

  2.將電視打開,同時確保電視選擇HDMI接入,而不是在其他接入方式;

  3.使用micro-USB線給無線傳屏器供電;

  4.打開手機、平板或電腦的投射功能進行連接。

(2)測試Wifi Display(使用兩台手機)

1)打開手機設置界面點擊“顯示”  

2)在顯示界面點擊投射  

3)在投射界面點擊右上方的圖標  

4)點擊勾選“開啟無線顯示”  

5)在另一台手機進行上述同樣的操作

6)打開此設備,讓其他設備可檢測到此設備  

7)此時等待其他設備連接

8)此時另一台設備界面會有已打開設備的設備號,點擊連接,第一台設備將收到建立連接的提示   9)點擊“接收”,此時投射成功  

3 WFD調試基礎

(1)文件位置 在平台基線的base的Vendor/qcom/proprietary/下。

Kernel 中的WFD代碼位於\kernel\drivers\media\platform\msm\wfd

 

(2)JNI的交互 在WFD代碼中,WFD的實現是通過JNI同使用C/C++寫的framework層和java寫的API組成的。其控制流如下:

WFD app->SessionManagerService.java(SM-A)->WFDNative.java->JNI Layer->WFDNative.cpp->Wifidislay.cpp->SessionManager.cpp(SM-B)。

(3)WFD連接基礎

  WFD建立在wifi p2p連接基礎上的,支持以下兩種連接方式

1)wifi direct:(必須支持)

   設備無需通過無線路由器即可相互連接的技術,需要一台設備作為組織者建立一個類似ap功能的網絡,其他設備可以搜索到並用wifi連接上

2)TDLS:(可選)

  2台wifi設備連接在同一個Ap上,它們可以直接建立一個點對點的通道實現數據傳輸。 如下圖所示為WFD建立的11個過程。

  1.Device Discovery

  wfd設備之間的搜索探測功能,使用現有的wifi p2p技術為基礎,並在wifi信標、探測信號中加入了wfd特有格式的探測信號。

  2.Service discovery

  此功能是可選功能,也是建立在wifi p2p原有的servicediscovery基礎上,並加入wfd特有格式的請求和回應命令。

 3.Device selection

   用戶選擇一個需要連接的設備,Wifi-direct 連接的強制和默認的,TDLS可選。若有2個sink,一級和二級sink,wifi p2p組織者必須是source。

4.Wifi connection setup

  使用wifi direct和tdls技術,建立wfd基礎線路。 將設備建立TCP連接,並創建一個控制端口來建立和維護session,該端口跑的協議是RTSP。

5.Display capability negotiation

  參數協定,決定需要使用的最佳參數,包括音視頻解碼率、分辨率、信道負載等等。

  若有一級和二級sink存在,都需要單獨設定。

  過程和命令如下圖。

 6.UIBC

   setup user input back channel,用戶輸入反向通道,此功能是可選的。

  有兩種類型:1)generic:硬件無關型,如鼠標點擊,按鍵點擊、touch點擊、放大縮小等。 2)HIDC人機接口設備控制:包括紅外線、USB、藍牙、WIFI、游戲桿、遙控器等。

7.Link content protection

   建立內容保護機制,可選功能。采用的是HDCP2.0安全協議,需要在數據流傳輸前建立。 8.WFD Session setup

  WFD核心步驟,必須在能力協定的基礎上建立。建立過程使用RTSP通信,具體見下圖。

9.AV Streaming

  先將Audio和video多路復用成一個MPEG2傳輸流。

  在傳輸流頭部用MPEG2-TS格式打包,並封裝RTP、UDP、IP報頭如下圖。

 

10.Payload control capability

  在數據流建立之后,需要有控制管道負載的能力,包含以下功能: 1)時間同步  如果有2個sink設備,二者音視頻必須同步,實現保真。2)編碼速率控制:因信道條件和電源管理優化控制管道負載。

11.Display Session Teardown

  WFD會話終止,按連接分兩種方法:

    1)Wifi-direct:跟 wifi p2p規范一樣,source和sink有序拆除連接。

    2)TDLS: IEEE P802.11z specification規范動作,有序的拆除終止連接。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM