Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 手機Android音視頻采集與直播推送,實現單兵、移動監控類應用

手機Android音視頻采集與直播推送,實現單兵、移動監控類應用

編輯:關於Android編程

恰逢2014 Google I/O大會,不難看出安卓在Google的推進以及本身的開放性作用下,已經快延生到生活的各個方面了,從安卓智能手機、平板,到可穿戴的Android Ware、眼鏡、手表、再到Android汽車、智能家居、電視,甚至最近看新聞,日本出的幾款機器人都是Android系統的,再把目光放回監控行業,傳統監控中的移動終端設備,例如:單兵設備、手持設備、車載終端設備,包括家庭監控中用到的智能設備,都可以用Android系統替代了,不僅開發容易,而且易擴展,設備也更加智能了。

vcC0o6zO0sPHz8jKtc/WQW5kcm9pZMrWu/q1xNL0ytPGtbLJvK/T68nPtKu1xMq1yrG84L/YuabE3KGjR29vZ2xlIENvZGXJz9PQ0ru49r+q1LTP7sS/o7o8c3Ryb25nPnNweWRyb2lkLWlwY2FtZXJhPC9zdHJvbmc+o6xzcHlkcm9pZMTc1NpBbmRyb2lkyta7+tbQvajBotK7uPa+q7zytcRIVFRQIFNlcnZlcrrNUlRTUAogU2VydmVyo6y5psTcwOAmIzIwMjg0O9Pa0ruw47XESXBDYW1lcmGjrLzIxNy5u82ouf3N+NKzt8POysnjz/G7+rKi0N64xLzgv9jF5NbDo6y7ucTczai5/Wh0dHC78tXfcnRzcNCt0umjrLvxyKG84L/YtcTKtcqx0vTK08a1o6y2+MfStNPG5LT6wuu94bm51tCjrL/J0tS/tLP2o6xzcHlkcm9pZNLRvq3Ktc/WwctSVFNQU2VydmVyoaJSVFNQQ2xpZW50oaJSVFCholJUQ1ChokgyNjShokFBQy4uLrXItci5psTco6zX3Nauo6zU28PH0OjSqrXEVXRpbGl0eba80tG+rb7fsbjBy6Os1rvSqr2r1eLQqbmmxNzX6brPtb3Su7/pvs3E3Mq1z9bU28PH0qq1xNaxsqXQ6MfzwcuhozwvcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140627/201406270911037.jpg" alt="\">

圖 - Android實現IPCamera的功能


在之前的博客“基於Darwin實現的分布式流媒體直播服務器系統”中,我們用Windows的攝像頭和麥克風分別采集音視頻數據,編碼成H264和AAC,再用RTP打包,推送到Darwin流媒體服務器,實現直播。同樣,我們參考EasyIpCamera的設計方法,App啟動後,連接並保活至中心管理服務器,接收來自CMS的控制命令。采集安卓攝像頭視頻和mic聲音,進行H264和AAC編碼(這裡我們只參考spydroid實現了硬編碼,軟編碼在後續中將會更新進來,不過經過嘗試,目前大部分Android音視頻采集都支持硬編碼),再通過RTSP和RTP,將實時音視頻數據推送到流媒體服務器,並由流媒體服務器進行轉發和分發,實現直播。

\

圖 - Android接入EasyDSS


這裡主要就是RTSP/RTP的推送過程,這個在之前的博客“基於DSS的先偵聽後推送式流媒體轉發”中詳細描述了這個過程,具體的推送代碼也可以參考live555的DarwinInjector類實現,咱們這裡直接修改spydroid中的RTSPClient就可以實現ANNOUNCE/SETUP/PLAY/RTP過程了,具體流程源代碼及協議流程也可以參考“用Darwin和live555實現的直播框架”中的描述。


Android采集端下載:http://pan.baidu.com/s/1kTwrasB EasyDSS(Win)服務器下載:http://pan.baidu.com/s/1ntoFSSh EasyDSS(Linux)服務器下載:http://pan.baidu.com/s/1c0b6bUo

使用方法與博客“基於Darwin實現的分布式流媒體直播服務器系統”中EasyIpCamera的方法一致,只需要配置EasyDSS服務器CMS的地址和端口號,就可以接入到EasyDSS,後續所有流程與EasyIpCamera類似,只有當有客戶端請求實時視頻的時候才會推送音視頻流,其他情況只與CMS連接保活,流媒體處於Idle狀態。


實時效果:經過測試對吧,延時性與網絡和手機的相關性很大,不同網絡條件,不同手機硬件,可能對比出的延時效果不一樣,用三星Glaxy3手機,在網絡情況比較好的情況下,實時音視頻的延時大概在1.3s(公網傳輸)左右:

\

圖 - 連續測試2"52',延時1.35s


\

圖 - 連續測試9"17'',延時1.58s


未來還會繼續擴展和優化Android實時音視頻采集程序,包括加入錄像、抓圖、軟編碼、對講、抖動控制、錄像上傳等等方面,歡迎大家共同交流和進步!




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved