專利名稱:一種通用的多媒體播放器框架的制作方法
一種通用的多媒體播放器框架
技術領域:
本發(fā)明涉及一種關于嵌入式開發(fā)平臺上的多媒體播放器框架的領域。背景技術:
隨著互聯(lián)網(wǎng)技術和數(shù)字技術的共同發(fā)展,更多的數(shù)字(音視頻)作品被放到了網(wǎng) 絡這個開放的大環(huán)境中,而且數(shù)字作品也因為網(wǎng)絡技術的發(fā)展得到了廣泛的傳播和應用, 雖然更多的人可以共享信息,但是太多的人都忽略了數(shù)字作品從產生到四處傳播會有多少 人的利益受到損害。近年來,數(shù)字作品的合法使用,版權所屬,合法收益問題已經從不同 領域困擾著數(shù)字作品的內容提供者、傳播者、使用者等,而且很多人都可以對數(shù)字作品的 原版進行無限制的任意編輯、修改、拷貝和散布,所以數(shù)字作品版權保護問題是刻不容緩 的。對于這種現(xiàn)象的發(fā)生,多數(shù)以提供多媒體內容的服務商會對自己擁有版權的音樂、電 影、教育課件進行加密,對于具體的加密方式,各自公司選擇不同的DRM(Digital Rights Management,數(shù)字版權保護)技術,而且經過多年的運行,在版權保護方面的技術已經相當 成熟,因此,他們所面臨的問題只是如何選擇嵌入式平臺,開發(fā)具有特色的消費產品。進入21世紀后,在信息科技、電子技術的迅猛的發(fā)展,電子市場的競爭越來越激 烈的前提下,產品的質量、產品的開發(fā)周期、產品的上市周期越來越受到各產品開發(fā)商的重 視,各產品開發(fā)商都爭取在最短的時間內開發(fā)出功能、性能滿足客戶需求的產品、具有獨特 競爭力的產品。而身為影音多媒體內容提供商來說,唯一能做到跟其他公司有差異的方法, 就是將擁有自己版權的音視頻資源展現(xiàn)出來。因此,他們在選擇開發(fā)電子產品的時候更加 會去關注多媒體的播放器架構是否友好,能否容易的將自己加密的多媒體內容在電子產品 中作為一個亮點展示給用戶。對電子產品廠商來說,多媒體播放器的架構是影響他們開發(fā)周期以及開發(fā)成本與 上市時間的主要因素之一。目前,在多媒體嵌入式軟件開發(fā)平臺上,主流的播放器框架包 括依次連接的UI層播放器模塊、多媒體類型識別器、媒體文件解析器、音視頻解碼器、音 視頻同步輸出模塊,所述多媒體類型識別器、媒體文件解析器均連接到一播放器數(shù)據(jù)操作 接口模塊。目前國內外能夠實現(xiàn)多媒體播放的嵌入式開發(fā)平臺來看,有以下三種類型1、類 似微軟等國際大公司提供的嵌入式軟件開發(fā)平臺,帶有對應開發(fā)平臺一套標準的媒體播放 框架;2、國內廠家提供的能夠實現(xiàn)多媒體播放的軟件開發(fā)平臺,媒體框架由廠家自己定義, 播放器實現(xiàn)不一,沒有通用擴展接口 ;3、通用開發(fā)嵌入式軟件平臺,可以實現(xiàn)多個領域的電 子產品,一般只帶有簡單多媒體實現(xiàn)功能。對于上述三種類型的開發(fā)平臺自帶的多媒體播放器對開發(fā)商來說都有不同的缺占.
^ \\\ ·第一種所提到的國際大公司開發(fā)平臺提供的多媒體播放器,由于他們各自的平臺 擁有各自的一套媒體流程標準,因此在數(shù)字版權保護方面的技術也有自己的一套標準,而 這套標準與播放器緊密相連,如果產品開發(fā)商要在他們的平臺上實現(xiàn)播放技術,同時又要對自己的版權進行保護的情況下,就只能用開發(fā)平臺上面的數(shù)字版權保護技術,這樣就要 求產品開發(fā)商要重新實現(xiàn)自己的版權保護技術,這樣,產品開發(fā)商不但開發(fā)成本上升,開發(fā) 周期也加長。第二種所提到的國內廠家提供的嵌入式平臺,一般情況下多媒體播放器采用目前 已知的開源播放器框架,如FFMPEG、opencore或者基于目前常用的播放器框架流程開發(fā)出 來的自己的 播放器,總體來講,該嵌入式平臺擴展性較強,可以達到廠商移植的目的,但是 由于不是自己開發(fā)的播放器,在代碼移植以及架構流程層上肯定要花費大量的時間、人力 才能實現(xiàn)自己移植的目的,這樣的話,開發(fā)周期受制于平臺廠商自帶的多媒體播放器類型, 嚴重影響產品上市時間。最后一種提到的開發(fā)平臺,由于是通用平臺,其所帶的多媒體播放框架,軟件開發(fā) 包里面媒體類型支持不多,產品開發(fā)商是可以容易實現(xiàn)自己的加解密技術,但是受限于播 放框架支持的媒體類型不多,如果要自己增加媒體類型,無疑會增加越來越多的人力成本 投入,以及延長開發(fā)周期。
發(fā)明內容本發(fā)明要解決的技術問題,在于提供一種通用的多媒體播放器框架,它能夠在不 同類型的媒體播放器上擴展一套通用接口,方便移植多媒體版權保護技術。本發(fā)明是這樣實現(xiàn)的一種通用的多媒體播放器框架,它包括依次連接的播放 器模塊、多媒體類型識別器、媒體文件解析器、音視頻解碼器、音視頻同步輸出模塊,所述多 媒體類型識別器、媒體文件解析器均連接到一播放器數(shù)據(jù)操作接口模塊,所述播放器數(shù)據(jù) 操作接口模塊掛載一通用數(shù)據(jù)操作接口模塊,所述多媒體類型識別器掛載一通用文件類型 識別器,所述媒體文件解析器掛載一通用文件類型解析器,所述音視頻解碼器掛載一通用 音視頻解碼器。進一步的,所述通用數(shù)據(jù)操作接口模塊包括與所述播放器數(shù)據(jù)操作接口模塊內 的接口函數(shù)一一對應的接口函數(shù),所述通用數(shù)據(jù)操作接口模塊的每個接口函數(shù)均設置有用 于添加功能函數(shù)的預留接口。進一步的,所述通用文件類型識別器包括與所述多媒體類型識別器內的接口函 數(shù)一一對應的接口函數(shù),所述通用文件類型識別器的每個接口函數(shù)均設置有用于添加功能 函數(shù)的預留接口。進一步的,所述通用文件類型解析器包括與所述媒體文件解析器內的接口函數(shù) 一一對應的接口函數(shù),所述通用文件類型解析器的每個接口函數(shù)均設置有用于添加功能函 數(shù)的預留接口。進一步的,所述通用音視頻解碼器包括與所述音視頻解碼器內的接口函數(shù)一一 對應的接口函數(shù),所述通用音視頻解碼器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預 留接口。進一步的,所述通用數(shù)據(jù)操作接口模塊、通用文件類型識別器、通用文件類型解析 器、通用音視頻解碼器均對預留接口所接收的功能函數(shù)進行驗證判斷,如果不符合所需要 的結果,則上報錯誤。進一步的,所述通用數(shù)據(jù)操作接口模塊、通用文件類型識別器、通用文件類型解析器、通用音視頻解碼器均帶有關于預留接口的實現(xiàn)案例,以確保它們本身是掛載在播放器 的框架內。本 發(fā)明具有如下優(yōu)點本發(fā)明主要是在所述播放器數(shù)據(jù)操作接口模塊掛載一通用數(shù)據(jù)操作接口模塊,所 述多媒體類型識別器掛載一通用文件類型識別器,所述媒體文件解析器掛載一通用文件類 型解析器,所述音視頻解碼器掛載一通用音視頻解碼器,以上掛載的各個通用模塊均在接 口函數(shù)上設置有用于添加功能函數(shù)的預留接口,開發(fā)商可以根據(jù)具體需要實現(xiàn)什么功能, 再將可實現(xiàn)該功能的對應函數(shù)通過預留接口添加到所述通用模塊上,這樣就可以在不同類 型的媒體播放器上擴展一套通用接口,方便開發(fā)者在不需要關心媒體框架類型的前提下實 現(xiàn)對播放器的擴展功能,尤其是更容易實現(xiàn)多媒體數(shù)字版權保護的功能。
下面參照附圖結合實施例對本發(fā)明作進一步的說明。圖1為本發(fā)明方法一實施例的結構示意圖。圖2為本發(fā)明通用文件類型識別器的結構示意圖。圖3為圖2中接口函數(shù)1的模塊示意圖。圖4為本發(fā)明通用文件類型解析器的結構示意圖。圖5為本發(fā)明通用數(shù)據(jù)操作接口模塊的原理示意圖。
具體實施方式請參閱圖1至圖5所示,對本發(fā)明的實施例進行詳細的說明。如圖1,本發(fā)明的一實施例,它包括依次連接的UI層播放器模塊、多媒體類型識 別器、媒體文件解析器、音視頻解碼器、音視頻同步輸出模塊,所述多媒體類型識別器、媒體 文件解析器均連接到一播放器數(shù)據(jù)操作接口模塊,所述播放器數(shù)據(jù)操作接口模塊掛載一通 用數(shù)據(jù)操作接口模塊,所述多媒體類型識別器掛載一通用文件類型識別器,所述媒體文件 解析器掛載一通用文件類型解析器,所述音視頻解碼器掛載一通用音視頻解碼器。所述通 用數(shù)據(jù)操作接口模塊包括與所述播放器數(shù)據(jù)操作接口模塊內的接口函數(shù)一一對應的接 口函數(shù),所述通用數(shù)據(jù)操作接口模塊的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接 口,每個接口函數(shù)設置的預留接口的數(shù)量,是根據(jù)具體需求來決定。所述通用文件類型識 別器包括與所述多媒體類型識別器內的接口函數(shù)一一對應的接口函數(shù),所述通用文件類 型識別器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口,每個接口函數(shù)設置的預 留接口的數(shù)量,是根據(jù)具體需求來決定。所述通用文件類型解析器包括與所述媒體文件 解析器內的接口函數(shù)一一對應的接口函數(shù),所述通用文件類型解析器的每個接口函數(shù)均設 置有用于添加功能函數(shù)的預留接口,每個接口函數(shù)設置的預留接口的數(shù)量,是根據(jù)具體需 求來決定。所述通用音視頻解碼器包括與所述音視頻解碼器內的接口函數(shù)一一對應的接 口函數(shù),所述通用音視頻解碼器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口, 每個接口函數(shù)設置的預留接口的數(shù)量,是根據(jù)具體需求來決定。所述通用數(shù)據(jù)操作接口模 塊、通用文件類型識別器、通用文件類型解析器、通用音視頻解碼器均對預留接口所接收的 功能函數(shù)進行驗證判斷,如果不符合所需要的結果,則上報錯誤。所述通用數(shù)據(jù)操作接口模塊、通用文件類型識別器、通用文件類型解析器、通用音視頻解碼器均帶有關于預留接口的 實現(xiàn)案例,以確保它們本身是掛載在播放器的框架內。
結合圖2,所述通用文件類型識別器包括與所述多媒體類型識別器內的接口函 數(shù)一一對應的接口函數(shù),如接口函數(shù)1、接口函數(shù)2...,所述通用文件類型識別器的每個接 口函數(shù)均設置有預留接口,如圖3,所述接口函數(shù)1設置有預留接口 1和預留接口 2...等, 開發(fā)商可以根據(jù)具體需要實現(xiàn)什么功能,再將可實現(xiàn)該功能的對應函數(shù)通過預留接口添加 到所述通用文件類型識別器。所述通用文件類型識別器包含有相關的預留接口參數(shù)與返回 值詳細說明文檔,對預留接口所返回的結果進行必要的驗證判斷,如果確認不符合所需要 的結果值,則上報錯誤,防止錯誤狀態(tài)一直延續(xù);所述通用文件類型識別器帶有簡單的關于 預留接口的實現(xiàn)案例,確保通用文件類型識別器是掛載在播放器框架之內,開發(fā)商不去實 現(xiàn)該模塊也要保證播放器能夠正常工作。結合圖4,所述通用文件類型解析器包括與所述媒體文件解析器內的接口函數(shù) 一一對應的接口函數(shù),如接口函數(shù)1、接口函數(shù)2...,所述通用文件類型解析器的每一個接 口函數(shù)均設置有預留接口,開發(fā)商可以根據(jù)具體需要實現(xiàn)什么功能,再將可實現(xiàn)該功能的 對應函數(shù)通過預留接口添加到所述通用文件類型解析器。所述通用文件類型解析器包含有 相關的預留接口參數(shù)與返回值詳細說明文檔,對預留接口所返回的結果進行必要的驗證判 斷,如果確認不符合所需要的結果值,則上報錯誤,防止錯誤狀態(tài)一直延續(xù);帶有簡單的關 于預留接口的實現(xiàn)案例,確保通用文件類型解析器是掛載在播放器框架之內,開發(fā)商不去 實現(xiàn)該模塊也要保證播放器能夠正常工作。結合圖5,所述通用數(shù)據(jù)操作接口模塊掛載到所述播放器數(shù)據(jù)操作接口模塊上,它 包括與所述播放器數(shù)據(jù)操作接口模塊內的接口函數(shù)一一對應的接口函數(shù),所述通用數(shù)據(jù) 操作接口模塊每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。通過所述播放器數(shù)據(jù) 操作接口模塊的接口函數(shù)對通用數(shù)據(jù)操作接口模塊的相對應接口函數(shù)進行調用,并確保在 通用數(shù)據(jù)操作接口模塊不需要起作用的時候,調用原來的播放器數(shù)據(jù)操作接口模塊;通用 數(shù)據(jù)操作接口模塊中;所述通用數(shù)據(jù)操作接口模塊應該對預留接口接收的開發(fā)者提供的對 應函數(shù)的返回結果進行必要的判斷,如果有誤,應該上報,防止在錯誤的情況下,播放器繼 續(xù)運行。所述通用音視頻解碼器包括與所述音視頻解碼器內的接口函數(shù)一一對應的接口 函數(shù),所述通用音視頻解碼器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。它 可以實現(xiàn)跟原有播放器框架的掛載關系,實現(xiàn)原播放器能夠識別的數(shù)據(jù)輸入輸出接口,只 需要告知開發(fā)者輸入數(shù)據(jù)的類型以及輸出數(shù)據(jù)需要的類型,這樣開發(fā)者在需要添加自己的 解碼器的時候,不需要去關注跟播放器交互的接口,只需要關注自己解碼器的實現(xiàn),方便開 發(fā)者開發(fā)。如果開發(fā)者要移植自己多媒體數(shù)字版權保護技術到產品中,目前市面常用的大致 可以分為兩種加密方式,一種是整個文件都進行數(shù)字加密;另一種是文件信息部分數(shù)字和 文件結構都是沒有改變,只對文件所帶的音視頻編碼數(shù)據(jù)進行加密。首先分析第一種加密方式在本發(fā)明的播放器框架下需要移植的步驟1.采用對整個文件進行加密,確認解密后文件類型在目前播放器能夠正常支持的 情況下,只需要將開發(fā)者的解密庫,通過預留接口添加到所述通用數(shù)據(jù)操作接口模塊中,播放器方可獲取該文件的 解密后數(shù)據(jù),從而實現(xiàn)整個播放器的正常運行,達到移植目的;2.如果目前的播放器還不能夠正常支持步驟1中的經過解密后的文件,那么先判 讀播放器所帶的多媒體類型識別器是否可以識別該文件類型,如果所述多媒體類型識別器 不能識別該文件類型,則需要通過預留接口將可以對該文件進行識別的對應函數(shù),添加到 通用文件類型識別器中,從而達到對該文件類型識別;3.經過步驟2后,文件類型已經可以識別出來,如果播放器當前所帶的媒體文件 解析器可以支持該類型的文件,可跳到步驟4,否則需要將開發(fā)者自己的對該文件解析的代 碼通過預留接口添加到通用文件類型解析器中;4.經過步驟3后,文件音/視頻編碼類型已經可以解析出來,如果當前播放器所帶 的音視頻解碼器能夠支持該類型,則實現(xiàn)加密文件的播放器的正常運行,否則需要通過預 留接口將所缺的對應函數(shù)添加到通用音視頻解碼器。對于第二種的加密方式,只需要按照以下步驟進行移植即可1’.判斷當前播放器所帶的多媒體類型識別器是否支持該文件,如果支持該文件, 則跳至步驟2’,否則需要通過預留接口將可以對該文件進行識別的實現(xiàn)函數(shù),添加到通用 文件類型識別器中,從而達到對該文件類型識別;2’ .無論播放器所帶的媒體文件解析器是否支持該文件,為了使解析器輸出無加 密的編碼數(shù)據(jù)至解碼器解碼,都需要將開發(fā)者自己的對該文件解析的代碼通過預留接口添 加到通用文件類型解析器中;3’ .經過步驟2’后,文件音/視頻編碼類型可以被解析出來,如果當前播放器所 帶的音視頻解碼器能夠支持該類型,則實現(xiàn)加密文件的播放器的正常運行,否則需要通過 預留接口將所缺的對應函數(shù)添加到通用音視頻解碼器。經過以上三個步驟既可以實現(xiàn)第二種加密技術移植到產品中。以上所述,僅為本發(fā)明較佳實施例而已,故不能依此限定本發(fā)明實施的范圍,即依 本發(fā)明專利范圍及說明書內容所作的等效變化與修飾,皆應仍屬本發(fā)明涵蓋的范圍內。
權利要求
1.一種通用的多媒體播放器框架,它包括依次連接的播放器模塊、多媒體類型識別 器、媒體文件解析器、音視頻解碼器、音視頻同步輸出模塊,所述多媒體類型識別器、媒體文 件解析器均連接到一播放器數(shù)據(jù)操作接口模塊,其特征在于所述播放器數(shù)據(jù)操作接口模 塊掛載一通用數(shù)據(jù)操作接口模塊,所述多媒體類型識別器掛載一通用文件類型識別器,所 述媒體文件解析器掛載一通用文件類型解析器,所述音視頻解碼器掛載一通用音視頻解碼O
2.根據(jù)權利要求1所述的一種通用的多媒體播放器框架,其特征在于所述通用數(shù)據(jù) 操作接口模塊包括與所述播放器數(shù)據(jù)操作接口模塊內的接口函數(shù)一一對應的接口函數(shù), 所述通用數(shù)據(jù)操作接口模塊的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。
3.根據(jù)權利要求1所述的一種通用的多媒體播放器框架,其特征在于所述通用文件 類型識別器包括與所述多媒體類型識別器內的接口函數(shù)一一對應的接口函數(shù),所述通用 文件類型識別器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。
4.根據(jù)權利要求1所述的一種通用的多媒體播放器框架,其特征在于所述通用文件 類型解析器包括與所述媒體文件解析器內的接口函數(shù)一一對應的接口函數(shù),所述通用文 件類型解析器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。
5.根據(jù)權利要求1所述的一種通用的多媒體播放器框架,其特征在于所述通用音視 頻解碼器包括與所述音視頻解碼器內的接口函數(shù)一一對應的接口函數(shù),所述通用音視頻 解碼器的每個接口函數(shù)均設置有用于添加功能函數(shù)的預留接口。
6.根據(jù)權利要求2至5所述的一種通用的多媒體播放器框架,其特征在于所述通用 數(shù)據(jù)操作接口模塊、通用文件類型識別器、通用文件類型解析器、通用音視頻解碼器均對預 留接口所接收的功能函數(shù)進行驗證判斷,如果不符合所需要的結果,則上報錯誤。
7.根據(jù)權利要求2至5所述的一種通用的多媒體播放器框架,其特征在于所述通用 數(shù)據(jù)操作接口模塊、通用文件類型識別器、通用文件類型解析器、通用音視頻解碼器均帶有 關于預留接口的實現(xiàn)案例,以確保它們本身是掛載在播放器的框架內。
全文摘要
本發(fā)明提供一種通用的多媒體播放器框架,它包括依次連接的播放器模塊、多媒體類型識別器、媒體文件解析器、音視頻解碼器、音視頻同步輸出模塊,所述多媒體類型識別器、媒體文件解析器均連接到一播放器數(shù)據(jù)操作接口模塊,所述播放器數(shù)據(jù)操作接口模塊掛載一通用數(shù)據(jù)操作接口模塊,所述多媒體類型識別器掛載一通用文件類型識別器,所述媒體文件解析器掛載一通用文件類型解析器,所述音視頻解碼器掛載一通用音視頻解碼器。本發(fā)明可以在不同類型的媒體播放器上擴展一套通用接口,方便開發(fā)者在不需要關心媒體框架類型的前提下實現(xiàn)對播放器的擴展功能,尤其是更容易實現(xiàn)多媒體數(shù)字版權保護的功能。
文檔編號G06F9/44GK102129370SQ201110006199
公開日2011年7月20日 申請日期2011年1月12日 優(yōu)先權日2011年1月12日
發(fā)明者陳長海 申請人:福州瑞芯微電子有限公司