專利名稱:嵌入式系統中基于雙es接口的媒體數據播放方法
技術領域:
本發(fā)明涉及一種媒體播放技術,具體地講是涉及一種嵌入式系統中基于雙ES接口的媒體數據播放的實現方法。
背景技術:
隨著嵌入式技術的飛速發(fā)展,在嵌入式設備上播放軟件的功能也越來越復雜,不僅需要支持本地文件的播放,還要支持網絡文件的流式播放,不只要支持單一格式的文件播放,還要各種各樣的文件格式的解析。為了讓嵌入式播放器的開發(fā)更加注重軟件本身的功能、關注軟件本身的架構、關注軟件本省的穩(wěn)定性等方面,需要我們研發(fā)一種簡單、統一接口方式,以便軟件在不同的平臺之間快速的移植,縮短嵌入式播放軟件的開發(fā)周期。本發(fā)明中,ES (Elememtary Mream)是指模擬信號經過抽樣量化及壓縮編碼形成的碼流。
發(fā)明內容
本發(fā)明的目的就在于解決在平臺不斷更新換代,各種平臺接口又不統一的情況下,屏蔽底層平臺之間的差異,方便播放軟件移植,縮短軟件在各個平臺之間的開發(fā)時間。為實現上述目的,本發(fā)明采用以下技術方案
媒體播放軟件將從網絡或者本地存儲設備中獲取到的媒體播放文件進行音頻數據幀和視頻數據幀的解析分離,然后在為每個解析生成的視頻數據幀和音頻數據幀封裝一個可以標識本數據包的信息頭,通過ES接口將數據按照各個嵌入式平臺的接口方法,送到平臺的視頻和音頻解碼器中進行解碼播放。所述的信息頭包括數據幀的格式、播放時間、數據幀的長度、時間標簽。在將已添加信息頭的音頻數據幀和視頻數據幀通過ES接口送到各個嵌入式平臺時,需要將音頻數據幀和視頻數據幀轉化為平臺支持的數據類型。在將已添加信息頭的音頻數據幀和視頻數據幀通過ES接口送到各個嵌入式平臺時,根據信息頭中的時間標簽,將數據送進底層解碼器。采用上述技術方案的本發(fā)明,首先播放軟件按照ES接口規(guī)范結協數據,然后ES接口層將數據轉換為平臺識別的數據格式,送到底層解碼器進行解碼播放。通過該方法將播放軟件與各個平臺的分離,使播放軟件的開發(fā)不用考慮底層平臺的差異,同時也縮短了軟件移植和穩(wěn)定性測試的時間。
圖1是本發(fā)明實現的原理框圖。圖2是ES接口處理的數據格式。
具體實施例方式
3
如圖1所示,媒體播放軟件將從網絡或者本地存儲設備中獲取到的媒體播放文件進行音頻數據幀和視頻數據幀的解析分離,其分離的過程為本領域普通技術人員所熟知的技術。即播放器將各種文件統一解析為音頻幀和視頻幀的方式,使播放器的數據輸出統一, 使播放器輸出部分的設計和實現更加的簡化。然后在為每個解析生成的視頻數據幀和音頻數據幀封裝一個可以標識本數據包的信息頭。上述的信息頭包括數據幀的格式、播放時間、數據幀的長度、時間標簽等信息。數據幀的格式在判斷需要打開哪個解碼器的時候需要用到,播放時間是驅動同步和視頻輸出時間的標準,數據幀長度是數據幀大小的標志。最后,通過ES接口將數據按照各個嵌入式平臺的接口方法,送到平臺的視頻和音頻解碼器中進行解碼播放。在此過程中,本發(fā)明需要將視頻幀和音頻幀進行轉化,轉化為平臺可識別的數據格式。播放器輸出的視頻幀和音頻幀是標準的ES方式,但是針對不同平臺支持的解碼格式存在差異性,需要接口實現的時候將數據進行轉化,轉化為平臺支持的數據類型。另外,本發(fā)明還可以在將數據寫到平臺接口之前,進行一個弱同步。在通過ES接口進行數據輸入到平臺接口的時候,需要根據標識頭中的時間標簽進行一個弱同步,將視頻時間標簽和音頻時間標簽的在一定范圍內交織的數據寫到底層的接口中,防止無控制的寫單個的視頻或者音頻ES序列導致底層音頻和視頻緩沖buffer數據滿引起問題。以一個具體的實例來說明本地音頻播放器,從USB設備中讀取音頻mp3文件,將音頻mp3文件分幀,然后添加ES接口的信息頭,調用ES接口層函數打開解碼器,并通過ES 接口層函數寫數據,ES接口層根據播放器添加的ES接口層信息頭,將音頻數據幀進行轉換,轉換為平臺可以識別的數據格式,送到底層解碼器解碼輸出。需要說明的是,上述的ES 接口層函數為本領域普通技術人員所熟知的技術。
權利要求
1.一種嵌入式系統中基于雙ES接口的媒體數據播放方法,其特征在于媒體播放軟件將從網絡或者本地存儲設備中獲取到的媒體播放文件進行音頻數據幀和視頻數據幀的解析分離,然后在為每個解析生成的視頻數據幀和音頻數據幀封裝一個可以標識本數據包的信息頭,通過ES接口將數據按照各個嵌入式平臺的接口方法,送到平臺的視頻和音頻解碼器中進行解碼播放。
2.根據權利要求1所述的嵌入式系統中基于雙ES接口的媒體數據播放方法,其特征在于所述的信息頭包括數據幀的格式、播放時間、數據幀的長度、時間標簽。
3.根據權利要求1所述的嵌入式系統中基于雙ES接口的媒體數據播放方法,其特征在于在將已添加信息頭的音頻數據幀和視頻數據幀通過ES接口送到各個嵌入式平臺時,需要將音頻數據幀和視頻數據幀轉化為平臺支持的數據類型。
4.根據權利要求3所述的嵌入式系統中基于雙ES接口的媒體數據播放方法,其特征在于在將已添加信息頭的音頻數據幀和視頻數據幀通過ES接口送到各個嵌入式平臺時,根據信息頭中的時間標簽,將數據送進底層解碼器。
全文摘要
一種嵌入式系統中基于雙ES接口的媒體數據播放方法,媒體播放軟件將從網絡或者本地存儲設備中獲取到的媒體播放文件進行音頻數據幀和視頻數據幀的解析分離,然后在為每個解析生成的視頻數據幀和音頻數據幀封裝一個可以標識本數據包的信息頭,通過ES接口將數據按照各個嵌入式平臺的接口方法,送到平臺的視頻和音頻解碼器中進行解碼播放。本發(fā)明首先播放軟件按照ES接口規(guī)范結協數據,然后ES接口層將數據轉換為平臺識別的數據格式,送到底層解碼器進行解碼播放。通過該方法將播放軟件與各個平臺的分離,使播放軟件的開發(fā)不用考慮底層平臺的差異,同時也縮短了軟件移植和穩(wěn)定性測試的時間。
文檔編號H04N21/4405GK102469360SQ20101054767
公開日2012年5月23日 申請日期2010年11月17日 優(yōu)先權日2010年11月17日
發(fā)明者于芳艷, 孫偉, 惠作奎, 賈小波, 趙宇峰, 閆文科 申請人:鄭州威科姆科技股份有限公司