基于android的流媒體播放器開發_第1頁
基于android的流媒體播放器開發_第2頁
基于android的流媒體播放器開發_第3頁
基于android的流媒體播放器開發_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. 引言隨著移動通信技術和多媒體技術的迅速發展,融合手機、網絡、多媒體技術為一體的視頻監控技術也有了長足的進步,通過移動通信網絡提供流媒體服務已經成為可能。全球移動用戶數量非常龐大,因此移動流媒體服務具有巨大的市場潛力,也正成為移動業務的研究熱點之一。在這一背景下,針對移動網絡和移動終端的特點,提出移動流媒體的創新方案很有現實意義。本項目結合Android手機操作系統,提出了移動終端流媒體播放器基于分層體系架構的共享播放設計方案。該設計的特點是使得手持終端的人們之間能夠實時分享播放視頻,并且提供了對外部流媒體服務器的接收功能,最終在Android平臺上實現該播放器。2. 播放器整體設計方案播

2、放器無論播放本地文件或是網絡流媒體文件,都需要有獲取媒體數據,解碼音視頻媒體流,將解碼后的媒體數據顯示給用戶三個處理階段。根據文件播放的流程中這三個明顯的處理階段,我們的設計基于層次的播放器結構。由于本地文件和網絡流媒體文件的數據獲取方式是不相同的,若要保持上層解碼的一致性,需要對兩類文件進行預處理,形成相同格式的數據提供給上層解碼。根據以上特性,結合文件解碼流程本文中面向實時監控的播放器設計采用分層結構,每層獨立完成任務,使系統的耦合度降低,利于各層獨立擴展而不影響上下層的應用。從下至上依次是數據提取層、數據預處理層、音視頻解碼層和用戶界面。用戶界面音視頻解碼層數據預處理層數據提取層每層實現

3、的功能如下:。(1)用戶界面層主要提供用戶和播放器之間的交互接口,如播放本地文件時可以實現暫停、快進、快退等功能,在觀看流媒體文件時可以通過數字鍵、導航鍵或者播放器上方向按鈕控制攝像頭的焦距、方向等信息。(2)音視頻解碼層主要有解碼選擇組件、各種主流音視頻格式的解碼器和多路媒體流之間同步的功能。解碼選擇組件從本地文件或者流媒體文件頭中獲取到媒體的解碼格式信息,根據該格式信息選擇相應的解碼器對壓縮后的媒體流進行解碼。多路媒體之間同步包括視頻流和音頻流的同步,在播放本地文件時可能還需要字幕的同步。(3)數據預處理層對本地文件按照其媒體格式解封裝,獲取文件的音視頻或字幕等信息并將其按幀放入相應上層待

4、解碼緩沖區。對流媒體文件將去除RTP的包頭信息,并將RTP中音視頻信息組幀,將完整的數據幀傳給上層待解碼緩沖區。而封裝控制信息組件按照PELCO-D/P協議規定的文本格式封裝用戶的控制輸入,并將控制信息傳遞給下層。(4)數據獲取層的功能包括本地文件、流媒體文件的獲取和攝像頭控制信息的發送,前者只需讀取本地文件即可,流媒體文件的獲取需要從流媒體服務器獲取媒體數據信息。流媒體文件獲取部分包括前期會話協商部分、數據發送部分和數據緩沖部分。其中媒體信息協商部分需要使用RTSP協議協商媒體流常規信息,如媒體類型(視頻和音頻)、傳輸協議(RTP/UDP/IP)和媒體格式(H263、mpeg)和媒體傳輸端口

5、等信息。我們的播放器除了實現普通的播放器功能之外,也能將自身變成流媒體服務器,負責轉發本地視頻或網絡流媒體,讓周圍的終端能實時分享同步播放相應的視頻。播放器主要有三大接口。3. Android系統架構中的多媒體上圖是Android系統架構圖,自低向上都能看見多媒體相關的組件包括多媒體Driver、多媒體Native庫、多媒體框架層,多媒體應用等。多媒體Driver負責和硬件進行交互數據包括Audio Driver, Camera Driver,Display Driver等等,與其他Linux版本的Driver 類似多媒體Native庫通常稱之為OpenCore,它是Anroid多媒體的核心,

6、來源于PacketVideo。對比Android的其它程序庫,OpenCore的代碼非常龐大,它是一個基于C+的實現,定義了全功能的操作系統移植層,各種基本的功能均被封裝成類的形式,各層次之間的接口多使用繼承等方式。OpenCore是一個多媒體的框架,它主要包含了兩大方面的內容: PVPlayer:提供媒體播放器的功能,完成各種音頻(Audio)、視頻(Video)流的回放(Playback)功能 PVAuthor:提供媒體流記錄的功能,完成各種音頻(Audio)、視頻(Video)流的以及靜態圖像捕獲功能在實際多媒體應用的開發中我們并不會過多的研究OpenCore的實現。Android中提供

7、了上層(Java 層)的Media API給開發人員使用,MediaPlayer和MediaRecorder。多媒體框架層多媒體框架層Android中間層,也是Java SDK層。向下通過JNI負責封裝OpenCore,向上負責為多媒體應用程序提供Java接口。所有的多媒體相關的類和接口都包含在android.media這個package當中,包括AudioFormat,AudioManager,AudioTrack,MediaPlayer,MediaRecorder, Ringtone, RingtoneManager等等。其中MediaPlayer和MediaRecorder是最為主要的兩

8、個類。MediaPlayer主要接口:提供了一個多媒體播放器常用的基本操作如播放,暫停,停止,獲取文件播放長度,Seek 等等。MediaRecorder主要接口      提供了聲音錄制的基本功能。多媒體應用多媒體應用層處在整個多媒體結構中最上層,全部由純Java應用程序構成。Android系統本身就內置了豐富的多媒體應用程序包括Music Playback, Camera,Picture Viewer 等等。Audio/Video播放在android系統中的實際調用過程如下:9 Q: p- s& K; z, k7 r4. 技術相關(1) Android Layout講述Android中的布局用法(2) Android Activity(3) Android Int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論