【流媒體Mediasoup】 Android項目中使用 Mediasoup-client 並和Web端 服務端通信 (七)

前言

上篇文章對 【流媒體服務器Mediasoup】 源碼中使用到的 protoo.websocket 基本API講解與使用(六),本章節主要對MediaSoup的Android客戶端與之前搭建的服務端以及Web端通信,並且實現音視頻互通。

      在下一篇文章中將對Mediasoup服務端 Socket.io 替換 Protoo WebSocket 的講解。

    MediasoupClient開發文檔

Android中使用Mediasoup+Mediasoup庫

      在Android項目中使用libmediasoup 主要有兩種方式:

         1: Android studio app下的 build.gradle 直接依賴   implementation 'org.mediasoup.droid:mediasoup-client:3.0.4-beta-1'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'org.mediasoup.droid:mediasoup-client:3.0.4-beta-1'
    implementation 'org.java-websocket:Java-WebSocket:1.4.0'

    implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha01'

}

      之後就可以通過這個庫進行Api邏輯開發,具體邏輯在後續博文中也會進行一一介紹,只要WebSocket或者信令打通了,則就可以完完全全能夠連到之前博文中部署的服務端進行連接,並且能夠與Web端進行音視頻通信。

         這個方法相對來說適合上層做業務邏輯不用去動底層代碼,但是有時候可能需要改動到底層庫則會顯得比較無力。

          要到達商業化軟件則還是得來動手編譯libMediasoupClient庫

   2: 自己動手編譯庫。

          由於libmediasoup-client 中需要依賴一些Webrtc的庫,在Linux 下進行編譯,下載WebRtc源碼可能網絡會稍微收到一點限制。

          具體如何編譯這裏不做太多詳細介紹 可以百度搜索: mediasoupclient webrtc  一些文章會有詳細教程。

        【官網編譯教程:https://mediasoup.org/documentation/v3/libmediasoupclient/installation/

          編譯時還是會有很多環境問題需要耐心的去解決如 GCC、G++ 需要的版本 支持C++11及以上特性。

           首先編譯出libwebrtc.a  最後在編譯出libmediasouoClient.a

           到目前爲止只是編譯出了靜態庫,那麼如何在Android上使用靜態庫進行NDK開發呢?

           目前爲止網上已經有大神已經把一些基礎文件做好了,並寫好cmake腳本,具體項目後續上傳到文件資源。

          (編譯出libmediasoupclient.a 也可以自己去寫cmake 腳本進行編譯出so)

                  

   deps 裏面是整個源碼以及要編譯需要依賴的頭文件

   jni     java層調用的業務代碼

   CMakeList.txt     已經完全寫好編譯的腳本 

Android Studio中對 Mediasoup client  SO庫的編譯

 

      以上介紹了2種 使用自己編的依賴庫去NDK開發。

      那麼也可以完全使用Android Studio進行對libwebrtc.a以及 libmediasoupclient.a 的直接編譯。

      首先可以把Webrtc 以及 MediasoupLib 需要的源碼下下來,附上下載地址(裏面已經寫好了cmake編譯靜態庫的腳本)

       整個代碼結構如第一節所看到的 放到deps 文件夾目錄下。

       這邊直接給出下載地址,直接下載完導入Module 即可。

      下載地址:

                    

 

介紹幾個重要的類

          

                   未完待續。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章