支持不同格式媒體文件拼接的方法和裝置的制造方法
【專利說明】支持不同格式媒體文件拼接的方法和裝置
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及數(shù)字處理領(lǐng)域,具體地,涉及一種支持不同格式媒體文件拼接的方法和裝置。
【背景技術(shù)】
[0003]在電視直播或輪播系統(tǒng)中,經(jīng)常需要將多個媒體文件轉(zhuǎn)碼成ts流并按順序輸出,在文件銜接處要求不能有斷流和黑場。
[0004]現(xiàn)有技術(shù)的步驟:1.獲取節(jié)目單;2.解析節(jié)目單;3.從節(jié)目單讀取第一條視頻文件;4.打開該文件并解析該視頻文件的媒體描述信息;5.按照用戶配置的參數(shù)轉(zhuǎn)碼該文件并輸出ts流;6.轉(zhuǎn)碼完成,釋放資源;7.從節(jié)目單中讀取下一條視頻文件;8.以第4步得到的媒體描述信息對該視頻進行解碼,然后按照用戶配置的參數(shù)轉(zhuǎn)碼該文件并輸出ts流;
9.轉(zhuǎn)碼完成,釋放資源;10.重復(fù)7-9步直到所有節(jié)目轉(zhuǎn)碼完成。
[0005]目前多數(shù)輪播系統(tǒng)都要求所有媒體文件必須具有統(tǒng)一的編碼和封裝格式(一致的碼率、分辨率、采樣率等等),這就導(dǎo)致了媒體文件必須經(jīng)過統(tǒng)一的編碼和封裝后才能使用,該方式既浪費系統(tǒng)資源又限制了媒體文件的多樣性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于,針對上述問題,提出一種支持不同格式媒體文件拼接的方法和裝置,以實現(xiàn)增強兼容性并保證流輸出持續(xù)穩(wěn)定的優(yōu)點。
[0007]為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種支持不同格式媒體文件拼接的方法,包括:
將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟;
以及
將上述輸出的ts流進行緩存,并重新封裝成ts流輸出的流轉(zhuǎn)發(fā)步驟。
[0008]優(yōu)選的,將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟具體包括:
步驟101、獲取節(jié)目單;
步驟102、解析上述獲取的節(jié)目單;
步驟103、按節(jié)目單中視頻文件的順序讀取一條視頻文件;
步驟104、打開步驟103讀取的視頻文件,并解析該視頻文件的媒體描述信息;
步驟105、按照用戶配置的參數(shù)轉(zhuǎn)碼步驟104中的視頻文件并輸出ts流;
步驟106、轉(zhuǎn)碼完成,釋放資源;
步驟107、重復(fù)步驟103-步驟106直到步驟101中獲取的節(jié)目單中所有節(jié)目轉(zhuǎn)碼完成。
[0009]優(yōu)選的,上述步驟104中媒體描述信息至少包括,封裝格式和編碼參數(shù)。
[0010]優(yōu)選的,上述步驟105中,輸出的ts流以udp協(xié)議發(fā)送到本地回環(huán)地址。
[0011]優(yōu)選的,將輸出的ts流進行緩存,并重新封裝ts流的流轉(zhuǎn)發(fā)步驟具體包括:
步驟201、接收上述轉(zhuǎn)碼步驟后的ts流,并將接收的ts流放入緩存中;
步驟202、從緩存中讀取ts流解封裝并重新封裝成ts流輸出。
[0012]優(yōu)選的,上述步驟202中的從緩存中讀取ts流解封裝并重新封裝成ts流輸出,輸出為一個文件或一個udp單播或組播地址。
[0013]同時本發(fā)明技術(shù)方案公開了一種支持不同格式媒體文件拼接的裝置,包括:轉(zhuǎn)碼模塊和流轉(zhuǎn)發(fā)模塊;
所述轉(zhuǎn)碼模塊:將視頻文件進行轉(zhuǎn)碼從而輸出ts流;
所述流轉(zhuǎn)發(fā)模塊:將上述轉(zhuǎn)碼模塊輸出的ts流進行緩存,并重新封裝成ts流輸出。
[0014]本發(fā)明的技術(shù)方案具有以下有益效果:
本發(fā)明的技術(shù)方案,通過轉(zhuǎn)碼步驟增強了兼容性,轉(zhuǎn)碼后的ts流經(jīng)過流轉(zhuǎn)發(fā)后變成持續(xù)穩(wěn)定的流輸出,流轉(zhuǎn)發(fā)中加入緩存機制,使得中間無斷流和黑場。從而達到增強兼容性并保證流輸出持續(xù)穩(wěn)定的目的。
[0015]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細(xì)描述。
【附圖說明】
[0016]圖1為本發(fā)明實施例所述的支持不同格式媒體文件拼接的方法中轉(zhuǎn)碼模塊的流程圖;
圖2為本發(fā)明實施例所述的支持不同格式媒體文件拼接的方法中流轉(zhuǎn)發(fā)模塊的流程圖;
圖3為本發(fā)明實施例所述的支持不同格式媒體文件拼接的裝置的原理框圖;
圖4為本發(fā)明實施例所述的支持不同格式媒體文件拼接的方法實際應(yīng)用原理框圖。
【具體實施方式】
[0017]以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0018]—種支持不同格式媒體文件拼接的方法,包括:
將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟;
以及
將上述輸出的ts流進行緩存,并重新封裝成ts流輸出的流轉(zhuǎn)發(fā)步驟。
[0019]如圖1所示,將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟具體包括:
步驟101、獲取節(jié)目單;
步驟102、解析獲取的節(jié)目單;
步驟103、按節(jié)目單中視頻文件的順序讀取一條視頻文件;;
步驟104、打開步驟103讀取的視頻文件,并解析該視頻文件的媒體描述信息;
步驟105、按照用戶配置的參數(shù)轉(zhuǎn)碼步驟104中的視頻文件并輸出ts流;
步驟106、轉(zhuǎn)碼完成,釋放資源;
步驟107、重復(fù)步驟103-步驟106直到步驟101中獲取的節(jié)目單中所有節(jié)目轉(zhuǎn)碼完成。
[0020]其中,步驟104中媒體描述信息至少包括,封裝格式和編碼參數(shù)。
[0021]步驟105中,輸出的ts流以udp協(xié)議發(fā)送到本地回環(huán)地址。
[0022]如圖2所示,將輸出的ts流進行緩存,并重新封裝ts流的流轉(zhuǎn)發(fā)步驟具體包括: 步驟201、接收上述轉(zhuǎn)碼步驟后的ts流,并將接收的ts流放入緩存中;
步驟202、從緩存中讀取ts流解封裝并重新封裝成ts流輸出。
[0023]步驟202中的從緩存中讀取ts流解封裝并重新封裝成ts流輸出,輸出為一個文件或一個udp單播或組播地址。
[0024]如圖3所示,一種支持不同格式媒體文件拼接的裝置,包括:轉(zhuǎn)碼模塊和流轉(zhuǎn)發(fā)模塊;
轉(zhuǎn)碼模塊:將視頻文件進行轉(zhuǎn)碼從而輸出ts流;
流轉(zhuǎn)發(fā)模塊:將轉(zhuǎn)碼模塊輸出的ts流進行緩存,并重新封裝成ts流輸出。
[0025]其具體應(yīng)用如圖4所示,包括轉(zhuǎn)碼模塊和流轉(zhuǎn)發(fā)模塊,
轉(zhuǎn)碼模塊的工作步驟如下:
1.獲取節(jié)目單;
2.解析節(jié)目單;
3.按順序從節(jié)目單讀取一條視頻文件;
4.打開該文件并解析該視頻文件的媒體描述信息(包括封裝格式、編碼參數(shù)等);
5.按照用戶配置的參數(shù)轉(zhuǎn)碼該文件并輸出ts流,ts流以udp協(xié)議發(fā)送到本地回環(huán)地址,如 udp://127.0.0.1:8000 ;
6.轉(zhuǎn)碼完成,釋放資源;
7.重復(fù)3-6直到所有節(jié)目轉(zhuǎn)碼完成。
[0026]流轉(zhuǎn)發(fā)模塊工作步驟如下:
1.接收轉(zhuǎn)碼模塊發(fā)送過來的ts流放入緩存中;
2.從緩存中讀取ts包解封裝并重新封裝成ts流輸出,輸出可以是一個文件或者一個udp單播或組播地址。
[0027]轉(zhuǎn)碼模塊出來的流在節(jié)目切換的時候有短暫斷流和黑場,經(jīng)過流轉(zhuǎn)發(fā)模塊后變成持續(xù)穩(wěn)定的流輸出,中間無斷流和黑場。
[0028]本技術(shù)方案可以應(yīng)用在電視輪播系統(tǒng)中,使得編輯用戶在制作節(jié)目單時無需考慮媒體文件格式是否統(tǒng)一,也無需將媒體資源經(jīng)過統(tǒng)一的編碼和封裝過程,極大的節(jié)約了系統(tǒng)資源并豐富了節(jié)目素材來源。
[0029]綜上所述,本發(fā)明與現(xiàn)有技術(shù)有以下區(qū)別:
1)本技術(shù)方案針對每個視頻文件都執(zhí)行了解析媒體描述信息步驟,使得該方案可以兼容多種視頻格式的視頻輸入,而現(xiàn)有技術(shù)只執(zhí)行一遍,后續(xù)視頻都以該媒體描述信息去解碼。
[0030]2)本技術(shù)方案內(nèi)部對流做了一次轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)使得輸出的ts流在節(jié)目切換處流連續(xù)。
[0031]最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種支持不同格式媒體文件拼接的方法,其特征在于,包括: 將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟; 以及 將上述輸出的ts流進行緩存,并重新封裝成ts流輸出的流轉(zhuǎn)發(fā)步驟。2.根據(jù)權(quán)利要求1所述的支持不同格式媒體文件拼接的方法,其特征在于,將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟具體包括: 步驟101、獲取節(jié)目單; 步驟102、解析上述獲取的節(jié)目單; 步驟103、按節(jié)目單中視頻文件的順序讀取一條視頻文件; 步驟104、打開步驟103讀取的視頻文件,并解析該視頻文件的媒體描述信息; 步驟105、按照用戶配置的參數(shù)轉(zhuǎn)碼步驟104中的視頻文件并輸出ts流; 步驟106、轉(zhuǎn)碼完成,釋放資源; 步驟107、重復(fù)步驟103-步驟106直到步驟101中獲取的節(jié)目單中所有節(jié)目轉(zhuǎn)碼完成。3.根據(jù)權(quán)利要求2所述的支持不同格式媒體文件拼接的方法,其特征在于,上述步驟104中媒體描述信息至少包括,封裝格式和編碼參數(shù)。4.根據(jù)權(quán)利要求2所述的支持不同格式媒體文件拼接的方法,其特征在于,上述步驟105中,輸出的ts流以udp協(xié)議發(fā)送到本地回環(huán)地址。5.根據(jù)權(quán)利要求2、3或4所述的支持不同格式媒體文件拼接的方法,其特征在于,將輸出的ts流進行緩存,并重新封裝ts流的流轉(zhuǎn)發(fā)步驟具體包括: 步驟201、接收上述轉(zhuǎn)碼步驟后的ts流,并將接收的ts流放入緩存中; 步驟202、從緩存中讀取ts流解封裝并重新封裝成ts流輸出。6.根據(jù)權(quán)利要求5所述的支持不同格式媒體文件拼接的方法,其特征在于,上述步驟202中的從緩存中讀取ts流解封裝并重新封裝成ts流輸出,輸出為一個文件或一個udp單播或組播地址。7.一種支持不同格式媒體文件拼接的裝置,其特征在于,包括:轉(zhuǎn)碼模塊和流轉(zhuǎn)發(fā)模塊; 所述轉(zhuǎn)碼模塊:將視頻文件進行轉(zhuǎn)碼從而輸出ts流; 所述流轉(zhuǎn)發(fā)模塊:將上述轉(zhuǎn)碼模塊輸出的ts流進行緩存,并重新封裝成ts流輸出。
【專利摘要】本發(fā)明公開了一種支持不同格式媒體文件拼接的方法和裝置,其中,支持不同格式媒體文件拼接的方法,包括:將視頻文件進行轉(zhuǎn)碼從而輸出ts流的轉(zhuǎn)碼步驟;以及將上述輸出的ts流進行緩存,并重新封裝成ts流輸出的流轉(zhuǎn)發(fā)步驟。實現(xiàn)增強兼容性并保證流輸出持續(xù)穩(wěn)定的優(yōu)點。使得編輯用戶在制作節(jié)目單時無需考慮媒體文件格式是否統(tǒng)一,也無需將媒體資源經(jīng)過統(tǒng)一的編碼和封裝過程,極大的節(jié)約了系統(tǒng)資源并豐富了節(jié)目素材來源。
【IPC分類】H04N21/2343, H04N21/2389, H04N21/236
【公開號】CN105306965
【申請?zhí)枴緾N201510704482
【發(fā)明人】蘇許臣
【申請人】央視國際網(wǎng)絡(luò)無錫有限公司
【公開日】2016年2月3日
【申請日】2015年10月27日