專利名稱:一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法。
技術(shù)背景
節(jié)目播出的安全性和穩(wěn)定性是衡量一個(gè)節(jié)目播出系統(tǒng)播出質(zhì)量最基本也是最重要的條件,目前,常用的節(jié)目播出系統(tǒng)其視頻服務(wù)器和字幕是單獨(dú)運(yùn)行在不同的計(jì)算機(jī)上的,不僅成本較高,而且容易出現(xiàn)爬行、閃爍等問(wèn)題,如果內(nèi)嵌字幕和視頻服務(wù)器之間運(yùn)行在同一個(gè)進(jìn)程,內(nèi)嵌字幕出錯(cuò)后會(huì)導(dǎo)致視頻播放程序出錯(cuò),會(huì)影響視頻服務(wù)器的正常工作, 進(jìn)而影響整個(gè)播出系統(tǒng)的正常工作。發(fā)明內(nèi)容
本發(fā)明的目的即在于克服現(xiàn)有技術(shù)的不足,提供一種在視頻服務(wù)器中內(nèi)嵌字幕, 通過(guò)數(shù)字疊加,大幅度提高字幕疊加的質(zhì)量,不會(huì)有爬行,閃爍等問(wèn)題出現(xiàn),杜絕了因字幕出現(xiàn)問(wèn)題而引起的系統(tǒng)問(wèn)題,不用另設(shè)字幕服務(wù)器,節(jié)省了字幕服務(wù)器成本,從而節(jié)省播出系統(tǒng)成本的一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法。
本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,它包括以下步驟(1)在視頻服務(wù)器中內(nèi)嵌字幕,內(nèi)嵌字幕和視頻服務(wù)器分別設(shè)有執(zhí)行文件,內(nèi)嵌字幕和視頻服務(wù)器分別在自己的進(jìn)程中運(yùn)行;(2)判斷是否已經(jīng)創(chuàng)建共享內(nèi)存,若未創(chuàng)建,則映射一段內(nèi)嵌字幕和視頻服務(wù)器共享的內(nèi)存作為緩存,若已創(chuàng)建則直接執(zhí)行下一步打開(kāi)共享緩存;(3)打開(kāi)共享緩存,并將所有緩存清零;(4)關(guān)閉緩存;(5)鎖住緩存,將內(nèi)嵌字幕計(jì)算出的字幕圖像信息寫(xiě)入共享緩存;(6)釋放緩存;(7)鎖住緩存,視頻服務(wù)器讀取并合成共享緩存內(nèi)的信息;(8)釋放緩存;(9)清空緩存內(nèi)所有數(shù)據(jù)。
本發(fā)明的有益效果是本發(fā)明提供一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,在視頻服務(wù)器中采用了內(nèi)嵌字幕,通過(guò)數(shù)字疊加,大幅度提高了字幕疊加的質(zhì)量,不會(huì)有爬行,閃爍等問(wèn)題出現(xiàn),不用另設(shè)字幕服務(wù)器,節(jié)省了字幕服務(wù)器成本,從而節(jié)省了播出系統(tǒng)成本,運(yùn)行過(guò)程中,當(dāng)內(nèi)嵌字幕進(jìn)程出現(xiàn)bug導(dǎo)致自身程序崩潰時(shí)不會(huì)影響視頻服務(wù)器主程序的運(yùn)行,通過(guò)映射一段內(nèi)嵌字幕和視頻服務(wù)器共享的緩存,使得內(nèi)嵌字幕計(jì)算出的字幕圖像可以放在共享緩存中,視頻服務(wù)器讀取并合成緩存內(nèi)信息,從而杜絕因字幕出現(xiàn)問(wèn)題而引起的系統(tǒng)問(wèn)題。
圖1為本發(fā)明流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述,但本發(fā)明的保護(hù)范圍不局限于以下所述。
一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,其程序的基本結(jié)構(gòu)如下class MEMMAPCTLCLASS CMemMapCtrl{publicCMemMapCtrl(void); CMemMapCtrl(void); /*打開(kāi)共享緩存,并將所有緩存清零,如果已經(jīng)創(chuàng)建,則得到共享緩存,PerBlockSize 每一塊內(nèi)存的大小,通常有10塊這樣的內(nèi)存做緩存*/BOOL 0pen(int PerBlockSize, WCHAR* ID); void CloseO ;//關(guān)閉緩存BOOL LockffriteBuf (BYTE #buf) ;//鎖住緩存,這樣可以寫(xiě)入數(shù)據(jù) void ReleaseWriteBuf ();//釋放緩存BOOL LockReadBuf (BYTE #buf) ; //鎖住緩存,這樣可以讀出數(shù)據(jù) void ReleaseReadBuf ();//釋放緩存 void ClearAllO;//清空所有數(shù)據(jù)private };如圖1所示,一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,它包括以下步驟(1)在視頻服務(wù)器中內(nèi)嵌字幕,內(nèi)嵌字幕和視頻服務(wù)器各自有各自的exe執(zhí)行文件,內(nèi)嵌字幕和視頻服務(wù)器分別在自己的進(jìn)程中運(yùn)行;(2)判斷是否已經(jīng)創(chuàng)建共享內(nèi)存,若未創(chuàng)建,則映射一段內(nèi)嵌字幕和視頻服務(wù)器共享的內(nèi)存作為緩存,若已創(chuàng)建則直接執(zhí)行下一步打開(kāi)共享緩存;(3)打開(kāi)共享緩存,并將所有緩存清零;(4)關(guān)閉緩存;(5)鎖住緩存,將內(nèi)嵌字幕計(jì)算出的字幕圖像信息寫(xiě)入共享緩存;(6)釋放緩存;(7)鎖住緩存,視頻服務(wù)器讀取并合成共享緩存內(nèi)的信息;(8)釋放緩存;(9)清空緩存內(nèi)所有數(shù)據(jù)
權(quán)利要求
1. 一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,其特征在于它包括以下步驟(1)在視頻服務(wù)器中內(nèi)嵌字幕,內(nèi)嵌字幕和視頻服務(wù)器分別設(shè)有執(zhí)行文件,內(nèi)嵌字幕和視頻服務(wù)器分別在自己的進(jìn)程中運(yùn)行;(2)判斷是否已經(jīng)創(chuàng)建共享內(nèi)存,若未創(chuàng)建,則映射一段內(nèi)嵌字幕和視頻服務(wù)器共享的內(nèi)存作為緩存,若已創(chuàng)建則直接執(zhí)行下一步打開(kāi)共享緩存;(3)打開(kāi)共享緩存,并將所有緩存清零;(4)關(guān)閉緩存;(5)鎖住緩存,將內(nèi)嵌字幕計(jì)算出的字幕圖像信息寫(xiě)入共享緩存;(6)釋放緩存;(7)鎖住緩存,視頻服務(wù)器讀取并合成共享緩存內(nèi)的信息;(8)釋放緩存;(9)清空緩存內(nèi)所有數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種節(jié)目播出系統(tǒng)用數(shù)據(jù)交換緩存的方法,它包括以下步驟(1)在視頻服務(wù)器中內(nèi)嵌字幕,內(nèi)嵌字幕和視頻服務(wù)器分別設(shè)有執(zhí)行文件,內(nèi)嵌字幕和視頻服務(wù)器分別在自己的進(jìn)程中運(yùn)行;(2)判斷是否已創(chuàng)建共享內(nèi)存,若未創(chuàng)建,則映射一段內(nèi)嵌字幕和視頻服務(wù)器共享的內(nèi)存作為緩存,若已創(chuàng)建則執(zhí)行下一步;(3)打開(kāi)共享緩存,并將所有緩存清零;(4)關(guān)閉緩存;(5)鎖住緩存,將內(nèi)嵌字幕計(jì)算出的字幕圖像信息寫(xiě)入共享緩存;(6)釋放緩存;(7)鎖住緩存,視頻服務(wù)器讀取并合成緩存內(nèi)信息;(8)釋放緩存;(9)清空緩存。本發(fā)明通過(guò)數(shù)字疊加,大幅度提高字幕疊加質(zhì)量,不會(huì)有爬行、閃爍等問(wèn)題,杜絕因字幕等問(wèn)題引起的系統(tǒng)問(wèn)題。
文檔編號(hào)H04N21/23GK102523481SQ20111040612
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者代強(qiáng), 劉科材, 吳春才, 王蘭圖, 莫海燕 申請(qǐng)人:成都東方盛行電子有限責(zé)任公司