《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于Android智能手機的視頻上傳軟件
一種基于Android智能手機的視頻上傳軟件
來源:微型機與應用2013年第24期
陳偉軍1,鄭 睿2,虞 鴻2
(1.萬向錢潮股份有限公司,浙江 杭州311215;2.浙江工業大學 信息工程學院,浙江 杭州310
摘要: 提出了一種基于Android智能手機的視頻監控系統視頻上傳客戶端軟件設計方案,介紹了整個系統的框架和客戶端軟件開發過程。基于Android操作系統平臺,通過擴展會話初始化協議(SIP)實現信令控制,采用系統多媒體框架實現視頻采集與編碼,使用LocalSocket本地映射獲取編碼視頻數據,并以實時傳輸協議(RTP)實現數據傳輸。
Abstract:
Key words :

摘  要: 提出了一種基于Android智能手機的視頻監控系統視頻上傳客戶端軟件設計方案,介紹了整個系統的框架和客戶端軟件開發過程。基于Android操作系統平臺,通過擴展會話初始化協議(SIP)實現信令控制,采用系統多媒體框架實現視頻采集與編碼,使用LocalSocket本地映射獲取編碼視頻數據,并以實時傳輸協議(RTP)實現數據傳輸。
 關鍵詞: Android;視頻上傳;會話初始化協議;LocalSocket;實時傳輸協議

    視頻監控[1]以其直觀、準確、及時和信息內容豐富而廣泛應用于許多場合。國內外很多公司都投入了很大的精力在視頻監控系統的研究上,如國外的博世、松下,國內的海康和大華等,他們研發供應監控產品,并提供解決方案。近年來Android操作系統[2-3]發展迅速,擁有廣大的用戶群體。當前市場上基于Android的視頻上傳軟件,通過調用第三方庫實現視頻數據編碼,由CPU實現編碼數據算法,資源占用率高。本文設計了一種基于Android智能手機的視頻上傳客戶端軟件,以SIP[4]協議作為控制信令,采用手機自帶攝像頭錄制視頻,基于系統多媒體框架實現視頻數據編碼,并上傳數據到服務器。
1 視頻監控系統框架
    系統由視頻播放客戶端、服務器和視頻上傳設備端3部分組成。視頻播放客戶端包括手機客戶端和PC客戶端,播放設備端上傳的視頻;服務器由一個SIP服務器和一個媒體轉發服務器組成,SIP服務器負責對設備端和播放客戶端的管理,媒體轉發服務器實現媒體數據轉發,將設備端的視頻數據轉發給播放客戶端;設備端通過WiFi或者3G連接網絡,登錄到SIP服務器,可以接收播放客戶端的視頻邀請并與媒體轉發服務器建立連接,上傳視頻到媒體轉發服務器。系統框架圖如圖1所示,實線為SIP信令流,虛線為RTP媒體流。

2 客戶端軟件設計
    客戶端設計包括頂層用戶界面設計和底層的功能模塊設計。用戶界面用于實現人機交互;功能模塊主要有信令控制模塊、視頻采集編碼模塊和視頻上傳模塊,分別實現客戶端與SIP服務器間交互、視頻數據采集編碼和將視頻上傳到媒體轉發服務器的功能。
2.1 界面設計
    用戶界面主要有登錄界面、等待視頻邀請界面和視頻采集界面,是通過調用應用程序框架層的API接口和View組件,配合XML布局文件實現的Activity。在登錄界面輸入賬號和密碼,登錄成功后跳轉到等待視頻邀請界面;在等待視頻邀請界面,用戶可以選擇登出服務器;若收到視頻邀請消息,可以跳轉到視頻采集界面;在視頻采集界面進行視頻采集、編碼與上傳;若收到結束邀請消息,則斷開與媒體轉發服務器的連接,回到等待視頻邀請界面,等待下一次的視頻邀請。
2.2 信令控制模塊
    Android手機客戶端與SIP服務器之間的信息控制采用SIP協議,采用XML擴展SIP消息體。SIP消息實現的功能有設備注冊、設備?;?、邀請視頻和結束邀請,如圖2所示。

    設備注冊時,客戶端向服務器發送兩次REGISTER消息,第一次客戶端向服務器發送REGISTER消息,服務器回復帶有密文消息體的200 OK消息;客戶端解析密文,通過REGISTER將解析后的密文發回服務器,服務器回復200 OK表明注冊成功。注冊成功后,客戶端需要向服務器發送?;钚畔???蛻舳税l送REGISTER消息,消息體中是?;钫埱笮畔?;服務器回復帶有?;铐憫Ⅲw的200 OK消息。視頻邀請時,服務器向客戶端發送INVITE消息,消息體中有媒體轉發服務器的IP和數據接收端口號;客戶端回復200 OK,并在消息體中設置上傳視頻的相關信息;服務器準備就緒后,向客戶端發送ACK消息;客戶端回復200 OK表示客戶端準備就緒,可以進行視頻上傳。結束視頻邀請時,服務器向客戶端發送BYE消息,客戶端回復200 OK消息表示收到結束視頻請求。
2.3 采集編碼模塊
    由于網絡傳輸帶寬的限制,視頻需經過編碼發送,本文采用H.264編碼標準[5]。Android系統MediaRecorder類支持的文件封裝格式有AAC ADTS、AMR NB、AMR WB、MP4、RAW_AMR、3GPP,本文采用MP4封裝格式進行研究。MP4封裝格式[6]基于QuickTime容器格式定義,媒體描述與媒體數據分開,目前被廣泛應用于封裝H.264視頻和ACC音頻,是高清視頻的代表。
    本文采用MediaRecorder錄制視頻,基于Android系統的多媒體框架進行視頻H.264編碼,將錄制的視頻流映射到本地LocalSocket上,獲取編碼數據。為了獲取H.264碼流,通過啟動兩次MediaRecorder實現。第一次啟動,設置視頻錄制相關參數,并將錄制視頻以MP4格式保存到當前應用目錄下,從MP4文件的尾部找到SPS、 PPS和視頻數據存放起始位置;第二次啟動后將錄制的視頻映射到LocalSocket的發送端,在LocalSocket的接收端獲取視頻流,并通過之前第一次啟動MediaRecorder得到的視頻存放位置從視頻流中截取H.264碼流,每次提取一幀數據,由視頻上傳模塊發送給媒體轉發服務器。H.264碼流獲取流程如圖3所示。

2.4 視頻上傳模塊
    為了擁有較好的實時性,視頻數據基于RTP協議傳輸,根據RFC3984協議進行操作。手機底層硬件是按照相同速率進行視頻采集的,故每一幀的停留時間是相同的。如果采用編碼后直接打包發送的策略,數據大的幀其分片包多,此期間發包速率高;數據小的幀分片包少,此期間發包速率低。可見此種發包機制的發包速率不穩定,包發送速率是由幀的大小決定,這樣會出現發包高峰期,造成網絡阻塞,從而導致丟包率升高,影響了接收端的圖像質量。
    針對這一情況,本文設計了一種平穩發包策略,通過開辟相應的發送緩存,以較平穩的速率來發送視頻數據包。緩存模仿隊列進行設計,采用先進先出的原則,實現了一個緩存鏈表。開啟兩個線程,一個線程負責將分片后的數據包從緩存尾部放入緩存,另一個線程負責從緩存頭部提取數據包進行發送。緩存通過設計兩個類實現:StreamBufNode.java類和StreamBuf.java類。其中StreamBufNode.java類定義了緩存鏈表節點的數據類型和相關操作方法;StreamBuf.java類定義了整個緩存鏈表的數據結構、加入節點到鏈表和從鏈表取出節點等操作方法。發包的緩存示意圖如圖4所示。

 

 

    本文設計實現了一種基于Android智能手機的視頻監控系統視頻上傳客戶端軟件,并介紹了視頻監控系統的整體框架和視頻上傳客戶端軟件設計方案。主要介紹了客戶端軟件的用戶界面和功能模塊設計,包括信令控制模塊、采集編碼模塊和視頻上傳模塊。軟件基于日常使用的Android智能手機開發,移動性強,成本低。未來是移動的世界,基于智能手機設備端視頻監控軟件的設計和實現具有一定的現實意義。
參考文獻
[1] 周毅.基于Android系統的視頻監控客戶端軟件的設計與實現[D].浙江:浙江工業大學,2012.
[2] 楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010.
[3] 金仙力,陳晶晶.Android平臺上的實時圖像采集與遠程存儲系統設計[J].無線互聯科技,2012(10):64-65.
[4] IETF.RFC 3261 SIP: Session initiation protocol[EB/OL].[2002-07-19].http://www.ietf.org/rfc/rfc3261.txt.
[5] 周恒.H.264的研究與軟件實現[D].南京:南京郵電學院,2004.
[6] 周瑾,支琤,宋利.流媒體應用中TS和MP4格式分析[J].信息技術,2007,31(7):16-19.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久黄金**| 欧美一区2区三区4区公司二百| 亚洲另类一区二区| 精品9999| 狠狠色伊人亚洲综合成人| 国产亚洲成av人片在线观看桃| 国产精品你懂得| 国产精品女主播| 国产精品毛片| 国产精品羞羞答答xxdd| 国产精品午夜久久| 国产精品综合| 国产日韩欧美日韩大片| 国产视频亚洲精品| 国产一区二区三区高清在线观看| 国产欧美一区二区三区在线看蜜臀 | 欧美视频在线视频| 欧美性做爰猛烈叫床潮| 欧美视频一区在线| 国产精品久久网站| 国产欧美高清| 国产亚洲激情视频在线| 国语精品一区| 伊人婷婷久久| 最新国产精品拍自在线播放| 99re这里只有精品6| 亚洲丝袜av一区| 午夜精品成人在线视频| 久久大综合网| 亚洲精品久久久蜜桃| 一区二区三区**美女毛片| 亚洲网址在线| 欧美中文字幕精品| 久久亚洲国产精品一区二区 | 国产精品丝袜白浆摸在线| 国产老女人精品毛片久久| 国产综合网站| 亚洲国产日韩精品| 一区二区高清视频在线观看| 亚洲女人小视频在线观看| 欧美中文字幕在线视频| 最新国产乱人伦偷精品免费网站 | 欧美精品在线免费播放| 国产精品久久久久久久9999| 国产三级欧美三级| 亚洲国产欧美不卡在线观看| 一本大道久久a久久精品综合| 亚洲免费在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲精品一区二区三区不| 亚洲视频免费在线观看| 久久精品视频导航| 欧美精品国产精品日韩精品| 国产精品视频精品| 亚洲夫妻自拍| 亚洲免费人成在线视频观看| 亚洲七七久久综合桃花剧情介绍| 亚洲一二三级电影| 久久躁狠狠躁夜夜爽| 欧美日韩小视频| 黄色在线一区| 宅男噜噜噜66一区二区| 亚洲春色另类小说| 亚洲一区二区三区色| 玖玖在线精品| 国产精品亚洲成人| 亚洲国产精品专区久久| 亚洲一区日本| 亚洲伦理在线| 久久青青草原一区二区| 国产精品二区在线| 亚洲激情成人网| 性欧美8khd高清极品| 一区二区三区精品视频| 久久蜜桃香蕉精品一区二区三区| 欧美午夜一区二区| 亚洲国产精品一区| 欧美在线日韩在线| 亚洲免费伊人电影在线观看av| 美日韩精品视频免费看| 国产精品视频网| 亚洲精品在线视频| 亚洲韩国精品一区| 久久国产精品久久久久久久久久| 欧美日韩伊人| 亚洲国产一区二区三区在线播| 欧美一级专区| 午夜精品国产更新| 欧美色区777第一页| 亚洲国产精品久久久久| 欧美一区二区在线免费观看| 亚洲免费小视频| 欧美日韩亚洲91| 91久久精品日日躁夜夜躁欧美| 久久国产精品第一页| 欧美在线播放视频| 国产精品久久久久aaaa| 日韩一级黄色av| 一区二区三区免费网站| 欧美精品一区二区三区蜜桃| 伊人成综合网伊人222| 久久爱另类一区二区小说| 午夜视频久久久| 国产精品免费观看视频| 日韩视频在线一区二区三区| 亚洲美女在线看| 欧美国产1区2区| 亚洲高清久久网| 亚洲第一成人在线| 久久久久久欧美| 国产综合视频| 久久国产精品久久w女人spa| 久久精品99久久香蕉国产色戒| 国产精品亚洲综合一区在线观看 | 国产主播精品在线| 欧美一区2区视频在线观看| 欧美亚洲综合久久| 国产精品免费小视频| 亚洲永久网站| 久久xxxx精品视频| 国产一区二区三区最好精华液| 性8sex亚洲区入口| 久久久av毛片精品| 国产综合久久久久久鬼色| 性欧美暴力猛交另类hd| 久久久www| 在线欧美亚洲| 亚洲免费高清| 欧美日韩国产欧美日美国产精品| 亚洲精品免费看| 亚洲一区日韩| 国产精品一区二区三区乱码| 午夜久久久久| 久久久久久亚洲精品中文字幕| 加勒比av一区二区| 亚洲伦理自拍| 欧美日韩午夜在线| 亚洲免费一在线| 久久久久免费视频| 亚洲高清av| 亚洲婷婷在线| 国产精品中文字幕欧美| 欧美影院成人| 欧美激情精品久久久久久久变态| 亚洲美女91| 性娇小13――14欧美| 国产一区二区三区无遮挡| 亚洲精品日韩欧美| 欧美香蕉大胸在线视频观看| 午夜精品亚洲| 欧美阿v一级看视频| 亚洲九九精品| 久久国产精品久久国产精品| 黑人中文字幕一区二区三区 | 在线亚洲国产精品网站| 国产精品嫩草影院一区二区| 久久精品国产亚洲一区二区三区| 欧美激情在线免费观看| 亚洲午夜久久久久久久久电影院| 久久久久久尹人网香蕉| 亚洲人成绝费网站色www| 亚洲视频日本| 国产自产在线视频一区| 99精品黄色片免费大全| 国产精品嫩草影院一区二区| 亚洲国产一区二区在线| 欧美性猛片xxxx免费看久爱 | 红桃视频成人| 一区二区三区四区国产| 国产日韩欧美日韩| 亚洲精品欧美激情| 国产精品亚洲综合| 亚洲免费观看高清在线观看 | 亚洲私人影吧| 国内外成人在线| 中文欧美日韩| 黄色精品一二区| 亚洲在线视频网站| 在线观看91精品国产入口| 亚洲综合日韩| 91久久精品美女高潮| 欧美一区亚洲二区| 亚洲精品乱码久久久久久蜜桃91 | 久久中文在线| 亚洲一区欧美激情| 欧美片第1页综合| 欧美专区第一页| 欧美性jizz18性欧美| 亚洲国产成人午夜在线一区| 国产精品ⅴa在线观看h| 亚洲二区在线视频| 国产精品羞羞答答xxdd| 99一区二区| 在线观看欧美日韩国产| 欧美一区三区二区在线观看| 亚洲精品专区| 欧美成人免费一级人片100| 性欧美xxxx大乳国产app| 欧美手机在线视频| 日韩视频在线观看|