接上一篇《舊手機利用(Android),當wifi,當mic,當ipcamera》
鑑於上一篇手機當做ipCamera使用的EsayIpcamera app只能選擇640x480的分辨率,這裏看到另一個app, spydroid, 可以支持修改設置編碼參數,還支持audio,重要的一點,它是開源的,在github上:fyhertz/spydroid-ipcamera
不過這個app有些老舊,使用的Android sdk的MediaCodec進行編碼,然後在啓用一個RTSP服務發送流,找了幾個版本的app都沒能成功運行,所以着手自己通過源碼來編譯了。
使用新搭建的android-studio 3.5.3
compileSdkVersion 28
buildToolVesion “29.0.2”
從可以使用的helloworld一點點添加spydroid源工程的類,xml, res改過來。
碰到很多AS編譯構建的問題,閃退的問題,menu菜單不顯示的問題等等。
這裏分析下源碼,順便鞏固學習app的開發,從源碼中可以提取出一個完整的java版本的RTSP服務端程序,和http服務程序(http服務使用的是其他的jar包)
進入正題------------ 源碼圖解:
界面:
RtspServer 類,rtsp服務程序:
兩個亮綠色的是循環體,線程,一個服務監聽,一個處理已經連接的客戶端的請求。
有關於rtsp 服務的請求處理:
h264視頻流的打包,發送:
記錄!待續