999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ARM移動視頻系統的研究

2014-09-15 08:23:56李宇成史維霖
現代電子技術 2014年18期

李宇成+史維霖

摘 要: 針對現有網絡視頻監控的局限性和相應Android軟件開發的需求,給出一種基于Samsung S5PV210的ARM移動視頻系統的實現方案。采用UML語言重點剖析并展示了Android多媒體框架與底層Linux驅動的關系。在此基礎上,設計了系統總體架構和視頻監控軟件,實現了高清視頻的采集和流暢地播放。應用試驗表明,系統運行穩定、實時性好,具有很強的實用價值。

關鍵詞: Android; Mini210s; 移動視頻系統; 多媒體框架

中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2014)18?0009?02

Research on ARM mobile video system

LI Yu?cheng, SHI Wei?lin

(Automation Department, North China University of Technology, Beijing 100144, China)

Abstract: Aiming at the limitation of existing network video monitoring and the corresponding demand of Android software development, a specific implementation scheme of ARM mobile video system based on Samsung s5pv210 is presented in this paper. The relationship between Android multimedia framework and the underlying Linux driver is analyzed emphatically with UML language. On this basis, the system overall architecture and video surveillance software were designed. The HD video acquisition and smooth playback were realized. The experiment results showed that the system works stable, and has good real?time performance and high practicability.

Keywords: Android; mini210s; mobile video system; multimedia framework

0 引 言

移動視頻監控作為一種關鍵技術被廣泛的應用于各個領域和各種公共場所[1]。傳統的視頻監控系統需要安裝網線,網絡攝像頭的安置地點不可移動,且操作系統以Linux開發為主。不能滿足用戶日益增長的多元化需求。目前Android的應用已經進入人類日常生活的密切領域,其優勢完全打破了Linux僅適于工業場合應用的局限。本課題選取以Samsung S5PV210為核心的開發板,在Android系統環境下,進行視頻采集、H.264編碼、無線網絡傳輸;上位機在Android系統下完成視頻的接收、解碼和播放。本文重點詳述了Android多媒體框架各個層次與底層驅動關系,給出了高清視頻監控[2]系統的開發實現過程。

1 系統總體設計

借鑒傳統的C/S[3]設計模式,設計該ARM移動視頻監控系統架構。

系統基于S5PV210為核心的開發板,在開發板上集成了視頻采集模塊、編碼壓縮模塊以及視頻傳輸模塊。并有效結合了嵌入式技術和流媒體技術,將采集端和服務端所有工作都集中在ARM開發板上,然后在客戶端,可以通過上位機電腦或者Android手機播放實時視頻來進行相關的視頻監控。

2 系統軟件實現

如圖1所示,系統軟件分為兩大部分。第一部分運行在ARM開發板上。首先通過板上自帶的CMOS攝像頭采集視頻數據[4?5],進行H.264[6]編碼壓縮,然后對數據流進行RTP打包,通過網絡將視頻數據流發送出去;第二部分運行在上位機上,接收開發板發送過來的視頻數據,用戶根據需求解壓縮播放顯示,并存儲視頻。

3 Android多媒體框架與底層驅動的結合

本文重點研究MediaRecorder類的工作過程,詳盡分析了Android多媒體框架與底層編碼驅動的接口關系。然后,編寫了相應的視頻監控程序,通過實驗來驗證本文設計內容的正確性。

圖1 系統軟件框圖

3.1 通過Android本地媒體庫鏈接底層驅動

Java應用層中的MediaRecorder類對應于本地媒體庫libmedia.so。MediaRecorder類利用start()方法開啟視頻錄制、編碼流程。然后,依次調用了Mediarecorder.cpp中start(),以及StagefrightRecorder中的start()方法。

3.2 Java本地調用部分

Android應用程序訪問Android多媒體底層庫需借助Java本地調用部分(JNI),當調用多媒體Java框架層mediaRecorder.java中的start()本地方法,實際上是調用(void *)android_media_MediaRecorder_start()。

3.3 多媒體Java 框架層

Android應用程序調用驅動,其實是調用多媒體Java 框架層為應用程序所提供的硬件服務接口。該接口封裝在Java框架層,以服務庫的形式存在。因此,在多媒體Java框架層代碼mediaRecorder.java中,需要加載名稱為media_jni的動態鏈接庫。

3.4 Android應用程序層監控軟件實現

本系統利用MediaRecorder類實現視頻錄制,同時調用該類內置的H.264編碼模塊進行編碼操作,然后通過Packetizer打包器類進行RTP打包,設置網絡接口,經由SOCKET發送,PC機接收,并通過VLC播放器解碼播放。

初始化Video時,需要對MediaRecorder進行相關的設置,具體代碼如下:

mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //設置視頻源為CAMERA

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //設置輸出格式為3GP

mMediaRecorder.setVideoFrameRate(videoRate);

//設置每秒的幀數為24幀

mMediaRecorder.setVideoSize(videoWidth, videoHeight);

//設置視頻大小為720*480

mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H.264); //設置視頻編碼方式為H.264

mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); //設置預覽顯示

mMediaRecorder.setMaxDuration(0); //最大期限

mMediaRecorder.setMaxFileSize(Integer.MAX_VALUE);

//文件大小

mMediaRecorder.setOutputFile(sender.getFileDescriptor());

//設置將H.264編碼壓縮的3GP碼流通過LocalSocket發送出去

在使用RTP傳輸H.264的時候,設置H.264的解碼參數SPS(Sequence Parameter Sets )和PPS(Picture Parameter Set)。以本系統Mini210s開發板為例,SPS為67,4D,40,1E,E9,81,68,7B,42,00,00,03,00,FA,00,00,2E,D5,1E,2C,5A,70;PPS為 68,CE,32,C8。

綜上所述,Java應用程序層的start()方法可以通過 JNI 調用本地共享庫MediaRecorder.cpp中的start();本地庫通過代理對象跨進程調用到MediaPlayerService中的MediaRecorderClient。MediaRecorderClient中會創建出StagefrightRecorder,在StagefrightRecorder中完成視頻錄制、編碼器設置任務,開啟MediaWriter的start方法進行H.264編碼。之后Stagefright即可使用Android封裝的OpenMax接口,調用多媒體的H.264編碼驅動,完成硬件編碼操作。

4 實驗結果

測試環境選擇友善之臂的Mini210s開發板(操作系統:Android 2.3.1)作為服務視頻采集端,PC機作為用戶視頻接收端。兩種設備利用TP?LINK無線路由器通過WiFi建立連接。在該模式下,系統可清晰流暢的傳送和播放720×480分辨率的視頻,幀率可達30 f/s。

5 結 論

在ARM移動視頻系統的分析研究的基礎上,以高性能的S5PV210芯片開發板為硬件平臺,編寫了應用實驗程序,實現了高清視頻信號的采集、壓縮編碼、網絡傳輸和上位機的流暢播放。文中的突出亮點在于綜合了流行的Android操作系統、高性能的S5PV210芯片和熱門的流媒體技術,詳細分析了Android多媒體框架與底層驅動的接口關系,并設計編寫了開發板軟件和上位機高清視頻監控軟件。目前可實現720P,30幀的視頻流播放。實驗表明,系統運行可靠,實時性好。本方案可應用于各種視頻監控、特別是移動視頻監控領域等。

參考文獻

[1] 李昂,宋海聲,蘇小蕓.基于Android的視頻監控系統設計與實現[J].計算機技術與應用,2012,38(7):138?139.

[2] 李琴,陳立定,任志剛.基于Android智能手機遠程視頻監控系統的設計[J].電視技術,2012,36(7):134?136.

[3] 朱小軍,翟朝成,張志斌.基于Android手機的遠程視頻監控系統的設計與實現[J].自動化與儀器儀表,2013(2):149?151.

[4] 張雅楠,楊璐,鄭麗敏,等.基于 Android 手機的遠程視頻監控系統的設計與開發[J].計算機應用,2013,33(z1):283?286.

[5] 魏崇毓,張菲菲.基于 Android 平臺的視頻監控系統設計[J].計算機工程,2012,38(14):214?216.

[6] 李紅京.基于H.264視頻壓縮技術的網絡視頻傳輸系統設計[J].河北工業科技,2011,28(4):236?239.

3.4 Android應用程序層監控軟件實現

本系統利用MediaRecorder類實現視頻錄制,同時調用該類內置的H.264編碼模塊進行編碼操作,然后通過Packetizer打包器類進行RTP打包,設置網絡接口,經由SOCKET發送,PC機接收,并通過VLC播放器解碼播放。

初始化Video時,需要對MediaRecorder進行相關的設置,具體代碼如下:

mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //設置視頻源為CAMERA

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //設置輸出格式為3GP

mMediaRecorder.setVideoFrameRate(videoRate);

//設置每秒的幀數為24幀

mMediaRecorder.setVideoSize(videoWidth, videoHeight);

//設置視頻大小為720*480

mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H.264); //設置視頻編碼方式為H.264

mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); //設置預覽顯示

mMediaRecorder.setMaxDuration(0); //最大期限

mMediaRecorder.setMaxFileSize(Integer.MAX_VALUE);

//文件大小

mMediaRecorder.setOutputFile(sender.getFileDescriptor());

//設置將H.264編碼壓縮的3GP碼流通過LocalSocket發送出去

在使用RTP傳輸H.264的時候,設置H.264的解碼參數SPS(Sequence Parameter Sets )和PPS(Picture Parameter Set)。以本系統Mini210s開發板為例,SPS為67,4D,40,1E,E9,81,68,7B,42,00,00,03,00,FA,00,00,2E,D5,1E,2C,5A,70;PPS為 68,CE,32,C8。

綜上所述,Java應用程序層的start()方法可以通過 JNI 調用本地共享庫MediaRecorder.cpp中的start();本地庫通過代理對象跨進程調用到MediaPlayerService中的MediaRecorderClient。MediaRecorderClient中會創建出StagefrightRecorder,在StagefrightRecorder中完成視頻錄制、編碼器設置任務,開啟MediaWriter的start方法進行H.264編碼。之后Stagefright即可使用Android封裝的OpenMax接口,調用多媒體的H.264編碼驅動,完成硬件編碼操作。

4 實驗結果

測試環境選擇友善之臂的Mini210s開發板(操作系統:Android 2.3.1)作為服務視頻采集端,PC機作為用戶視頻接收端。兩種設備利用TP?LINK無線路由器通過WiFi建立連接。在該模式下,系統可清晰流暢的傳送和播放720×480分辨率的視頻,幀率可達30 f/s。

5 結 論

在ARM移動視頻系統的分析研究的基礎上,以高性能的S5PV210芯片開發板為硬件平臺,編寫了應用實驗程序,實現了高清視頻信號的采集、壓縮編碼、網絡傳輸和上位機的流暢播放。文中的突出亮點在于綜合了流行的Android操作系統、高性能的S5PV210芯片和熱門的流媒體技術,詳細分析了Android多媒體框架與底層驅動的接口關系,并設計編寫了開發板軟件和上位機高清視頻監控軟件。目前可實現720P,30幀的視頻流播放。實驗表明,系統運行可靠,實時性好。本方案可應用于各種視頻監控、特別是移動視頻監控領域等。

參考文獻

[1] 李昂,宋海聲,蘇小蕓.基于Android的視頻監控系統設計與實現[J].計算機技術與應用,2012,38(7):138?139.

[2] 李琴,陳立定,任志剛.基于Android智能手機遠程視頻監控系統的設計[J].電視技術,2012,36(7):134?136.

[3] 朱小軍,翟朝成,張志斌.基于Android手機的遠程視頻監控系統的設計與實現[J].自動化與儀器儀表,2013(2):149?151.

[4] 張雅楠,楊璐,鄭麗敏,等.基于 Android 手機的遠程視頻監控系統的設計與開發[J].計算機應用,2013,33(z1):283?286.

[5] 魏崇毓,張菲菲.基于 Android 平臺的視頻監控系統設計[J].計算機工程,2012,38(14):214?216.

[6] 李紅京.基于H.264視頻壓縮技術的網絡視頻傳輸系統設計[J].河北工業科技,2011,28(4):236?239.

3.4 Android應用程序層監控軟件實現

本系統利用MediaRecorder類實現視頻錄制,同時調用該類內置的H.264編碼模塊進行編碼操作,然后通過Packetizer打包器類進行RTP打包,設置網絡接口,經由SOCKET發送,PC機接收,并通過VLC播放器解碼播放。

初始化Video時,需要對MediaRecorder進行相關的設置,具體代碼如下:

mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //設置視頻源為CAMERA

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //設置輸出格式為3GP

mMediaRecorder.setVideoFrameRate(videoRate);

//設置每秒的幀數為24幀

mMediaRecorder.setVideoSize(videoWidth, videoHeight);

//設置視頻大小為720*480

mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H.264); //設置視頻編碼方式為H.264

mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface()); //設置預覽顯示

mMediaRecorder.setMaxDuration(0); //最大期限

mMediaRecorder.setMaxFileSize(Integer.MAX_VALUE);

//文件大小

mMediaRecorder.setOutputFile(sender.getFileDescriptor());

//設置將H.264編碼壓縮的3GP碼流通過LocalSocket發送出去

在使用RTP傳輸H.264的時候,設置H.264的解碼參數SPS(Sequence Parameter Sets )和PPS(Picture Parameter Set)。以本系統Mini210s開發板為例,SPS為67,4D,40,1E,E9,81,68,7B,42,00,00,03,00,FA,00,00,2E,D5,1E,2C,5A,70;PPS為 68,CE,32,C8。

綜上所述,Java應用程序層的start()方法可以通過 JNI 調用本地共享庫MediaRecorder.cpp中的start();本地庫通過代理對象跨進程調用到MediaPlayerService中的MediaRecorderClient。MediaRecorderClient中會創建出StagefrightRecorder,在StagefrightRecorder中完成視頻錄制、編碼器設置任務,開啟MediaWriter的start方法進行H.264編碼。之后Stagefright即可使用Android封裝的OpenMax接口,調用多媒體的H.264編碼驅動,完成硬件編碼操作。

4 實驗結果

測試環境選擇友善之臂的Mini210s開發板(操作系統:Android 2.3.1)作為服務視頻采集端,PC機作為用戶視頻接收端。兩種設備利用TP?LINK無線路由器通過WiFi建立連接。在該模式下,系統可清晰流暢的傳送和播放720×480分辨率的視頻,幀率可達30 f/s。

5 結 論

在ARM移動視頻系統的分析研究的基礎上,以高性能的S5PV210芯片開發板為硬件平臺,編寫了應用實驗程序,實現了高清視頻信號的采集、壓縮編碼、網絡傳輸和上位機的流暢播放。文中的突出亮點在于綜合了流行的Android操作系統、高性能的S5PV210芯片和熱門的流媒體技術,詳細分析了Android多媒體框架與底層驅動的接口關系,并設計編寫了開發板軟件和上位機高清視頻監控軟件。目前可實現720P,30幀的視頻流播放。實驗表明,系統運行可靠,實時性好。本方案可應用于各種視頻監控、特別是移動視頻監控領域等。

參考文獻

[1] 李昂,宋海聲,蘇小蕓.基于Android的視頻監控系統設計與實現[J].計算機技術與應用,2012,38(7):138?139.

[2] 李琴,陳立定,任志剛.基于Android智能手機遠程視頻監控系統的設計[J].電視技術,2012,36(7):134?136.

[3] 朱小軍,翟朝成,張志斌.基于Android手機的遠程視頻監控系統的設計與實現[J].自動化與儀器儀表,2013(2):149?151.

[4] 張雅楠,楊璐,鄭麗敏,等.基于 Android 手機的遠程視頻監控系統的設計與開發[J].計算機應用,2013,33(z1):283?286.

[5] 魏崇毓,張菲菲.基于 Android 平臺的視頻監控系統設計[J].計算機工程,2012,38(14):214?216.

[6] 李紅京.基于H.264視頻壓縮技術的網絡視頻傳輸系統設計[J].河北工業科技,2011,28(4):236?239.

主站蜘蛛池模板: av无码久久精品| 无码啪啪精品天堂浪潮av| 日韩欧美中文| 国产成人三级在线观看视频| 综合色天天| 国产精品任我爽爆在线播放6080| 国产97公开成人免费视频| 亚洲欧美成人综合| 国产欧美日韩专区发布| 国产欧美精品专区一区二区| 三区在线视频| 欧美日韩v| 成人无码一区二区三区视频在线观看| www.亚洲天堂| 国产午夜精品鲁丝片| 91麻豆精品国产高清在线| 国产精品网曝门免费视频| 日韩精品无码不卡无码| 97久久超碰极品视觉盛宴| 日本国产在线| 高清无码一本到东京热| 伊人福利视频| 日本亚洲成高清一区二区三区| 午夜激情婷婷| 久热精品免费| 99在线视频网站| 亚洲无码精品在线播放 | 萌白酱国产一区二区| 免费国产黄线在线观看| 人人91人人澡人人妻人人爽| 亚洲国产91人成在线| 亚洲色偷偷偷鲁综合| 精品国产91爱| 综合色亚洲| 亚洲va视频| 免费一级毛片| 青青热久麻豆精品视频在线观看| 又爽又黄又无遮挡网站| 97超碰精品成人国产| 爽爽影院十八禁在线观看| 天天干天天色综合网| 真实国产乱子伦视频| 国产成人综合在线观看| 在线观看亚洲精品福利片| 中国毛片网| 日韩欧美国产中文| 曰韩人妻一区二区三区| 成人国产小视频| 又爽又大又光又色的午夜视频| 日韩不卡高清视频| 伊人网址在线| 亚洲无码A视频在线| 美女国内精品自产拍在线播放| 97久久免费视频| 国产免费a级片| www.亚洲一区| 久久精品国产91久久综合麻豆自制| 国产一级毛片yw| 亚洲国产中文精品va在线播放| 国产在线拍偷自揄拍精品| 国产精品女人呻吟在线观看| 国产亚洲成AⅤ人片在线观看| 亚洲欧洲自拍拍偷午夜色| 91精品啪在线观看国产91| 福利一区三区| 色综合手机在线| 国产呦精品一区二区三区下载 | a级毛片在线免费| 九色综合伊人久久富二代| 六月婷婷精品视频在线观看| a级毛片免费播放| jijzzizz老师出水喷水喷出| 91久久青青草原精品国产| 91外围女在线观看| 欧美日韩免费观看| 高清视频一区| 国产乱肥老妇精品视频| 最新国产午夜精品视频成人| 美女免费精品高清毛片在线视| 精品一区二区三区自慰喷水| 国产精品一区二区久久精品无码| 国产人碰人摸人爱免费视频|