本發(fā)明涉及廣播電視直播和網(wǎng)絡(luò)視頻直播技術(shù)領(lǐng)域,尤其涉及一種直播流的實(shí)時編輯系統(tǒng)及方法。
背景技術(shù):
隨著廣電事業(yè)向數(shù)字化方向的高速發(fā)展,基于PC的業(yè)務(wù)應(yīng)用在行業(yè)中占有越來越重要的地位。節(jié)目收錄作為收集素材來源的重要手段,在電視臺等業(yè)務(wù)部門應(yīng)用十分廣泛。而且隨著互聯(lián)網(wǎng)技術(shù)在傳統(tǒng)廣電行業(yè)的廣泛應(yīng)用,要求收錄系統(tǒng)在保證高可靠性和冗余容錯功能的前提下,對收錄實(shí)現(xiàn)與網(wǎng)絡(luò)的無縫連接,實(shí)現(xiàn)邊收錄邊編輯的功能提出更高的要求。比如:廣播電視直播、網(wǎng)絡(luò)視頻直播都需要實(shí)時編輯片花或精彩鏡頭,在直播過程中插入播放,因此對邊收錄邊編輯的時效性要求更高。
在以往的收錄系統(tǒng),一般會將收錄成碎片化的文件后,再對碎片化文件進(jìn)行編輯。這種做法有兩方面的不足之處:
1)編輯的時效性受制于碎片化文件的長度,因?yàn)樾枰却粋€碎片化文件收錄完成后,編輯模塊才能獲取到文件的信息,從而進(jìn)行真正的編輯。
2)如果把收錄切片成較小的碎片化文件,是可以在一定程度上提高編輯的時效性,但也同時產(chǎn)生了更多的碎片化的小文件,這給收錄文件的管理帶來了一定的困難。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種直播流的實(shí)時編輯系統(tǒng)及方法,所述方法不但提高了邊收錄邊編輯的時效性,也不會產(chǎn)生過多的碎片化收錄文件。
為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種直播流的實(shí)時編輯系統(tǒng),其特征在于所述系統(tǒng)包括:
收錄模塊,用于設(shè)置收錄策略,收錄直播源的直播流數(shù)據(jù),寫成收錄文件,并實(shí)時調(diào)用流數(shù)據(jù)分析模塊;
流數(shù)據(jù)分析模塊,用于根據(jù)收錄的直播流數(shù)據(jù),生成包含收錄文件媒體信息的動態(tài)索引文件;
編輯模塊,通過調(diào)用所述索引文件,獲取到收錄文件的媒體信息,進(jìn)行直播流的非線性編輯。
進(jìn)一步的技術(shù)方案在于,所述系統(tǒng)還包括:
存儲模塊,用于存儲收錄模塊形成的收錄文件。
進(jìn)一步的技術(shù)方案在于,所述收錄策略為當(dāng)收錄文件到達(dá)指定碎片化長度時,切片存儲收錄文件,新的直播流寫入新的收錄文件。
進(jìn)一步的技術(shù)方案在于,所述的索引文件中記錄收錄文件的列表和文件的媒體信息;所述的媒體信息包括:收錄文件的長度,視音頻數(shù)據(jù)編解碼信息,幀數(shù)據(jù)索引信息。
進(jìn)一步的技術(shù)方案在于,所述的索引文件伴隨著收錄的收錄文件的變化而進(jìn)行動態(tài)更新。
本發(fā)明還公開了一種直播流的實(shí)時編輯方法,其特征在于所述方法包括如下步驟:
收錄模塊收錄直播源的直播流數(shù)據(jù),寫成收錄文件,并實(shí)時調(diào)用流數(shù)據(jù)分析模塊;
流數(shù)據(jù)分析模塊根據(jù)收錄的直播流數(shù)據(jù),生成包含收錄文件媒體信息的動態(tài)索引文件;
編輯模塊調(diào)用索引文件,獲取到收錄文件的媒體信息進(jìn)行直播流的非線性編輯。
進(jìn)一步的技術(shù)方案在于,所述方法還包括使用存儲模塊存儲收錄文件的步驟。
進(jìn)一步的技術(shù)方案在于,所述方法還包括當(dāng)收錄文件到達(dá)指定碎片化長度時,切片存儲收錄文件,新的直播流寫入新的收錄文件的步驟。
進(jìn)一步的技術(shù)方案在于,收錄模塊調(diào)用流數(shù)據(jù)分析模塊,在收錄一個或多個GOP之后,生成收錄文件的索引文件,索引文件伴隨收錄文件存在,并且隨著收錄的進(jìn)行,動態(tài)更新內(nèi)容。
進(jìn)一步的技術(shù)方案在于,所述的索引文件中記錄收錄文件的列表和文件的媒體信息;所述的媒體信息包括:收錄文件的長度,視音頻數(shù)據(jù)編解碼信息,幀數(shù)據(jù)索引信息。
采用上述技術(shù)方案所產(chǎn)生的有益效果在于:本發(fā)明所述方法可以在收錄的過程中,通過調(diào)用流數(shù)據(jù)分析模塊,生成一個動態(tài)變化的索引文件。隨著收錄的進(jìn)行,索引文件中動態(tài)更新記錄的收錄文件的信息,編輯模塊編輯時調(diào)用索引文件,就可以獲取到收錄文件的媒體信息,進(jìn)行直播流的非線性編輯。本發(fā)明在收錄文件進(jìn)行時,甚至在收錄一個完整的圖像組、視音頻數(shù)據(jù)之后,就可以進(jìn)行編輯,不但提高了邊收錄邊編輯時效性,也不會產(chǎn)生過多的碎片化收錄文件。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實(shí)施例所述系統(tǒng)的原理框圖;
圖2是本發(fā)明另一個實(shí)施例所述系統(tǒng)的原理框圖;
圖3是本發(fā)明一個實(shí)施例所述方法的流程圖;
圖4是本發(fā)明另一個實(shí)施例所述方法的流程圖;
圖5是本發(fā)明第三個實(shí)施例所述方法的流程圖;
其中:21、收錄模塊22、存儲模塊23、流數(shù)據(jù)分析模塊24、編輯模塊。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開的具體實(shí)施例的限制。
如圖1所示,本發(fā)明實(shí)施例公開了一種直播流的實(shí)時編輯系統(tǒng),所述系統(tǒng)包括:
收錄模塊21,用于設(shè)置收錄策略,收錄直播源的直播流數(shù)據(jù),寫成收錄文件,并實(shí)時調(diào)用流數(shù)據(jù)分析模塊23;
流數(shù)據(jù)分析模塊23,用于根據(jù)收錄的直播流數(shù)據(jù),生成包含收錄文件媒體信息的動態(tài)索引文件,進(jìn)一步的,所述的索引文件伴隨著收錄文件的變化而進(jìn)行動態(tài)更新,所述索引文件中記錄收錄文件的列表和文件的媒體信息;所述的媒體信息包括:收錄文件的長度,視音頻數(shù)據(jù)編解碼信息,幀數(shù)據(jù)索引信息;
編輯模塊24,通過調(diào)用所述索引文件,獲取到收錄文件的媒體信息,進(jìn)行直播流的非線性編輯。
在本發(fā)明的一個實(shí)施例中,如圖2所示,所述系統(tǒng)還包括:存儲模塊22,用于存儲收錄模塊形成的收錄文件。
進(jìn)一步的,所述系統(tǒng)在收錄的同時進(jìn)行編輯,當(dāng)收錄文件到達(dá)指定碎片化長度時,切片存儲收錄文件,新的直播流寫入新的收錄文件。
所述系統(tǒng)通過碎片化收錄和實(shí)時分析收錄文件的信息生成索引文件相結(jié)合的方法,在收錄文件進(jìn)行過程中,實(shí)時分析收錄文件的數(shù)據(jù),并產(chǎn)生收錄文件的索引信息,從而能給編輯模塊提供文件和視音頻數(shù)據(jù)的信息,編輯模塊通過索引提供的信息,就可以實(shí)現(xiàn)邊收錄邊編輯的效果。該系統(tǒng)不但提高了邊收錄邊編輯時效性,也不會產(chǎn)生過多的碎片化收錄文件。
如圖3所示,本發(fā)明實(shí)施例還公開了一種直播流的實(shí)時編輯方法,所述方法包括如下步驟:
S101:收錄模塊收錄直播源的直播流數(shù)據(jù),寫成收錄文件,并實(shí)時調(diào)用流數(shù)據(jù)分析模塊;
S102:流數(shù)據(jù)分析模塊根據(jù)收錄的直播流數(shù)據(jù),生成包含收錄文件媒體信息的動態(tài)索引文件,所述索引文件中記錄收錄文件的列表和文件的媒體信息;所述的媒體信息包括:收錄文件的長度,視音頻數(shù)據(jù)編解碼信息,幀數(shù)據(jù)索引信息;
S103:編輯模塊調(diào)用索引文件,獲取到收錄文件的媒體信息進(jìn)行直播流的非線性編輯。
需要說明的是:收錄模塊調(diào)用流數(shù)據(jù)分析模塊,在收錄一個或多個GOP之后,生成收錄文件的索引文件,索引文件伴隨收錄文件存在,并且隨著收錄的進(jìn)行,動態(tài)更新內(nèi)容。
收錄模塊收錄流時,一邊寫成收錄文件,一邊調(diào)用流數(shù)據(jù)分析模塊。流數(shù)據(jù)分析模塊生成索引文件,同時分析流數(shù)據(jù),拿到媒體信息,寫入索引文件。隨著收錄的進(jìn)行,不斷更新索引文件中的文件列表信息和文件對應(yīng)的媒體信息。
一般寫成收錄文件時,要收錄完一個文件,才能往這個收錄文件中寫入完整媒體信息(比如文件長度)。所以,未收錄完的文件,并不能讀取到完整的媒體信息,就不能被編輯。本發(fā)明從直播流中分離出來媒體信息,并寫入索引文件,這樣編輯時不用等待文件的收錄完成,讀取索引文件就能獲取媒體信息,從而進(jìn)行編輯。
收錄時,往往緩存到一個GOP單位之后,整體收錄這個GOP。一個GOP中的I幀,會攜帶直播流數(shù)據(jù)的媒體信息。一個GOP之后可能就會拿到媒體信息,寫入文件增加收錄文件長度,這樣需要更新索引文件了。一個收錄文件完成,下一個收錄文件產(chǎn)生,也會更新索引文件列表及加入新文件的媒體信息。
如圖4所示,本發(fā)明實(shí)施例還公開了一種直播流的實(shí)時編輯方法,所述方法包括如下步驟:
S201:收錄模塊收錄直播源的直播流數(shù)據(jù),寫成收錄文件,并實(shí)時調(diào)用流數(shù)據(jù)分析模塊;
S202:通過存儲模塊存儲收錄文件;
S203:流數(shù)據(jù)分析模塊根據(jù)收錄的直播流數(shù)據(jù),生成包含收錄文件媒體信息的動態(tài)索引文件,所述索引文件中記錄收錄文件的列表和文件的媒體信息;所述的媒體信息包括:收錄文件的長度,視音頻數(shù)據(jù)編解碼信息,幀數(shù)據(jù)索引信息;
S204:編輯模塊調(diào)用索引文件,獲取到收錄文件的媒體信息進(jìn)行直播流的非線性編輯。
如圖5所示,本發(fā)明實(shí)施例還公開了一種直播流的實(shí)時編輯方法,所述方法包括如下步驟:
S301:收錄模塊接收收錄直播源的直播流并開始寫收錄文件;
S302:流數(shù)據(jù)分析模塊實(shí)時分析收錄文件中的視音頻信息,包括文件時間長度等信息,并生成索引文件;
S303:編輯模塊編輯時通過調(diào)用索引文件,獲取到直播流文件信息,進(jìn)行非線性編輯;
S304:收錄模塊繼續(xù)收錄直播流,并調(diào)用流數(shù)據(jù)分析模塊,更新索引文件;
S305:編輯模塊編輯時調(diào)用動態(tài)更新的索引文件,獲取到最新的收錄文件的信息,進(jìn)行新收錄內(nèi)容的編輯;
S306:重復(fù)步驟S304-S305,直到收錄文件到達(dá)指定碎片化長度,停止切片存儲收錄文件;
S307:重復(fù)步驟S301-S306直到直播源直播結(jié)束,停止收錄。
本發(fā)明所述方法可以在收錄的過程中,通過調(diào)用流數(shù)據(jù)分析模塊,生成一個動態(tài)變化的索引文件。隨著收錄的進(jìn)行,索引文件中動態(tài)更新記錄的收錄文件的信息,編輯模塊編輯時調(diào)用索引文件,就可以獲取到直播流文件信息,進(jìn)行非線性編輯。本發(fā)明在收錄成文件進(jìn)行時,甚至在收錄一個完整的圖像組、視音頻數(shù)據(jù)之后,就可以進(jìn)行編輯,不但提高了邊收錄邊編輯時效性,也不會產(chǎn)生過多的碎片化收錄文件。
本領(lǐng)域技術(shù)人員還可以了解到本發(fā)明實(shí)施例列出的各種說明性邏輯塊(illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結(jié)合進(jìn)行實(shí)現(xiàn)。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經(jīng)通用地描述了它們的功能。這樣的功能是通過硬件還是軟件來實(shí)現(xiàn)取決于特定的應(yīng)用和整個系統(tǒng)的設(shè)計(jì)要求。本領(lǐng)域技術(shù)人員可以對于每種特定的應(yīng)用,可以使用各種方法實(shí)現(xiàn)所述的功能,但這種實(shí)現(xiàn)不應(yīng)被理解為超出本發(fā)明實(shí)施例保護(hù)的范圍。
本發(fā)明實(shí)施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器,數(shù)字信號處理器,專用集成電路(ASIC),現(xiàn)場可編程門陣列或其它可編程邏輯裝置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設(shè)計(jì)來實(shí)現(xiàn)或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以通過計(jì)算裝置的組合來實(shí)現(xiàn),例如數(shù)字信號處理器和微處理器,多個微處理器,一個或多個微處理器聯(lián)合一個數(shù)字信號處理器核,或任何其它類似的配置來實(shí)現(xiàn)。
本發(fā)明實(shí)施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執(zhí)行的軟件模塊、或者這兩者的結(jié)合。軟件模塊可以存儲于RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動磁盤、CD-ROM或本領(lǐng)域中其它任意形式的存儲媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信息,并可以向存儲媒介存寫信息??蛇x地,存儲媒介還可以集成到處理器中。處理器和存儲媒介可以設(shè)置于ASIC中,ASIC可以設(shè)置于用戶終端中。可選地,處理器和存儲媒介也可以設(shè)置于用戶終端中的不同的部件中。
在一個或多個示例性的設(shè)計(jì)中,本發(fā)明實(shí)施例所描述的上述功能可以在硬件、軟件、固件或這三者的任意組合來實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),這些功能可以存儲與電腦可讀的媒介上,或以一個或多個指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電腦存儲媒介和便于使得讓電腦程序從一個地方轉(zhuǎn)移到其它地方的通信媒介。存儲媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或其它任何可以用于承載或存儲以指令或數(shù)據(jù)結(jié)構(gòu)和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當(dāng)?shù)囟x為電腦可讀媒介,例如,如果軟件是從一個網(wǎng)站站點(diǎn)、服務(wù)器或其它遠(yuǎn)程資源通過一個同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸?shù)囊脖话谒x的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、DVD、軟盤和藍(lán)光光盤,磁盤通常以磁性復(fù)制數(shù)據(jù),而碟片通常以激光進(jìn)行光學(xué)復(fù)制數(shù)據(jù)。上述的組合也可以包含在電腦可讀媒介中。
以上所述的具體實(shí)施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。