實時音視頻轉碼方法和系統的制作方法
【專利摘要】一種實時音視頻轉碼方法和系統,其中方法包括步驟:獲取直播請求,其中,所述直播請求包括音視頻數據包的名稱及其格式信息;根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;判斷所述上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配,若否,則將所述上傳的音視頻數據包進行解析,獲得音視頻源數據,對音視頻源數據進行解碼處理;根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。通過本發明方案靈活的降低了CPU及內存資源的消耗,大大提升了處理能力。
【專利說明】實時音視頻轉碼方法和系統
【技術領域】
[0001]本發明涉及轉碼【技術領域】,特別是涉及一種實時音視頻轉碼方法和系統。
【背景技術】
[0002]傳統技術中,每一直播視頻服務器都有一個直播源,即直播視頻內容的來源,也可稱之為直播視頻上傳客戶端,直播服務器需要完成的重要功能就是將直播源的內容發送到多個播放客戶端。不同客戶端往往支持不同編碼類型的視頻流,此時要實現同一直播服務器將直播源內容發送到各個播放客戶端,則需要進行音視頻轉碼。
[0003]上述技術,將上傳的音視頻數據包中音視頻數據解碼為視頻解碼數據和音頻解碼數據,將解碼后的音頻解碼數據和視頻解碼數據根據直播請求進行相應編碼。傳統技術雖然解決了音視頻轉碼問題,但是將所有音視頻數據包經過解碼、緩存、編碼過程,大量消耗CPU以及內存資源。
【發明內容】
[0004]基于此,有必要針對耗費CPU以及內存資源大的問題,提供一種實時音視頻轉碼方法和系統。
[0005]一種實時音視頻轉碼方法,包括步驟:
[0006]獲取直播請求,其中,所述直播請求包括音視頻數據包的名稱及其格式信息;
[0007]根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;·
[0008]判斷所述上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配,若否,則將所述上傳的音視頻數據包進行解析,獲得音視頻源數據,對音視頻源數據進行解碼處理;
[0009]根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
[0010]一種實時音視頻轉碼系統,其特征在于,包括:
[0011]直播請求獲取模塊,用于獲取直播請求,其中,所述直播請求包括音視頻數據包的名稱及其格式?目息;
[0012]數據獲取模塊,用于根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;
[0013]第一判斷模塊,用于判斷所述上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配;
[0014]解析模塊,用于當所述格式信息不完全匹配時,將所述上傳的音視頻數據包進行解析,獲得音視頻源數據;
[0015]解碼模塊,用于對音視頻源數據進行解碼處理;
[0016]編碼合并模塊,用于根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
[0017]上述實時音視頻轉碼方法和系統,通過對直播客戶端請求的視頻及音頻格式信息與上傳的音視頻數據包的格式信息進行匹配,并根據匹配結果,當格式信息是否完全匹配時將上傳的音視頻數據包進行解析,獲得音視頻源數據,對音視頻源數據進行解碼處理。根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。當格式信息完全匹配時對音視頻數據包不進行解碼、編碼處理。從而靈活的降低了 CPU及內存資源的消耗,大大提升了處理能力。同樣的硬件成本,本方案可以支持更多的客戶端。
【專利附圖】
【附圖說明】
[0018]圖1為本發明實時音視頻轉碼方法實施例的流程示意圖;
[0019]圖2為本發明實時音視頻轉碼系統實施例的結構示意圖;
[0020]圖3為本發明實時音視頻轉碼系統具體實例的結構示意圖。
【具體實施方式】
[0021]以下針對本發明實時音視頻轉碼方法和系統的各實施例進行詳細的描述。
[0022]如圖1所示,為本發明實時音視頻轉碼方法實施例的流程示意圖,包括步驟:
[0023]步驟SlOl:獲取直播請求,其中,直播請求包括音視頻數據包的名稱及其格式信息;
[0024]直播客戶端需要播放音視頻內容時,需要發出直播請求。即本步驟可以是獲取直播客戶端發送的直播請求。
[0025]步驟S102:根據直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;
[0026]本步驟目的是為了根據直播請求獲取長傳的音視頻數據包以及該音視頻數據包的格式信息。格式信息中記錄著音視頻數據包中音頻數據的格式信息和視頻數據的格式信肩、O
[0027]在其中一個實施例中,可以對音視頻數據包的存在狀態進行判斷,即是否存在對應的音視頻數據包進行判斷。因此,步驟S102可以包括:
[0028]根據直播請求的音視頻數據包的名稱查詢對應音視頻數據包是否上傳,若否,則提示錯誤信息,若是,則獲取上傳的音視頻數據包及其格式信息。
[0029]其中,查詢對應音視頻數據包是否上傳包括是否處于上傳狀態或者是否已經上傳。本實施例先通過判斷,可以將不存在音視頻數據包的情況反饋,并避免了后續多余的處理。
[0030]步驟S103:判斷上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配,若否,進入步驟S104 ;
[0031]上傳的音視頻數據包的格式信息與直播請求中的格式信息完全匹配是指上傳的音視頻數據包中的音頻數據的格式信息和視頻數據的格式信息均匹配。當然,不完全匹配即包括三種情況:上傳的音視頻數據包中的音頻數據的格式信息不匹配、視頻數據的格式信息匹配;上傳的音視頻數據包中的音頻數據的格式信息匹配、視頻數據的格式信息不匹配;上傳的音視頻數據包中的音頻數據的格式信息和視頻數據的格式信息均不匹配。
[0032]另外,當該上傳的音視頻數據包的格式信息與直播請求中的格式信息完全匹配時,則無需進行后續的解碼和重新編碼,將該音視頻數據包進行緩存,直接發送給直播客戶端播放即可。因此,靈活的降低了 CPU及內存資源的消耗,大大提升了處理能力。
[0033]步驟S104:將上傳的音視頻數據包進行解析,獲得音視頻源數據,對音視頻源數據進行解碼處理;
[0034]步驟S105:根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
[0035]在其中一個實施例中,只要格式信息不完全匹配,則將上傳的音視頻數據包進行解析,獲得音頻源數據和視頻源數據,對音頻源數據和視頻源數據均進行解碼處理。然后根據直播請求中的格式信息對解碼后的音頻解碼數據和視頻解碼數據進行編碼,并對編碼后的音頻編碼數據和視頻編碼數據進行合并,獲得新的音視頻數據包。
[0036]在另一個實施例中,對音視頻數據包解析后,可以只對不匹配的音頻/視頻數據進行解碼和重新編碼,對匹配的音頻/視頻數據不進行解碼和重新編碼,這樣可以進一步降低CPU及內存資源的消耗,提升處理能力。具體包括:
[0037]音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配;
[0038]對音視頻源數據進行解碼處理步驟,包括:對音頻源數據進行解碼,獲得音頻解碼數據;
[0039]根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據直播請求中的格式信息對音頻解碼數據進行編碼,將編碼后的音頻數據和視頻源數據進行合并獲得新的音視頻數據包,
[0040]或
[0041]音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配;
[0042]對音視頻源數據進行解碼處理步驟,包括:對視頻源數據進行解碼,獲得視頻解碼數據;
[0043]根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據直播請求中的格式信息對視頻解碼數據進行編碼,將編碼后的視頻數據和音頻源數據進行合并獲得新的音視頻數據包,
[0044]或
[0045]音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配;
[0046]對音視頻源數據進行解碼處理步驟,包括:對音頻源數據和視頻源數據進行解碼,獲得音頻解碼數據和視頻解碼數據;
[0047]根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據直播請求中的格式信息對音頻解碼數據和視頻解碼數據進行編碼,將編碼后的音頻數據和視頻數據進行合并獲得新的音視頻數據包。
[0048]在其中一個實施例中,還可以將解碼或者無需解碼的數據進行緩存。即在步驟S104之后,步驟S105之前,還包括:
[0049]將視頻源數據和解碼處理的音頻解碼數據緩存,其中,音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配,[0050]或
[0051]將音頻源數據和解碼處理的視頻解碼數據緩存,其中,音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配,
[0052]或
[0053]將解碼處理后的音頻解碼數據和視頻解碼數據緩存,其中,音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配;
[0054]或
[0055]將音視頻數據包緩存,其中,音視頻源數據中的音頻源數據和視頻源數據的格式信息均匹配。
[0056]在其中一個實施例中,為了實現音頻數據和視頻數據的同步,將上傳的音視頻數據包進行解析,可以獲得音視頻源數據,還可以獲得音視頻同步信息,在步驟S105中,根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,根據該音視頻同步信息進行同步并對應合并,生成新的音視頻數據包。
[0057]上述各實施例可以自由組合,比如同步實施例與不同情況下如何實現解碼實施例組合,不同情況下如何實現解碼實施例與數據緩存實施例組合等,在此不再一一贅述。
[0058]本發明舉其中一個運用實例進行詳細說明。
[0059]首先接收音視頻上傳客戶端上傳的音視頻網絡包以及流格式信息,但并未對音視頻進行解碼。
[0060]當直播客戶端發送直播請求時,接收直播請求,其中包括直播視頻的名字、編碼信息等。
[0061]接收到直播請求后,檢查請求的直播視頻是否正處于上傳過程中,如果存在,則進入下一步,否則向直播客戶端返回錯誤信息;
[0062]將直播請求中包含的請求音視頻格式信息進行分析匹配處理;
[0063]根據匹配結果,開啟2條不同的處理路徑。路徑Al是當音頻不匹配、視頻不匹配或音視頻均不匹配;路徑A2是音頻與視頻都匹配。
[0064]路徑Al中,對音視頻流進行拆包,獲取視頻源數據及音頻源數據。并根據匹配結果開啟3條不同的路徑,并將音頻源數據和視頻源數據傳入不同的路徑。3條路徑有:A1-1是僅視頻格式不匹配;Α1-2是僅音頻格式不匹配;Α1-3是音頻視頻格式都不匹配。
[0065]路徑Al-1中,僅對視頻流進行解碼,輸出YUV數據,音頻源數據不變;路徑A1-2中,僅對音頻流進行解碼,輸出PCM數據,視頻源數據不變;路徑A1-3中,分別對音頻流和視頻流進行解碼,分別輸出YUV視頻數據及PCM音頻數據。所有輸出的YUV數據,PCM數據以及未經解碼的音視頻源數據都進行緩存。
[0066]將解碼后音視頻數據分別根據直播請求中的格式信息進行編碼;將未經解碼的音視頻源數據與后續編碼后的音頻或視頻數據進行合并。
[0067]將合并后的音視頻流數據分開2路,一路用于存儲,供非實時點播用;另一路發送給直播客戶端進行實時流播放。至此Al路徑結束。
[0068]A2路徑中,音視數據包分成2路,一路用于存儲,供非實時點播用;另一路發送給直播客戶端進行實時流播放。至此A2路徑結束。
[0069]本發明對直播客戶端請求的視頻及音頻格式與上傳的音視頻數據包的格式進行分析匹配,并根據分析匹配結果啟動多條處理路徑,僅僅當視頻以及音頻都與目標格式不匹配時所在的路徑中才同時啟用視頻及音頻的解碼、緩存、編碼。而其余的路徑是部分啟用音頻或視頻的解碼及編碼處理或者完全不經過解碼、緩存及編碼處理。從而靈活的降低了(PU及內存資源的消耗,大大提升了服務器的處理能力。比如,同樣的配置,客戶端多了,到了瓶頸的地方,傳統方法到了 10個客戶端就又慢又卡了,采用本方案可以輕松支持10個,甚至幾十個。同樣的硬件成本,本方案可以支持更多的業務。[0070]根據上述實時音視頻轉碼方法,本發明還提供一種實時音視頻轉碼系統,如圖2所示,包括:
[0071]直播請求獲取模塊210,用于獲取直播請求,其中,直播請求包括音視頻數據包的名稱及其格式?目息;
[0072]數據獲取模塊220,用于根據直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;
[0073]第一判斷模塊230,用于判斷上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配;
[0074]解析模塊240,用于當格式信息不完全匹配時,將上傳的音視頻數據包進行解析,獲得音視頻源數據;
[0075]解碼模塊250,用于對音視頻源數據進行解碼處理;
[0076]編碼合并模塊260,用于根據直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
[0077]其中,解析模塊中不需要解碼的音頻源數據或視頻源數據則直接發送給編碼合并模塊進行合并。比如,只有音頻源數據格式不匹配時,則將解碼模塊將音頻源數據進行解碼,編碼合并模塊將解碼后的音頻解碼數據進行編碼。同時,解析模塊將視頻源數據發送至編碼合并模塊,編碼合并模塊將重新編碼的音頻數據和視頻源數據進行同步合并。
[0078]在其中一個實施例中,音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配;
[0079]解碼模塊,用于對音頻源數據進行解碼,獲得音頻解碼數據;
[0080]編碼合并模塊,用于根據直播請求中的格式信息對音頻解碼數據進行編碼,將編碼后的音頻數據和視頻源數據進行合并獲得新的音視頻數據包,
[0081]或
[0082]音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配;
[0083]解碼模塊,用于對視頻源數據進行解碼,獲得視頻解碼數據;
[0084]編碼合并模塊,用于根據直播請求中的格式信息對視頻解碼數據進行編碼,將編碼后的視頻數據和音頻源數據進行合并獲得新的音視頻數據包,
[0085]或
[0086]音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配;
[0087]解碼模塊,用于對音頻源數據和視頻源數據進行解碼,獲得音頻解碼數據和視頻解碼數據;
[0088]編碼合并模塊,用于根據直播請求中的格式信息對音頻解碼數據和視頻解碼數據進行編碼,將編碼后的音頻數據和視頻數據進行合并獲得新的音視頻數據包。[0089]在其中一個實施例中,編碼合并模塊之前,還包括緩存模塊,用于:
[0090]將視頻源數據和解碼處理的音頻解碼數據緩存,其中,音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配,
[0091]或
[0092]將音頻源數據和解碼處理的視頻解碼數據緩存,其中,音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配,
[0093]或
[0094]將解碼處理后的音頻解碼數據和視頻解碼數據緩存,其中,音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配;
[0095]或
[0096]將音視頻數據包緩存,其中,音視頻源數據中的音頻源數據和視頻源數據的格式信息均匹配。
[0097]在其中一個實施例中,數據獲取模塊,包括:
[0098]第二判斷 模塊,用于根據直播請求的音視頻數據包的名稱查詢對應音視頻數據包是否上傳;
[0099]處理模塊,用于當音視頻數據包不處于上傳過程時,提示錯誤信息;當音視頻數據包處于上傳過程時,獲取上傳的音視頻數據包及其格式信息。
[0100]舉其中一個具體運用實例進行說明,如圖3所示,包括:
[0101]直播請求獲取模塊301,用于獲取直播請求,其中,直播請求包括音視頻數據包的名稱及其格式?目息。
[0102]數據獲取模塊302,用于根據直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息。
[0103]音視頻格式匹配單元303用于對收到的客戶端信息進行分析及匹配,并根據不同的匹配結果選擇不同的處理路徑。
[0104]第一音視頻處理路徑選擇單元304,用于根據匹配結果選擇不同的音視頻處理路徑,處理路徑有:Α1)格式信息不完全匹配和Α2)視頻音頻格式都匹配路徑。
[0105]音視頻流解析單元305,用于當音視頻不完全匹配時,對音視頻數據包進行拆包,用于后續的解碼、緩存及編碼處理流程。
[0106]第二音視頻處理路徑選擇單元306,用于將根據匹配結果對Al)路徑進行拆分選擇,包括:Α1-1)視頻格式不匹配路徑,Α1-2)音頻格式不匹配路金,Α1-3)視頻音頻格式都不匹配路徑。
[0107]視頻解碼單元307用于將上傳的音視頻數據包中的視頻數據解碼為視頻YUV數據;
[0108]音頻解碼單元308用于將音視頻數據包中的音頻數據解碼為音頻PCM格式數據;
[0109]數據緩沖單元309用于將視頻解碼單元和音頻解碼單元解碼后所得的音頻PCM和視頻YUV數據放入存儲單元中的緩存區予以緩存以備待用。數據緩沖單元可以包括用于緩存解碼后YUV視頻數據的視頻緩存子區、用于緩存解碼后PCM音頻數據的音頻緩存子區、用于緩存拆包后無須解碼并未經解碼的源視頻數據的視頻緩存子區、用于緩存拆包后無須解碼并未經解碼的源音頻數據的音頻緩存子區。[0110]音視頻同步單元310用于將數據緩存區中的音視頻數據按照其時間戳進行同步。根據直播請求獲取模塊301確定直播客戶端所需要的音視頻信息和其所采用的音視頻編碼格式。
[0111]視頻編碼單元311用于根據直播信令處理單元所確定的直播客戶端所需要的音視頻信息和音視頻編碼格式,將緩存的對應視頻數據進行相應編碼。
[0112]音頻編碼單元312用于根據直播信令處理單元所確定的直播客戶端所需要的音視頻信息和音視頻編碼格式,將緩存的對應音頻PCM數據進行相應編碼。
[0113]合并流單元313用于將視頻編碼單元和音頻編碼單元編碼后的音視頻數據或者從不同音視頻流處理路徑中輸出的未經解碼的源音頻或視頻數據發送到直播客戶端。
[0114]本發明對直播客戶端請求的視頻及音頻格式與上傳的音視頻數據包的格式進行分析匹配,并根據分析匹配結果啟動多條處理路徑,僅僅當視頻以及音頻都與目標格式不匹配時所在的路徑中才同時啟用視頻及音頻的解碼、緩存、編碼。而其余的路徑是部分啟用音頻或視頻的解碼及編碼處理或者完全不經過解碼、緩存及編碼處理。從而靈活的降低了(PU及內存資源的消耗,大大提升了服務器的處理能力。
[0115]本發明的實時音視頻轉碼系統與本發明的實時音視頻轉碼方法是一一對應的,上述實時音視頻轉碼方法實施例中的相關技術特征及其技術效果均適用于實時音視頻轉碼系統實施例中,在此不再贅述。
[0116]以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。
【權利要求】
1.一種實時音視頻轉碼方法,其特征在于,包括步驟: 獲取直播請求,其中,所述直播請求包括音視頻數據包的名稱及其格式信息; 根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息;判斷所述上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配,若否,則將所述上傳的音視頻數據包進行解析,獲得音視頻源數據,對音視頻源數據進行解碼處理; 根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
2.根據權利要求1所述的實時音視頻轉碼方法,其特征在于, 所述音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配;所述對音視頻源數據進行解碼處理步驟,包括:對所述音頻源數據進行解碼,獲得音頻解碼數據; 所述根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據所述直播請求中的格式信息對所述音頻解碼數據進行編碼,將編碼后的音頻數據和所述視頻源數據進行合并獲得新的音視頻數據包, 或 所述音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配;所述對音視頻源數據進行解碼處理步驟,包括:對所述視頻源數據進行解碼,獲得視頻解碼數據; 所述根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據所述直播請求中的格式信息對所述視頻解碼數據進行編碼,將編碼后的視頻數據和所述音頻源數據進行合并獲得新的音視頻數據包, 或 所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配; 所述對音視頻源數據進行解碼處理步驟,包括:對所述音頻源數據和視頻源數據進行解碼,獲得音頻解碼數據和視頻解碼數據; 所述根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包步驟,包括:根據所述直播請求中的格式信息對所述音頻解碼數據和視頻解碼數據進行編碼,將編碼后的音頻數據和視頻數據進行合并獲得新的音視頻數據包。
3.根據權利要求2所述的實時音視頻轉碼方法,其特征在于,合并生成新的音視頻數據包步驟之前,還包括: 將所述視頻源數據和解碼處理的音頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配, 或 將所述音頻源數據和解碼處理的視頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配, 或 將解碼處理后的音頻解碼數據和視頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配; 或 將所述音視頻數據包緩存,其中,所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均匹配。
4.根據權利要求1至3任意一項所述的實時音視頻轉碼方法,其特征在于,所述根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息步驟,包括: 根據所述直播請求的音視頻數據包的名稱查詢對應音視頻數據包是否上傳,若否,則提示錯誤信息,若是,則獲取上傳的音視頻數據包及其格式信息。
5.一種實時音視頻轉碼系統,其特征在于,包括: 直播請求獲取模塊,用于獲取直播請求,其中,所述直播請求包括音視頻數據包的名稱及其格式信息; 數據獲取模塊,用于根據所述直播請求的音視頻數據包的名稱獲取上傳的音視頻數據包及其格式信息; 第一判斷模塊,用于判斷所述上傳的音視頻數據包的格式信息與直播請求中的格式信息是否完全匹配; 解析模塊,用于當所述格式信息不完全匹配時,將所述上傳的音視頻數據包進行解析,獲得音視頻源數據; 解碼模塊,用于對音視頻源數據進行解碼處理; 編碼合并模塊,用于根據所述直播請求中的格式信息對解碼后的音視頻解碼數據進行編碼,并對應合并生成新的音視頻數據包。
6.根據權利要求5所述的實時音視頻轉碼系統,其特征在于, 所述音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配; 所述解碼模塊,用于對所述音頻源數據進行解碼,獲得音頻解碼數據; 所述編碼合并模塊,用于根據所述直播請求中的格式信息對所述音頻解碼數據進行編碼,將編碼后的音頻數據和所述視頻源數據進行合并獲得新的音視頻數據包, 或 所述音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配; 所述解碼模塊,用于對所述視頻源數據進行解碼,獲得視頻解碼數據; 所述編碼合并模塊,用于根據所述直播請求中的格式信息對所述視頻解碼數據進行編碼,將編碼后的視頻數據和所述音頻源數據進行合并獲得新的音視頻數據包, 或 所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配; 所述解碼模塊,用于對所述音頻源數據和視頻源數據進行解碼,獲得音頻解碼數據和視頻解碼數據; 所述編碼合并模塊,用于根據所述直播請求中的格式信息對所述音頻解碼數據和視頻解碼數據進行編碼,將編碼后的音頻數據和視頻數據進行合并獲得新的音視頻數據包。
7.根據權利要求6所述的實時音視頻轉碼系統,其特征在于,所述編碼合并模塊之前,還包括緩存模塊,用于: 將所述視頻源數據和解碼處理的音頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據的格式信息不匹配、視頻源數據的格式信息匹配, 或 將所述音頻源數據和解碼處理的視頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據的格式信息匹配、視頻源數據的格式信息不匹配, 或 將解碼處理后的音頻解碼數據和視頻解碼數據緩存,其中,所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均不匹配; 或 將所述音視頻數據包緩存,其中,所述音視頻源數據中的音頻源數據和視頻源數據的格式信息均匹配。
8.根據權利要求5至7任意一項所述的實時音視頻轉碼系統,其特征在于,所述數據獲取模塊,包括: 第二判斷模塊,用于根據所述直播請求的音視頻數據包的名稱查詢對應音視頻數據包是否上傳; 處理模塊,用于當音視頻數據包不處于上傳過程時,提示錯誤信息;當音視頻數據包處于上傳過程時,獲取上傳的音視 頻數據包及其格式信息。
【文檔編號】H04N21/2343GK103686210SQ201310704140
【公開日】2014年3月26日 申請日期:2013年12月17日 優先權日:2013年12月17日
【發明者】梁博文 申請人:廣東威創視訊科技股份有限公司