一種android系統的通信編解碼組件的使用方法
【專利摘要】一種android系統的通信編解碼組件的使用方法,涉及android系統數據處理【技術領域】,其包括以下步驟:步驟S1.編寫OpenMax集成層的組件和OpenMax集成層的組件客戶端,組件客戶端能夠調用組件,進而通過組件客戶端調用OpenMax開發層的硬件編解碼器;步驟S2.創建流媒體硬件編解碼插件,對組件客戶端的接口進行封裝;步驟S3.將硬件編解碼器的信息寫入配置文件,上層應用通過配置文件,選擇流媒體硬件編解碼插件,調用組件客戶端的接口,進而調用組件的接口,最終調用硬件編解碼器。本發明利用硬件編解碼器,從而提升編解碼效率,以此帶來更好的用戶體驗。
【專利說明】—種android系統的通信編解碼組件的使用方法
【技術領域】
[0001]本發明涉及android系統數據處理【技術領域】,具體來講是一種android系統的通信編解碼組件的使用方法。
【背景技術】
[0002]已研發的多媒體流引擎可為接收、發送多媒體流提供處理,包括音/視頻捕獲、編碼、解碼、渲染。自帶有多種編解碼,并能進行第三方編解碼擴展。多媒體引擎有多個跨平臺版本,能運行在android平臺,使用者能通過它體驗視頻通信功能。
[0003]但是該多媒體引擎一般采用軟件編解碼器,由于軟件編解碼器完全依靠cpu的處理能力,實時傳輸和處理音視頻時會產生搶占、掛死的問題,導致效率較低。
【發明內容】
[0004]針對現有技術中存在的缺陷,本發明的目的在于提供一種android系統的通信編解碼組件的使用方法,利用硬件編解碼器,從而提升編解碼效率,以此帶來更好的用戶體驗。
[0005]為達到以上目的,本發明采取的技術方案是:一種android系統的通信編解碼組件的使用方法,基于OpenMax集成層和OpenMax開發層的硬件編解碼器,包括以下步驟:步驟S1.編寫OpenMax集成層的組件和OpenMax集成層的組件客戶端,所述組件客戶端能夠調用所述組件,進而通過組件客戶端調用OpenMax開發層的硬件編解碼器;步驟S2.創建流媒體硬件編解碼插件,對所述組件客戶端的接口進行封裝;步驟S3.將所述硬件編解碼器的信息寫入配置文件,上層應用通過配置文件,選擇流媒體硬件編解碼插件,調用所述組件客戶端的接口,進而調用所述組件的接口,最終調用所述硬件編解碼器。
[0006]在上述技術方案的基礎上,所述流媒體硬件編解碼插件為流媒體引擎filter。
[0007]在上述技術方案的基礎上,所述組件包括音頻組件、視頻組件和圖像組件。
[0008]在上述技術方案的基礎上,所述組件具有編解碼處理的功能;所述組件客戶端通過調用所述組件完成組件功能。
[0009]在上述技術方案的基礎上,所述配置文件還包括軟件編解碼器的信息。
[0010]在上述技術方案的基礎上,步驟S2的具體步驟為:步驟S201.創建流媒體硬件編解碼插件;步驟S202.將所述組件客戶端的接口按流媒體插件要求封裝;步驟S203.使用流媒體硬件編解碼插件的接口,調用封裝后的組件客戶端的接口,完成所述硬件編解碼器的初始化、處理和清理。
[0011]本發明的有益效果在于:
[0012]1、本發明利用硬件編解碼器,由于硬件編解碼器處理能力比軟件編解碼強,可以使用專屬器件或部件(如GPU等),因此提升了編解碼效率,帶來了更好的用戶體驗。
[0013]2、本發明利用硬件編解碼適配的OpenMax開發層和OpenMax集成層是標準接口,能夠方便地進行硬件編解碼器的擴展。【專利附圖】
【附圖說明】
[0014]圖1為OpenMAX的結構框圖;
[0015]圖2為本發明實施例中android系統的通信編解碼組件的使用方法流程圖;
[0016]圖3為本發明實施例中的軟件結構示意圖。
【具體實施方式】
[0017]以下結合附圖及實施例對本發明作進一步詳細說明。
[0018]參見圖1所示,OpenMAX是一個多媒體應用程序的標準,包括三層,分別是應用層、集成層和開發層。OpenMax集成層中重要的組成部分是組件(component),組件是OpenMax集成層實現的核心內容,一個組件以輸入、輸出端口為接口,端口可以被連接到另一個組件上。外部對組件可以發送命令,還進行設置/獲取參數、配置等內容。組件的端口可以包含緩沖區(Buffer)的隊列。在android系統中,OpenMax集成層,可以用于多媒體引擎的插件,android的多媒體引擎OpenCore和StageFright都可以使用OpenMax作為插件,主要用于編解碼(Codec)處理。
[0019]參見圖2所示,本發明實施例提供一種android系統的通信編解碼組件的使用方法,基于OpenMax集成層和OpenMax開發層的硬件編解碼器,包括以下步驟:
[0020]步驟S1.編寫 OpenMax集成層的組件和OpenMax集成層的組件客戶端,所述組件客戶端能夠調用所述組件,進而通過組件客戶端調用OpenMax開發層的硬件編解碼器;所述組件包括音頻組件、視頻組件和圖像組件。所述組件,具有編解碼處理的功能;所述組件客戶端,通過調用所述組件完成組件功能。
[0021]步驟S2.創建流媒體硬件編解碼插件,對所述組件客戶端的接口進行封裝;所述流媒體硬件編解碼插件為流媒體引擎filter。
[0022]步驟S2的具體步驟包括:
[0023]步驟S201.創建流媒體硬件編解碼插件。
[0024]步驟S202.將所述組件客戶端的接口按流媒體插件要求封裝。
[0025]步驟S203.使用流媒體硬件編解碼插件的接口,調用封裝后的組件客戶端的接口,完成所述硬件編解碼器的初始化、處理和清理。
[0026]步驟S3.將所述硬件編解碼器的信息寫入配置文件,參見圖3所示,上層應用通過配置文件,選擇流媒體硬件編解碼插件,調用所述組件客戶端的接口,進而調用所述組件的接口,最終調用所述硬件編解碼器。配置文件存儲在應用程序所在文件夾,供程序調用。所述配置文件還包括軟件編解碼器的信息。
[0027]本發明通過流引擎filter來獲取數據源,傳遞給OpenMax集成層的組件進行編解碼處理,處理后的數據回填到流媒體引擎filter分配的供OpenMax集成層的組件使用的緩沖區(Buffer),由流引擎進行后續處理。就這樣通過不斷調用和回填數據完成編解碼處理。實際在操作過程中用戶先通過配置文件選擇流媒體硬件編解碼插件,然后上層應用通過調用封裝的OpenMax集成層的組件客戶端的接口來調用OpenMax開發層的硬件編解碼器。
[0028]本發明不局限于上述實施方式,對于本【技術領域】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍之內。本說明書中 未作詳細描述的內容屬于本領域專業技術人員公知的現有技術。
【權利要求】
1.一種android系統的通信編解碼組件的使用方法,基于OpenMax集成層和OpenMax開發層的硬件編解碼器,其特征在于,包括以下步驟: 步驟S1.編寫OpenMax集成層的組件和OpenMax集成層的組件客戶端,所述組件客戶端能夠調用所述組件,進而通過組件客戶端調用OpenMax開發層的硬件編解碼器; 步驟S2.創建流媒體硬件編解碼插件,對所述組件客戶端的接口進行封裝; 步驟S3.將所述硬件編解碼器的信息寫入配置文件,上層應用通過配置文件,選擇流媒體硬件編解碼插件,調用所述組件客戶端的接口,進而調用所述組件的接口,最終調用所述硬件編解碼器。
2.如權利要求1所述的android系統的通信編解碼組件的使用方法,其特征在于:所述流媒體硬件編解碼插件為流媒體引擎filter。
3.如權利要求1所述的android系統的通信編解碼組件的使用方法,其特征在于:所述組件包括音頻組件、視頻組件和圖像組件。
4.如權利要求1所述的android系統的通信編解碼組件的使用方法,其特征在于:所述組件具有編解碼處理的功能;所述組件客戶端通過調用所述組件完成組件功能。
5.如權利要求1所述的android系統的通信編解碼組件的使用方法,其特征在于:所述配置文件還包括軟件編解碼器的信息。
6.如權利要求1所述的android系統的通信編解碼組件的使用方法,其特征在于,步驟S2的具體步驟為: 步驟S201.創建流媒體硬件編解碼插件; 步驟S202.將所述組件客戶端的接口按流媒體插件要求封裝; 步驟S203.使用流媒體硬件編解碼插件的接口,調用封裝后的組件客戶端的接口,完成所述硬件編解碼器的初始化、處理和清理。
【文檔編號】H04N21/443GK104023266SQ201410227446
【公開日】2014年9月3日 申請日期:2014年5月27日 優先權日:2014年5月27日
【發明者】于敏, 王功乾, 覃洪清, 焦本斌, 韓佳南 申請人:烽火通信科技股份有限公司