freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于android設備的音視頻實時監(jiān)控系統(tǒng)的設計與實現(xiàn)-資料下載頁

2025-10-24 08:16本頁面

【導讀】盡我所知,除了文中特別加以標注和致謝中所羅列的內容以外,論文中不。教育機構的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任。何貢獻均已在論文中作了明確的說明并表示了謝意。申請學位論文與資料若有不實之處,本人承擔一切相關責任。校攻讀學位期間論文工作的知識產權單位屬北京郵電大學。學校有權保留并向國。本學位論文不屬于保密范圍,適用本授權書。出于安全等方面考慮,日常生活中有很多需要用到監(jiān)控的地方,絡,價格昂貴,難以實現(xiàn)遠距離傳輸。載能力取得了重大進展。備迅速得到了普及。尤其是以Android作為操作系統(tǒng)的智能設備,如。Android系統(tǒng)具有廉價、開放、兼容。性強、高效等特點,特別適合作為民用智能終端設備的操作系統(tǒng)。備、通過互聯(lián)網和3G通信網絡進行數(shù)據(jù)傳送的音視頻實時監(jiān)控系統(tǒng)。接口,然后自下而上逐步進行研究和開發(fā)。在此過程中,為了使系統(tǒng)。知的編碼格式和傳輸協(xié)議。本文所設計的系統(tǒng)主要由Android音視頻

  

【正文】 SAS, 5 塊 考慮 到數(shù)據(jù)存儲的可靠性,可以考慮使用 RAID 技術,考慮到廉價性因素,可以選擇 RAID5 方式( IBM System x3650 M3 內建支持 RAID5),則此時: 10TB = (N 1) 2TB 式( 32) 可得 N = 6,即需要的硬盤數(shù)量為 6塊。 軟件架構 本監(jiān)控系統(tǒng)主要運用的是音視頻媒體的實時傳輸技術。具體而言,包括北京郵電大學軟件工程碩士論文 16 Android 音視頻采集、音視頻編解碼、 RTP傳輸、 RTSP 服務、 UPnP 等。這些技術均依賴于特定的操作系統(tǒng)、軟件環(huán)境與應用程序框架等。 ? 受監(jiān)控端軟件架構 圖 33 受監(jiān)控 端軟件架構 如圖 33所示,音視頻實時監(jiān)控系統(tǒng)的受監(jiān)控端軟件主要包括用戶界面、音視頻采集模塊、音視頻編碼器、流媒體傳輸模塊、網絡地址映射模塊和設備驅動層等幾部分組成。其中用戶界面用于設定設備工作狀態(tài)、服務器信息等,負責受監(jiān)控端的人機交互;音視頻采集模塊通過間接調用設備驅動層功能,采集音視頻信息;音視頻編碼器負責將采集到的原始音視頻信息編碼成為適合通過網絡進行實時傳輸?shù)母袷?;網絡傳輸?shù)墓δ苡闪髅襟w傳輸模塊實現(xiàn);在流媒體傳輸?shù)倪^程中,如需解決內網網絡地址映射的問題,則交由網絡地址映射模塊來解決。 ? 受控端操作系統(tǒng) 受監(jiān)控端采用 Google 公司主持開發(fā)的 Android 操作系統(tǒng),具體版本為 ,API Level 16,代號“ Jelly Bean”,該系統(tǒng)具有資源占用小、運行效率高、多媒體支持程度高、節(jié)能穩(wěn)定等特點,適合本監(jiān)控系統(tǒng)應用。 考慮到移植的方便性,可以直接選擇上文中提到的 TQ210 Android 開發(fā)板套件廠商提供的發(fā)行版本,以降低實現(xiàn)的復雜度。 ? 受監(jiān)控端音視頻編碼器 Android 系統(tǒng)支持錄制音頻和視頻, MediaRecorder 對象可將其按照一定的編碼格式和存儲格式保存到文件 ,如 3GPP 文件、 M4A 文件 、 MP4 文件等 。然而Android 只能將音視頻保存為文件,錄制完成后再回放,不支持輸出原始媒體流,故無法直接將采集的到媒體實時傳輸出去。 為了解決這一問題,可以直接從 MediaRecorder 中采集音頻波形數(shù)據(jù)和視頻幀數(shù)據(jù),然后使用第三方編解碼庫對其進行編碼。本監(jiān)控系統(tǒng)使用的是當前被廣泛使用的、公認最高效的編解碼庫, FFmpeg[12]。本文會在后續(xù)的章節(jié)詳細講解如何將其移植到 Android 平臺中并進行調用。 ? 受監(jiān)控端媒體傳輸組件 流媒體的傳輸采用 RTP/RTCP 協(xié)議。 Android 的 API 中雖然有 相關的 API,北京郵電大學軟件工程碩士論文 17 但是僅僅是一組簡單的接口,還很不完善。本文選用的 RTP 應用程序 API 是jlibrtp[13],它由純 Java 語言實現(xiàn),方便進行移植,且接口簡單,使用靈活,支持自定義 timestamp 和 mark 標志。 ? 受監(jiān)控端 UPnP 組件 當受監(jiān)控端設備通過有線網絡或 WIFI網絡接入的時候,包括某些 3G網絡接入的情況,設備往往是處于局域網中的。這種受監(jiān)控端處于局域網,而流媒體服務器處于互聯(lián)網環(huán)境的情況,就要求局域網的路由器或防火墻設備支持 VoIP 通信,或者支持 UPnP。為了保障在各種情況下都能夠正常通信,在受監(jiān) 控端總是需要實現(xiàn) UPnP 功能的。 UPnP 全稱為“通用即插即用” [14],它是由 UPnP Forum 推廣的一套網絡協(xié)議,其目標是使家庭網絡和辦公網絡中的設備與設備之間能夠無縫對接。 UPnP 當前被廣泛應用于網絡設備的發(fā)現(xiàn)和動態(tài)路由和端口映射控制方面。通過使用這一技術,應用程序可以請求路由器或防火墻設備臨時(或永久)的建立一個網絡地址轉換( NAT, Network Address Translation) [15],使得處于互聯(lián)網上的設備可以連接到局域網中的設備上。 本文所設計的監(jiān)控系統(tǒng),選用 Cling[16],它 是一款用 Java 語言編寫的 UPnP協(xié)議開源實現(xiàn),原生支持通用 Java 語言和 Android 系統(tǒng),其目標就是嚴格遵守國際規(guī)范,完整的、簡潔的、廣泛的實現(xiàn) UPnP API。它靈活易用、代碼小巧、移植簡單,特別適用于本系統(tǒng)的應用場景。 ? 流媒體服務器軟件架構 圖 34 流媒體服務器軟件架構 如圖 34所示,流媒體服務器軟件架構主要由流媒體接收模塊、流媒體會話模塊、編解碼模塊、持久化模塊、流媒體發(fā)送模塊和資源會話池等部分構成。其中流媒體接收模塊負責接收來自于受監(jiān)控端軟件的實時媒體流;接收到的媒體信息需要通過編解碼模 塊進行處理,以方便用于后續(xù)的各項功能;持久化模塊可以將解碼后的媒體信息存儲至流媒體服務器的本地硬盤,也可以將本地硬盤中存儲的歷史媒體信息讀取出來;客戶端軟件通過與流媒體服務器中的媒體會話模塊進北京郵電大學軟件工程碩士論文 18 行通信,來申請媒體信息資源,媒體會話模塊就可以驅動流媒體發(fā)送模塊將前文中提到的來自于實時媒體流的、或者來自于服務器本地文件的媒體信息發(fā)送到流媒體客戶端播放器軟件,從而實現(xiàn)監(jiān)控和回放的功能。 ? 流媒體服務器操作系統(tǒng) 考慮到流媒體服務器的安全性、可靠性、性能、成本等方面因素,決定選用Linux 作為其操作系統(tǒng)。 目前 Linux 擁有眾多支持廠商及其發(fā)行版本,每個版本都有其特點和優(yōu)勢。今年來,一種開放的、以易用性為核心目標的 Linux 發(fā)行版本逐步占領了很大部分市場,它就是 Ubuntu Linux。它是由南非著名企業(yè)家 Mark Shuttleworth 發(fā)起創(chuàng)辦的公司基于 Debian Linux 研發(fā)而成的,具有安全、可靠、易于維護、操作簡單等特點。 本系統(tǒng)選定的版本為 Ubuntu LTS Server, 64bit 版。 ? 流媒體服務器多媒體應用框架 流媒體服務器端主要需進行三個方面的工作:其一,接收來自于受監(jiān)控端的音視頻媒體并進 行解碼;其二,對監(jiān)控媒體進行封裝并存儲為文件,以備日后調取播放;其三,將監(jiān)控媒體以 RTSP 服務的形式提供給主監(jiān)控端,供用戶對監(jiān)控節(jié)點進行實時監(jiān)控。 為了實現(xiàn)上述功能,涉及到的技術包括 RTP/RTCP 流媒體傳輸、音視頻編解碼、音視頻媒體序列化(以文件的形式持久化至磁盤)、 RTSP 協(xié)議實現(xiàn)等。要應用這些技術,綜合考慮可行性、實現(xiàn)難度、效果和性能、成本等方面因素,最好選擇成熟的應用程序框架和保準的國際規(guī)范與協(xié)議實現(xiàn)。 通過多方面對比,認為采用 Java 作為開發(fā)語言,以 JMF( Java Media Framework API) [17]作為流媒體應用框架是最好的選擇。首先, Java語言具有安全、穩(wěn)定、開發(fā)效率高、可移植性強的特點,且 Java 語言被全球眾多知名公司和組織所支持,擁有大量的應用程序框架和第三方功能組件,適應各種應用場景;其次, JMF 是原 Sun Microsystem 公司開發(fā)的一套 JavaSE 增強應用框架,支持音視頻媒體的采集、回放、編解碼、傳輸?shù)葞缀跛辛髅襟w技術,同時支持標準的 RTP/RTCP 協(xié)議,以及眾多國際標準的音視頻編碼格式和文件(容器)格式,為 Java 多媒體開發(fā)提供了完整的解決方案。 如圖 35所示 , JMF 在處理媒體的時候,采用的是一種“輸入 處理 輸出”這樣的模型。它將媒體信息定義為 DataSource(數(shù)據(jù)源),作為輸入或輸出的對象, Processor(處理器)則負責對數(shù)據(jù)源進行編碼、解碼、增加音效、附加視頻信息、調整音視頻屬性等操作。數(shù)據(jù)源的來源,既可以是利用 MediaLocator對象捕捉來自麥克風和攝像頭的信息,也可以是其讀取來自多媒體文件的信息,北京郵電大學軟件工程碩士論文 19 還有可能是來自于網絡的數(shù)據(jù),通過 SessionManager 對象進行處理后得到的。通過 Processor 處理過的數(shù)據(jù)源,可以通過 Player 對象進 行播放,使之在音箱和顯示器上表現(xiàn)出來,也可以通過 SessionManager 對象以 RTP 協(xié)議的形式傳輸出去,還可以通過 DataSink 對象,將媒體信息存儲到多媒體文件中。 圖 35 JMF 媒體處理模型 此外,在 Processor 工作過程中,為了能夠處理不同的媒體格式,尤其是需要在多種媒體格式之間進行編解碼操作的時候,需要用到的一種組件叫做 Codec(編解碼器)。它是一個多媒體轉碼的抽象接口,定義了一組用于編解碼操作的方法。在 JMF 中,原 Sun 公司和 IBM公司已經分別提供了若干種常用媒體格式的編解碼器。如 果這些解碼器仍然不能滿足用戶需求,應用程序開發(fā)人員可以自行實現(xiàn)符合要求的編解碼器,并通過 JMF 注冊工具,將該編解碼器注冊到 JMF 中,這樣, Processor 就可以調用自定義的編解碼器進行媒體處理工作了。 從這樣一個架構來看, JMF 確實是一個具有完善的功能體系和完整實現(xiàn)的多媒體應用程序框架,適合本監(jiān)控系統(tǒng)的應用。 ? 流媒體服務器網絡通信框架 北京郵電大學軟件工程碩士論文 20 考慮到流媒體服務器是監(jiān)控系統(tǒng)的核心部件,所有流媒體信息、會話控制信息均需要通過流媒體服務器進行處理,因此保持流媒體服務器網絡通信過程的高效性便成了一項特別需要注意的問題。 在 Java 編程語言中,有一項 nio[18]技術,可以通過非阻塞的方式實現(xiàn)包括網絡通信在內的 IO(輸入輸出)問題,利用這一技術,可以極大的提高應用程序網絡通信效率。然而,使用 nio 接口進行應用程序開發(fā),由于其通信過程是異步的,也就是說數(shù)據(jù)的收發(fā)過程是隨機發(fā)生的,使得程序編寫難以保持清晰的結構化思路,容易對經驗不足的開發(fā)者造成不少麻煩。 為此,有人創(chuàng)建了一個名為 ty[19]的開源軟件項目,專門作為 Java nio接口的一個應用程序框架,方便人們開發(fā)基于 nio 技術的應用程序。簡單而言,ty 是一個異步的 、基于事件驅動的網絡應用程序框架,用以幫助實現(xiàn)可維護的高性能服務器和客戶端軟件。 Netty 不僅對 nio 接口的通信過程進行了封裝,還通過分層的方式,對 FTP、 SMTP、 HTTP 和 RTSP 等通信協(xié)議進行了封裝,使得開發(fā)者們能夠及其方便的編寫基于這些協(xié)議的應用程序。 本章小結 在本章中,對音視頻實時監(jiān)控系統(tǒng)做了系統(tǒng)化的需求分析,其中包括應用場景、網絡環(huán)境、性能要求、兼容性、擴展性等方面。該系統(tǒng)的實際設計方案與具體技術實踐,以及最終的應用驗證,均以此為參考。 此外,根據(jù)需求分析的內容,本章還對文章所討論的音 視頻實時監(jiān)控系統(tǒng)進行了架構設計,討論的網絡架構、網絡接入方式、設備選型、軟件架構等方面問題,為系統(tǒng)的詳細設計與實現(xiàn)提供系統(tǒng)化的框架結構。 北京郵電大學軟件工程碩士論文 21 第四章 詳細設計與實現(xiàn) 在本章中,將對監(jiān)控系統(tǒng)運用的應用程序框架進行詳細的介紹,分析其工作原理,以及如何運用于本系統(tǒng)的開發(fā)過程。系統(tǒng)中關鍵的設計思想、核心代碼將會進行描述和解析。 受監(jiān)控端 受監(jiān)控端,也就是 Android 設備端。這一部分的主要任務就是采集音視頻數(shù)據(jù)、音視頻編碼,并將媒體流傳輸?shù)搅髅襟w服務器端。受監(jiān)控端所設計的功能模塊主要有如下幾點: FFmpeg 移植 在 Android 設備端,為了能夠對音視頻信息進行編碼,必須要有相應的編解碼器。而 Android 系統(tǒng)并沒有向應用程序層直接暴露編碼解碼器,其內置的opencore 是經過定制改造的,且根據(jù)不同的設備提供商、操作系統(tǒng)發(fā)行版本而存在較大差異。為了解決這一問題,就不得不向系統(tǒng)中移植第三方的編解碼器,以完成音視頻編碼的工作。 向 Android 移植 FFmpeg,應在 Linux 系統(tǒng)環(huán)境下進行,本監(jiān)控系統(tǒng)實際開發(fā)使用的是 Ubuntu LTS,安裝 gcc、 automake 等相關開發(fā)工具包。除此之 外,還應該裝有 Android SDK、 eclipse 及其 Android 開發(fā)插件 —— ADT。 移植的詳細步驟如下: ? 下載并配置 Android NDK Android NDK[20]是一組工具集,它允許 Android 程序開發(fā)人員使用 native代碼(如 C/C++代碼)編寫某些功能。本文中使用的 NDK 版本是 r8c,將下載好的 NDK 壓縮文件解壓至 /opt 目錄,并將如下路徑添加到 PATH環(huán)境變量中: /opt/androidndkr8c ? 下載并修改、編譯 FFmpeg 源碼 FFmpeg 是一個非營利性開源軟件組織的名 稱,同時也是這個組織開發(fā)的一個開源軟件項目。 FFmpeg 軟件實際上是一個可移植的多媒體應用軟件庫,提供了一套完整的媒體錄制、編碼轉換和傳輸?shù)姆桨浮1疚乃浦驳?FFmpeg 的版本號為 ,可以從其官方網站上直接下載。 將下載好的文件解壓縮為如下文件夾: 北京郵電大學軟件工程碩士論文 22 ~/android/ffmpeg/jni/ffmpeg 然后建立如下文本文件: ~/android/ffmpeg/jni/ 其內容為: include $(allsubdirmakefiles) 建立文本文件: ~/android/ffmpeg/jni/ffmpeg/ 內容 如下: LOCAL_PATH := $(call mydir) include $(CLEAR_VARS)
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1