欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng)的制作方法

文檔序號:8945785閱讀:291來源:國知局
一種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種實時視頻轉(zhuǎn)碼系統(tǒng),特別涉及一種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng),屬于視頻處理和多媒體技術(shù)領(lǐng)域。
技術(shù)背景
[0002]近年來,隨著網(wǎng)絡(luò)和移動終端的不斷普及,各種視頻業(yè)務(wù)的需求也迅速增長。而實時視頻技術(shù)在各種視頻業(yè)務(wù)中占據(jù)著重要角色,其中一個很重要的環(huán)節(jié)便是實時視頻轉(zhuǎn)碼。一個好的實時視頻轉(zhuǎn)碼系統(tǒng),能夠按照業(yè)務(wù)需要,針對客戶的不同需求,對視頻源進行編碼或轉(zhuǎn)碼,生成適合各種智能終端播放的媒體格式。當(dāng)前的實時視頻轉(zhuǎn)碼基本都是針對單一用戶的,當(dāng)某用戶請求的轉(zhuǎn)碼任務(wù)數(shù)較多時,轉(zhuǎn)碼器經(jīng)常超負(fù)荷工作;當(dāng)用戶群體增多時,則需要一個高效合理的實時視頻轉(zhuǎn)碼系統(tǒng)來滿足需求。所以,目前的實時視頻轉(zhuǎn)碼方案有諸多不便,主要在于以下幾點:1.目前的視頻直播大部分針對單一客戶,無法解決大群體多用戶的實時視頻轉(zhuǎn)碼直播問題。2.缺乏一個合理的調(diào)度管理機制來實現(xiàn)轉(zhuǎn)碼資源的合理利用。3.如果用戶請求任務(wù)數(shù)較多時容易引發(fā)轉(zhuǎn)碼器超負(fù)荷運行,從而降低轉(zhuǎn)碼質(zhì)量。
[0003]在這種業(yè)務(wù)環(huán)境下,迫切需要一套合理的實時視頻轉(zhuǎn)碼系統(tǒng)來滿足需求。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的主要目的是為了滿足多用戶的實時視頻轉(zhuǎn)碼需求,提高轉(zhuǎn)碼工作的效率,使得轉(zhuǎn)碼資源得到最合理的分配和利用,提出一種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng)。
[0005]本發(fā)明的思想是通過創(chuàng)建一個多模塊的系統(tǒng),通過各個模塊間的信息交互,來實現(xiàn)多用戶多任務(wù)的轉(zhuǎn)碼要求,同時使得用戶任務(wù)在當(dāng)前最佳狀態(tài)的轉(zhuǎn)碼器上執(zhí)行從而提高轉(zhuǎn)碼效率。
[0006]本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0007]—種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng),主要由用戶請求模塊、數(shù)據(jù)存儲中心、負(fù)載均衡模塊和轉(zhuǎn)碼器部分構(gòu)成;所述數(shù)據(jù)存儲中心是信息交互的樞紐,與其他各模塊都有聯(lián)系,其主要用來存儲任務(wù)信息和負(fù)載信息;所述用戶請求模塊主要用來將用戶的任務(wù)請求以參數(shù)的形式傳送給數(shù)據(jù)存儲中心;所述負(fù)載均衡模塊主要用來實時監(jiān)控數(shù)據(jù),當(dāng)監(jiān)測到數(shù)據(jù)存儲中心有新的用戶請求到達時,從轉(zhuǎn)碼器部分選擇出一個當(dāng)前負(fù)載最輕的轉(zhuǎn)碼器,將該任務(wù)的視頻源地址傳送給它以執(zhí)行轉(zhuǎn)碼任務(wù);所述轉(zhuǎn)碼器部分是由多臺轉(zhuǎn)碼器組成的一個集群,主要用來執(zhí)行視頻轉(zhuǎn)碼任務(wù)以及向數(shù)據(jù)存儲中心寫入轉(zhuǎn)碼后視頻的輸出地址。
[0008]作為優(yōu)選,所述用戶的任務(wù)請求至少包括視頻源地址,碼率,幀率和分辨率。
[0009]作為優(yōu)選,所述用戶請求模塊提供本地文件、拉取類視頻流、推入流的輸入視頻源選項,提供轉(zhuǎn)碼參數(shù)-轉(zhuǎn)碼路數(shù)、碼率、分辨率,輸出地址選項供用戶選擇以方便用戶提交任務(wù)請求。
[0010]作為優(yōu)選,所述數(shù)據(jù)存儲中心采用數(shù)據(jù)庫實現(xiàn)。
[0011]作為優(yōu)選,所述任務(wù)信息包括任務(wù)本身以及與執(zhí)行該任務(wù)相關(guān)的轉(zhuǎn)碼參數(shù)信息。
[0012]作為優(yōu)選,所述負(fù)載信息包括CPU占用和內(nèi)存占用情況。
[0013]作為優(yōu)選,所述選擇出一個當(dāng)前負(fù)載最輕的轉(zhuǎn)碼器中的負(fù)載為將負(fù)載信息量化后的一個權(quán)重值。
[0014]作為優(yōu)選,負(fù)載均衡模塊由監(jiān)控單元與信息收集單元組成;所述監(jiān)控單元用于監(jiān)聽所述數(shù)據(jù)存儲中心中存儲的任務(wù)信息的狀態(tài)變化,于新任務(wù)到來時選擇出一個當(dāng)前負(fù)載最輕的轉(zhuǎn)碼器執(zhí)行該轉(zhuǎn)碼任務(wù),以及任務(wù)被終止時指示執(zhí)行該轉(zhuǎn)碼任務(wù)的轉(zhuǎn)碼器結(jié)束任務(wù);所述信息收集單元用于定期收集所述轉(zhuǎn)碼器部分的各轉(zhuǎn)碼器設(shè)備的負(fù)載情況,并傳送給數(shù)據(jù)存儲中心。
[0015]作為優(yōu)選,為提高信息收集效率,在所述每個轉(zhuǎn)碼器設(shè)備上安裝一個信息收集單
J L ο
[0016]作為優(yōu)選,所述轉(zhuǎn)碼器可以采用軟件轉(zhuǎn)碼器、基于QSV硬件加速的轉(zhuǎn)碼器或硬件轉(zhuǎn)碼器,并在其上添加將轉(zhuǎn)碼后視頻的輸出地址回寫到所述數(shù)據(jù)存儲中心的通信內(nèi)容。
[0017]有益效果
[0018]對比現(xiàn)有技術(shù),本發(fā)明具有以下特點:
[0019]1.用戶請求模塊和數(shù)據(jù)存儲中心的加入,使得多用戶多任務(wù)可以同步進行,滿足了大群體多用戶的實時視頻轉(zhuǎn)碼需求;
[0020]2.負(fù)載均衡器的加入使得用戶的任務(wù)能夠得到最合適的分配,總能使當(dāng)前的用戶任務(wù)交給最合適的轉(zhuǎn)碼器來執(zhí)行,從而保證了轉(zhuǎn)碼的質(zhì)量和效率;
[0021]3.多轉(zhuǎn)碼器和負(fù)載均衡器的調(diào)度管理保證了整個系統(tǒng)轉(zhuǎn)碼資源的合理分配。
【附圖說明】
[0022]圖1是視頻轉(zhuǎn)碼基礎(chǔ)流程不意圖;
[0023]圖2是本發(fā)明實施例一種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng)結(jié)構(gòu)示意圖。
[0024]具體實現(xiàn)
[0025]下面將結(jié)合附圖和實施例對本發(fā)明加以詳細(xì)說明,同時也敘述了本發(fā)明所述系統(tǒng)解決的技術(shù)問題及有益效果,需要指出的是,所描述的實施例僅旨在便于對本發(fā)明的理解,而對其不起任何限定作用。
實施例
[0026]—種基于模塊間通信的實時視頻轉(zhuǎn)碼系統(tǒng),如圖2所示,主要由用戶請求模塊、數(shù)據(jù)存儲中心、負(fù)載均衡模塊和轉(zhuǎn)碼器部分構(gòu)成;所述數(shù)據(jù)存儲中心是信息交互的樞紐,與其他各模塊都有聯(lián)系,其主要用來存儲任務(wù)信息和負(fù)載信息;所述用戶請求模塊主要用來將用戶的任務(wù)請求以參數(shù)的形式傳送給數(shù)據(jù)存儲中心;所述負(fù)載均衡模塊主要用來實時監(jiān)控數(shù)據(jù),當(dāng)監(jiān)測到數(shù)據(jù)存儲中心有新的用戶請求到達時,從轉(zhuǎn)碼器部分選擇出一個當(dāng)前負(fù)載最輕的轉(zhuǎn)碼器,將該任務(wù)的視頻源地址傳送給它以執(zhí)行轉(zhuǎn)碼任務(wù);所述轉(zhuǎn)碼器部分是由多臺轉(zhuǎn)碼器組成的一個集群,主要用來執(zhí)行視頻轉(zhuǎn)碼任務(wù)以及向數(shù)據(jù)存儲中心寫入轉(zhuǎn)碼后視頻的輸出地址。
[0027]所述用戶請求模塊詳細(xì)描述如下:
[0028]用戶請求模塊是實時視頻請求用戶與本發(fā)明系統(tǒng)的接口,因此可以采用當(dāng)前流行的各種人機接口技術(shù),為方便用戶,本實施例采用web技術(shù),以網(wǎng)頁的形式展現(xiàn)給用戶。當(dāng)用戶提出一個視頻請求時,在網(wǎng)頁填入視頻請求的相關(guān)內(nèi)容,如視頻源地址,碼率,幀率,分辨率等轉(zhuǎn)碼參數(shù),該模塊便會將該用戶的請求以參數(shù)的形式作為任務(wù)信息傳送給數(shù)據(jù)存儲中心,即在數(shù)據(jù)存儲中心中增加一條任務(wù)信息。作為一種優(yōu)選的實施方式,部分轉(zhuǎn)碼參數(shù)如果用戶不填的話,則以系統(tǒng)默認(rèn)的參數(shù)填充,即以系統(tǒng)默認(rèn)的參數(shù)來執(zhí)行該轉(zhuǎn)碼任務(wù)。同時,該模塊還提供本地文件、拉取類視頻流、推入流的輸入視頻源選項,提供轉(zhuǎn)碼參數(shù)-轉(zhuǎn)碼路數(shù)、碼率、分辨率,輸出地址選項供用戶選擇以方便用戶提交任務(wù)請求。
[0029]該模塊相當(dāng)于是整個實時視頻轉(zhuǎn)碼系統(tǒng)的入口,由用戶發(fā)起請求,從而使整個系統(tǒng)工作起來的。
[0030]所述數(shù)據(jù)存儲中心詳細(xì)描述如下:
[0031]數(shù)據(jù)存儲中心可以采用現(xiàn)有任何一種具備數(shù)據(jù)永久存儲及修改能力的設(shè)備實現(xiàn),如文件系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)。由于數(shù)據(jù)存儲中心為本系統(tǒng)信息交互的樞紐,與其它各模塊均有數(shù)據(jù)輸入輸出,考慮到用戶數(shù)量以及數(shù)據(jù)并發(fā)問題,本實施例中采用MySQL數(shù)據(jù)庫管理系統(tǒng)來存儲數(shù)據(jù),在其上為本系統(tǒng)創(chuàng)建的數(shù)據(jù)庫中,建立兩類表用于任務(wù)執(zhí)行和負(fù)載均衡:一類是任務(wù)表,一類是負(fù)載表。
[0032]任務(wù)表主要有兩個,分別是new_miss1n和new_miss1n_transcode,即任務(wù)總表和轉(zhuǎn)碼表。new_miss1n表單主要存儲用戶提出的任務(wù)相關(guān)的信息,其至少應(yīng)該包含:任務(wù)id,任務(wù)狀態(tài),視頻源名字,視頻流地址以及類型。任務(wù)id與用戶新提出的實時視頻請求一一對應(yīng),可以作為該表單的主鍵,是一個任務(wù)的唯一標(biāo)識符。任務(wù)狀態(tài)是當(dāng)前任務(wù)的執(zhí)行狀態(tài),由該狀態(tài)對各模塊的工作進行具體示意,本實施例中設(shè)置4種狀態(tài):open (任務(wù)開啟)、no_operat1n(無操作)、working(工作中)、close(任務(wù)關(guān)閉)。其中的open和close為兩個觸發(fā)狀態(tài),分別負(fù)責(zé)轉(zhuǎn)碼器工作的開啟和結(jié)束。Working和no_operat1n則分別是在轉(zhuǎn)碼器工作時和結(jié)束工作后顯示的狀態(tài)。具體的描述,在后面的舉例中有更詳細(xì)的介紹。new_miss1n_transcode表單主要存儲用戶提出的任務(wù)視頻轉(zhuǎn)碼以及轉(zhuǎn)碼后視頻輸出相關(guān)的信息,其至少應(yīng)該包含:幀率、比特率、分辨率、輸出地址、輸出格式等信息,還可以包含如轉(zhuǎn)碼工作狀態(tài)、轉(zhuǎn)碼路數(shù)等信息。
[0033]負(fù)載表有一個,我們命名為load。Load表單主要包含轉(zhuǎn)碼器信息和負(fù)載信息,即各臺轉(zhuǎn)碼器的ip地址,CPU占用,內(nèi)存占用。該表主要由各臺轉(zhuǎn)碼器周期性上傳的負(fù)載參數(shù)來更新,同時也被負(fù)載均衡模塊監(jiān)控,是作為轉(zhuǎn)碼器負(fù)載均衡的主要參考。
[0034]所述負(fù)載均衡模塊的詳細(xì)描述如下:
[0035]負(fù)載均衡模塊的主要作用就是對轉(zhuǎn)碼資源做一個合理的調(diào)度,既讓各轉(zhuǎn)碼器得到充分地利用,又不會使某臺轉(zhuǎn)碼器超負(fù)荷工作從而影響轉(zhuǎn)碼效果。而做出分配的主要依據(jù)就是各臺轉(zhuǎn)碼器的cpu占用及內(nèi)存占用情況,因為這兩個參數(shù)最能直觀反映該轉(zhuǎn)碼器的負(fù)載情況。
[0036]因此本實施例中,負(fù)載均衡模塊由兩個單元組成,分別是監(jiān)控單元和信息收集單元;所述監(jiān)控單元用于監(jiān)聽所述數(shù)據(jù)存儲中心中存儲的任務(wù)信息的狀態(tài)變化,于新任務(wù)到來時選擇出一個當(dāng)前負(fù)載最輕的轉(zhuǎn)碼器執(zhí)行該轉(zhuǎn)碼任務(wù),以及任務(wù)被終止時指示執(zhí)行該轉(zhuǎn)碼任務(wù)的轉(zhuǎn)碼器結(jié)束任務(wù);所述信息收集單元用于定期收集所述轉(zhuǎn)碼器部分的各轉(zhuǎn)碼器設(shè)備的負(fù)載情況,并傳送給數(shù)據(jù)存儲中心?;谛畔⑹占瘑卧瓿傻墓δ?,作為較優(yōu)的實施方案,為提高信息收集效率,在所述每個轉(zhuǎn)碼器設(shè)備上安裝一個信息收集單元以定期收集其所在轉(zhuǎn)碼器的負(fù)載信息(如CPU占用和內(nèi)存占用情況)并寫入數(shù)據(jù)存儲中心,對本例而言,是將其寫入本系統(tǒng)數(shù)據(jù)庫中的負(fù)載表load。基于監(jiān)控單元所完成的功能,其主要工作是監(jiān)聽數(shù)據(jù)存儲中心中數(shù)據(jù)的變化,并根據(jù)數(shù)據(jù)的變化進行下一步工作,在本例中,其不斷監(jiān)聽數(shù)據(jù)庫中的數(shù)據(jù)變化,即兩類數(shù)據(jù)表格中的數(shù)據(jù)變化:任務(wù)的增減和負(fù)載情況的變化。當(dāng)有新任務(wù)到達時,用戶請求模塊會
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
常州市| 永清县| 攀枝花市| 西乡县| 湘潭县| 宁波市| 高淳县| 弥渡县| 岐山县| 宽甸| 门源| 闵行区| 荔浦县| 宜州市| 合江县| 文昌市| 宁晋县| 台南市| 南木林县| 岗巴县| 祁东县| 禄劝| 绍兴市| 怀宁县| 纳雍县| 攀枝花市| 新和县| 丰台区| 东丽区| 慈溪市| 宣城市| 疏勒县| 佛坪县| 湖南省| 洮南市| 从化市| 临洮县| 阿瓦提县| 府谷县| 始兴县| 阿拉善左旗|