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

一種視頻轉碼方法及裝置制造方法

文檔序號:7812949閱讀:246來源:國知局
一種視頻轉碼方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種視頻轉碼方法及裝置,一種視頻轉碼方法,包括:確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器;獲得所確定的各轉碼設備的處理器的處理性能;根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。應用上述技術方案,在進行視頻轉碼時,只需在一臺轉碼設備中的處理器與存儲器之間進行視頻文件的傳輸,避免了使用網(wǎng)絡對文件進行傳輸,節(jié)省了轉碼時間,提高了轉碼效率。
【專利說明】一種視頻轉碼方法及裝置

【技術領域】
[0001]本發(fā)明涉及視頻處理【技術領域】,特別涉及一種視頻轉碼方法及裝置。

【背景技術】
[0002]隨著網(wǎng)絡多媒體技術的快速發(fā)展,視頻文件的播放形式不再局限于某種特定的視頻碼流,逐步出現(xiàn)了標清視頻碼流、高清視頻碼流、超高清視頻碼流等滿足不同網(wǎng)絡播放環(huán)境的視頻碼流,這就需要視頻服務提供商利用轉碼系統(tǒng)對視頻文件進行轉碼,從而得到各種清晰度的視頻碼流,以供視頻播放器進行播放。
[0003]為了提高轉碼效率,轉碼系統(tǒng)由多個機器構成?,F(xiàn)有的轉碼系統(tǒng)中的機器被分為兩部分,一部分作為轉碼設備,一部分作為存儲設備。作為存儲設備的機器中的存儲器保存有待轉碼視頻文件,為了防止設備故障導致數(shù)據(jù)丟失,通常情況下,一個待轉碼視頻文件在多個存儲設備中有備份。在需要進行視頻轉碼時,作為轉碼設備的機器中的處理器,會選擇讀取其中一個存儲設備中保存的待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件發(fā)送到作為存儲設備的機器的存儲器中進行存儲。
[0004]然而,每進行一次視頻文件的讀取或發(fā)送,都需要使用網(wǎng)絡對視頻文件進行傳輸,文件傳輸會耗費較多時間,進而導致整個轉碼過程耗時較長,效率較低。


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

[0005]為了解決上述問題,本發(fā)明實施例公開了一種視頻轉碼方法及裝置,具體技術方案如下:
[0006]一種視頻轉碼方法,包括:
[0007]確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器;
[0008]獲得所確定的各轉碼設備的處理器的處理性能;
[0009]根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;
[0010]控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0011]可選的,所述處理器的處理性能,包括:
[0012]處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
[0013]可選的,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù);
[0014]所述獲得所確定的各轉碼設備的處理器的處理性能,包括:
[0015]獲得所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù);
[0016]根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù);
[0017]根據(jù)所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
[0018]可選的,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù);
[0019]所述根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,包括:
[0020]根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0021]可選的,所述處理器的處理性能為處理器當前空閑的CPU內(nèi)核數(shù);
[0022]所述根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,包括:
[0023]確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0024]判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0025]如果是,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備;
[0026]否則,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于所述第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0027]可選的,所述確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù),包括:
[0028]獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率;
[0029]根據(jù)所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
[0030]一種視頻轉碼裝置,包括:
[0031]轉碼設備確定模塊,用于確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器;
[0032]處理性能獲取模塊,用于獲得所述轉碼設備確定模塊所確定的各轉碼設備的處理器的處理性能;
[0033]轉碼設備選擇模塊,用于根據(jù)所述處理性能獲取模塊所獲取的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;
[0034]轉碼控制模塊,用于控制所述轉碼設備選擇模塊所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0035]可選的,所述處理器的處理性能,包括:
[0036]處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
[0037]可選的,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù);所述處理性能獲取模塊,包括:
[0038]獲取子模塊,用于獲得所述轉碼設備確定模塊所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù);
[0039]第一確定子模塊,用于根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù);
[0040]計算子模塊,用于根據(jù)所述第一確定子模塊所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所述獲取子模塊所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
[0041]可選的,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù);所述轉碼設備選擇模塊,具體用于:
[0042]根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0043]可選的,所述處理器的處理性能為處理器當前空閑的CPU內(nèi)核數(shù);所述轉碼設備選擇模塊,包括:
[0044]第二確定子模塊,用于確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0045]判斷子模塊,用于判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于所述第二確定子模塊所確定的第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0046]第一選擇子模塊,用于在所述判斷子模塊的判斷結果為是的情況下,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備;
[0047]第二選擇子模塊,用于在所述判斷子模塊的判斷結果為否的情況下,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于所述第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0048]可選的,所述第二確定子模塊,包括:
[0049]獲取單元,用于獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率;
[0050]計算單元,用于根據(jù)所述獲取單元所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
[0051]應用上述技術方案,本發(fā)明實施例提供的視頻轉碼方法及裝置,在確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備后,能夠獲得所確定的各轉碼設備的處理器的處理性能,根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,并控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0052]與現(xiàn)有技術相比,在進行視頻轉碼時,只需在一臺轉碼設備中的處理器與存儲器之間進行視頻文件的傳輸,避免了使用網(wǎng)絡對文件進行傳輸,節(jié)省了轉碼時間,提高了轉碼效率。

【專利附圖】

【附圖說明】
[0053]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0054]圖1為本發(fā)明實施例提供的一種視頻轉碼方法的流程圖;
[0055]圖2為本發(fā)明實施例提供的圖1中S102的一種實施方式的流程圖;
[0056]圖3為本發(fā)明實施例提供的圖1中S103的一種實施方式的流程圖;
[0057]圖4為本發(fā)明實施例提供的圖3中S103a的一種實施方式的流程圖;
[0058]圖5為本發(fā)明實施例提供的一種視頻轉碼裝置的結構示意圖;
[0059]圖6為本發(fā)明實施例提供的圖5中處理性能獲取模塊502的一種結構示意圖;
[0060]圖7為本發(fā)明實施例提供的圖5中轉碼設備選擇模塊503的一種結構示意圖;
[0061]圖8為本發(fā)明實施例提供的圖7中第二確定子模塊503a的一種結構示意圖。

【具體實施方式】
[0062]為了使本領域技術人員更好地理解本發(fā)明中的技術方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0063]隨著在線視頻服務的普及以及網(wǎng)絡帶寬的不斷增加,在線視頻服務提供商面臨著越來越多的高清、超高清等高碼率視頻轉碼需求?,F(xiàn)有的視頻轉碼系統(tǒng),在進行視頻轉碼時,轉碼設備需要把待轉碼視頻從存儲有該待轉碼視頻的存儲設備獲取到本地進行轉碼;在轉碼完成后,該轉碼設備需要再次將轉碼得到的視頻文件發(fā)送至該存儲設備。每進行一次視頻的獲取或發(fā)送,都需要使用網(wǎng)絡傳輸,導致轉碼過程耗時較長,轉碼效率較低。為了提高轉碼效率,本發(fā)明實施例提供了一種視頻轉碼方法及裝置。
[0064]下面首先對本發(fā)明實施例提供的一種視頻轉碼方法進行介紹。
[0065]如圖1所示,本發(fā)明實施例提供的一種視頻轉碼方法,可以包括:
[0066]S101,確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器。
[0067]需要說明的是,為了防止轉碼設備故障導致數(shù)據(jù)丟失,一般情況下,一個待轉碼視頻文件在多個轉碼設備中都有備份。轉碼設備的存儲器用于對視頻文件進行存儲,轉碼設備的處理器用于根據(jù)轉碼參數(shù),對視頻文件進行轉碼,其中,轉碼參數(shù),可以包括:轉碼后的碼率,轉碼方式等。
[0068]轉碼方式,可以包括:非云轉碼方式及云轉碼方式;其中,所述云轉碼方式可以包括:視頻分割、切片轉碼和匯總、成片轉碼、圖片轉碼、字幕轉碼;每種轉碼方式所需要的資源都是不一樣的。
[0069]在本發(fā)明實施例中,在確定第一待轉碼視頻文件后,可以根據(jù)預設的包含有存儲有該第一待轉碼視頻文件的存儲器所在的轉碼設備的設備標識的列表,來確定存儲器中存儲有該第一待轉碼視頻文件的各轉碼設備;
[0070]或,可以向轉碼系統(tǒng)中的轉碼設備發(fā)送一個用于詢問該轉碼設備本地是否存儲有所述第一待轉碼視頻文件的詢問指令,根據(jù)各轉碼設備針對該指令反饋的消息,來確定存儲器中存儲有該第一待轉碼視頻文件的各轉碼設備,轉碼設備反饋的消息用于表示該轉碼設備本地存儲有所述第一待轉碼視頻文件,或該轉碼設備本地未存儲有所述第一待轉碼視頻文件。
[0071]S102,獲得所確定的各轉碼設備的處理器的處理性能。
[0072]在確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備后,需要獲得所確定的各轉碼設備的處理器的處理性能,比如,第一待轉碼視頻文件存儲在轉碼設備1、轉碼設備2,及轉碼設備3這3臺轉碼設備的存儲器中,這時需要獲得轉碼設備I的處理器的處理性能、轉碼設備2的處理器的處理性能、及轉碼設備3的處理器的處理性能。
[0073]可選的,所述處理器的處理性能,可以包括:
[0074]處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
[0075]此時,轉碼設備I的處理器的處理性能可以為該轉碼設備的處理器當前空閑的中央處理器CPU內(nèi)核數(shù);或者可以為該轉碼設備的處理器中總的CPU內(nèi)核數(shù);或者可以為該轉碼設備的處理器當前空閑的中央處理器CPU內(nèi)核數(shù)及其處理器中總的CPU內(nèi)核數(shù)。
[0076]S103,根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備。
[0077]在實際應用中,可以根據(jù)所獲得的處理器當前空閑的中央處理器CPU內(nèi)核數(shù),從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;進一步的,可以從所確定的各轉碼設備中,選擇一臺選擇當前空閑的中央處理器CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0078]此外,也可以根據(jù)所獲得的處理器中總的CPU內(nèi)核數(shù),從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;進一步的,可以從所確定的各轉碼設備中,選擇一臺選擇處理器中總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0079]此外,也可以根據(jù)所獲得的處理器當前空閑的中央處理器CPU內(nèi)核數(shù)和處理器中總的CPU內(nèi)核數(shù),從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備。
[0080]S104,控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0081]在本發(fā)明實施例中,在確定了用于執(zhí)行轉碼任務的轉碼設備后,可以控制該轉碼設備的處理器從該轉碼設備的存儲器中獲取第一待轉碼視頻文件進行轉碼,并在執(zhí)行完轉碼任務后,將轉碼得到的視頻文件發(fā)送給該存儲器。與現(xiàn)有的轉碼系統(tǒng)相比,上述轉碼過程充分利用了一臺轉碼設備的處理器資源和存儲器資源,避免了轉碼設備的硬件資源空閑所造成的浪費。
[0082]優(yōu)選的,本發(fā)明實施例中的第一待轉碼視頻文件可以攜帶有優(yōu)先級標識。進一步的,在對視頻文件進行轉碼時,可以控制轉碼設備中的處理器對攜帶優(yōu)先級標識的視頻文件進行優(yōu)先轉碼。
[0083]由此可見,本發(fā)明實施例提供的視頻轉碼方法,在確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備后,能夠獲得所確定的各轉碼設備的處理器的處理性能,根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,并控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0084]與現(xiàn)有技術相比,在進行視頻轉碼時,只需在一臺轉碼設備中的處理器與存儲器之間進行視頻文件的傳輸,避免了使用網(wǎng)絡對文件進行傳輸,節(jié)省了轉碼時間,提高了轉碼效率。
[0085]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù);如圖2所示,上述S102,可以包括:
[0086]S102a,獲得所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù)。
[0087]可選的,在本發(fā)明實施例的一個實施方式中,在Iinux操作系統(tǒng)下,可以使用cat/proc/cpuinfo I grep〃processor〃 I wc -1命令,直接獲得處理器中總的CPU內(nèi)核數(shù)。
[0088]可以使用uptime命令,直接獲得處理器當前的負載值。
[0089]比如第一待轉碼視頻文件在轉碼設備1、轉碼設備2,及轉碼設備3中都有備份,轉碼設備I的處理器當前的負載值為5,該處理器中總的CPU內(nèi)核數(shù)為32 ;轉碼設備2的處理器當前的負載值為7.03,該處理器中總的CPU內(nèi)核數(shù)為40 ;轉碼設備3的處理器當前的負載值為9,該處理器中總的CPU內(nèi)核數(shù)為24。
[0090]S102b,根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)。
[0091]需要說明的是,轉碼設備的處理器負載值與該轉碼設備的處理器內(nèi)核使用數(shù)量存在映射關系,比如轉碼設備I的處理器負載值為5,相應的該處理器使用的CPU內(nèi)核數(shù)是5 ;轉碼設備2的處理器負載值為7.03,相應的該處理器使用的CPU內(nèi)核數(shù)是7 ;轉碼設備3的處理器負載值為9,相應的該處理器使用的CPU內(nèi)核數(shù)是9。
[0092]S102c,根據(jù)所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
[0093]在獲得各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及其總的CPU內(nèi)核數(shù)后,可以通過差值運算,得到各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù);比如轉碼設備I處理器當前使用的CPU內(nèi)核數(shù)為27,其處理器總的CPU內(nèi)核數(shù)為33,則其處理器當前空閑的CPU內(nèi)核數(shù)為15。
[0094]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù);如圖3所示,上述S103,可以包括:
[0095]S103a,確定第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
[0096]為了合理的利用轉碼設備的處理器資源,可以預先對第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)進行估計。
[0097]可選的,在本發(fā)明實施例一個實施方式中,可以依據(jù)視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到該視頻文件轉碼所需的CPU內(nèi)核數(shù)。如圖4所示,上述S103a,可以包括:
[0098]S103a_l,獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率。
[0099]S103a_2,根據(jù)所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
[0100]比如視頻文件大小為1G,轉碼方式為視頻非云轉碼,轉碼后的碼率為800kbps,計算得到該視頻文件轉碼所需的CPU內(nèi)核數(shù)為4Core。
[0101]在實際應用中,具體的實現(xiàn)方式可以為:首先根據(jù)經(jīng)驗值,將每個視頻文件轉碼所需的CPU內(nèi)核數(shù)設置為固定值比如4Core ;之后按照轉碼方式及轉碼后的碼率等視頻信息對待轉碼的視頻文件進行轉碼,同時將上述視頻的信息存入到具有學習功能的處理器中??梢岳斫獾氖牵D碼方式為CPU密集型,轉碼后的碼率越高,轉碼所需的CPU內(nèi)核數(shù)就越多,反之就越低。
[0102]然后,監(jiān)控整個轉碼進程的CPU使用情況,并定時上報給具有資源分析功能的處理器,進行資源均衡化處理,得到整個轉碼進程的CPU平均使用率;之后對每個視頻文件的轉碼時長和其轉碼過程中CPU平均使用率進行統(tǒng)計,得出一個最佳平衡點,其中,CPU平均使用率與CPU內(nèi)核使用個數(shù)存在對應關系。
[0103]在對一批視頻文件進行上述流程的轉碼訓練后,得到包含足夠的視頻樣本和CPU內(nèi)核使用個數(shù)的數(shù)據(jù)的樣本庫。在混合轉碼環(huán)境中,可以將待轉碼視頻文件與樣本中的視頻文件做類比,按照樣本庫中給定的視頻文件與該視頻文件轉碼所需的CPU內(nèi)核數(shù)對應關系,得到接近于該視頻文件轉碼實際所需的CPU內(nèi)核使用數(shù)量;同時在該視頻文件轉碼過程中,可以將該視頻文件轉碼實際所需的CPU內(nèi)核使用數(shù)量上報,用以不斷完善樣本庫中視頻文件與該視頻文件轉碼所需的CPU內(nèi)核數(shù)對應關系。
[0104]S103b,判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);如果是,轉到S103C,否則轉到S103d。
[0105]S103c,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備。
[0106]可選的,在本發(fā)明實施例中,一臺轉碼設備,可以包括:多個轉碼任務;所述轉碼任務攜帶有優(yōu)先級標識,或類型標識;進一步的,在所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)均小于第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)時,可以暫停一臺轉碼設備中優(yōu)先級較低的轉碼任務;更進一步的,可以暫停優(yōu)先級較低的多項轉碼任務。
[0107]此外,也可以暫停一臺轉碼設備中某一類型的轉碼任務;或者也可以暫停一臺轉碼設備中CPU內(nèi)核占用量較高的轉碼任務。
[0108]可選的,在本發(fā)明實施例中,對于所述第一待轉碼視頻文件需要立即被轉碼的情況,在所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)均小于第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)時,可以暫停多臺轉碼設備中的轉碼任務,回收CPU內(nèi)核,避免一臺轉碼設備回收CPU內(nèi)核后,仍不能滿足第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)量。
[0109]S103d,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0110]可選的,在本發(fā)明實施例的一個實施方式中,可以選擇一臺當前空閑的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0111]可選的,在本發(fā)明實施例的一個實施方式中,可以選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于、且最接近于第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。這樣既保證了轉碼任務的正常進行,又充分利用了轉碼設備的CPU。比如,第一待轉碼視頻文件在轉碼設備1、轉碼設備2、轉碼設備3中均有備份,轉碼設備I當前空閑的CPU內(nèi)核數(shù)為8core,轉碼設備2當前空閑的CPU內(nèi)核數(shù)為4core,轉碼設備3當前空閑的CPU內(nèi)核數(shù)為6core,第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)為5core,可以選擇當前空閑的CPU內(nèi)核數(shù)為6Core的轉碼設備2,作為用于執(zhí)行轉碼任務的轉碼設備。
[0112]相應于圖1所示的方法實施例,本發(fā)明實施例還提供了一種視頻轉碼裝置。
[0113]如圖5所示,本發(fā)明實施例提供的一種視頻轉碼裝置,可以包括:
[0114]轉碼設備確定模塊501,用于確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器;
[0115]處理性能獲取模塊502,用于獲得所述轉碼設備確定模塊501所確定的各轉碼設備的處理器的處理性能;
[0116]轉碼設備選擇模塊503,用于根據(jù)所述處理性能獲取模塊502所獲取的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備;
[0117]轉碼控制模塊504,用于控制所述轉碼設備選擇模塊503所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0118]由此可見,本發(fā)明實施例提供的視頻轉碼裝置,在確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備后,能夠獲得所確定的各轉碼設備的處理器的處理性能,根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,并控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
[0119]與現(xiàn)有技術相比,在進行視頻轉碼時,只需在一臺轉碼設備中的處理器與存儲器之間進行視頻文件的傳輸,避免了使用網(wǎng)絡對文件進行傳輸,節(jié)省了轉碼時間,提高了轉碼效率。
[0120]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能,可以包括:
[0121]處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
[0122]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù);如圖6所示,所述處理性能獲取模塊502,可以包括:
[0123]獲取子模塊502a,用于獲得所述轉碼設備確定模塊501所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù);
[0124]第一確定子模塊502b,用于根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù);
[0125]計算子模塊502c,用于根據(jù)所述第一確定子模塊502b所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所述獲取子模塊502a所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
[0126]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù);如圖7所示,所述轉碼設備選擇模塊503,可以具體用于:
[0127]根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0128]可選的,在本發(fā)明的一個實施例中,所述處理器的處理性能為處理器當前空閑的CPU內(nèi)核數(shù);如圖7所示,所述轉碼設備選擇模塊503,可以包括:
[0129]第二確定子模塊503a,用于確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0130]判斷子模塊503b,用于判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于所述第二確定子模塊503a所確定的第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù);
[0131]第一選擇子模塊503c,用于在所述判斷子模塊503b的判斷結果為是的情況下,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備;
[0132]第二選擇子模塊503d,用于在所述判斷子模塊503b的判斷結果為否的情況下,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于所述第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
[0133]可選的,在本發(fā)明的一個實施例中,如圖8所示,所述第二確定子模塊503a,可以包括:
[0134]獲取單元503a_l,用于獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率;
[0135]計算單元503a_2,用于根據(jù)所述獲取單元503a_l所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
[0136]對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0137]為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當然,在實施本發(fā)明時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0138]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0139]本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0140]本領域普通技術人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0141]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【權利要求】
1.一種視頻轉碼方法,其特征在于,包括: 確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器; 獲得所確定的各轉碼設備的處理器的處理性能; 根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備; 控制所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
2.根據(jù)權利要求1所述的方法,其特征在于,所述處理器的處理性能,包括: 處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
3.根據(jù)權利要求2所述的方法,其特征在于,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù); 所述獲得所確定的各轉碼設備的處理器的處理性能,包括: 獲得所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù);根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù); 根據(jù)所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
4.根據(jù)權利要求2所述的方法,其特征在于,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù); 所述根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,包括: 根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
5.根據(jù)權利要求2所述的方法,其特征在于,所述處理器的處理性能為處理器當前空閑的CPU內(nèi)核數(shù); 所述根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備,包括: 確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù); 判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù); 如果是,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備; 否則,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于所述第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
6.根據(jù)權利要求5所述的方法,其特征在于,所述確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù),包括: 獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率; 根據(jù)所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
7.一種視頻轉碼裝置,其特征在于,包括: 轉碼設備確定模塊,用于確定存儲器中存儲有第一待轉碼視頻文件的各轉碼設備,其中,所確定的各轉碼設備中的任意一臺轉碼設備均包括存儲器和處理器; 處理性能獲取模塊,用于獲得所述轉碼設備確定模塊所確定的各轉碼設備的處理器的處理性能; 轉碼設備選擇模塊,用于根據(jù)所述處理性能獲取模塊所獲取的處理性能,從所確定的各轉碼設備中,選擇一臺用于執(zhí)行轉碼任務的轉碼設備; 轉碼控制模塊,用于控制所述轉碼設備選擇模塊所選擇的轉碼設備中的處理器對存儲于該轉碼設備的存儲器中的第一待轉碼視頻文件進行轉碼,并將轉碼得到的視頻文件存儲到該轉碼設備的存儲器中。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述處理器的處理性能,包括: 處理器當前空閑的中央處理器CPU內(nèi)核數(shù),和/或處理器中總的CPU內(nèi)核數(shù)。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述處理器的處理性能為處理器當前空閑的中央處理器CPU內(nèi)核數(shù);所述處理性能獲取模塊,包括: 獲取子模塊,用于獲得所述轉碼設備確定模塊所確定的各轉碼設備的處理器當前的負載值,及該處理器中總的CPU內(nèi)核數(shù); 第一確定子模塊,用于根據(jù)預設的處理器負載值與CPU內(nèi)核數(shù)的對應關系,確定與所獲得的處理器當前的負載值對應的、所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù); 計算子模塊,用于根據(jù)所述第一確定子模塊所確定的各轉碼設備的處理器當前使用的CPU內(nèi)核數(shù)及所述獲取子模塊所獲得的處理器中總的CPU內(nèi)核數(shù),計算得到所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)。
10.根據(jù)權利要求8所述的裝置,其特征在于,所述處理器的處理性能為處理器中總的CPU內(nèi)核數(shù);所述轉碼設備選擇模塊,具體用于: 根據(jù)所獲得的處理性能,從所確定的各轉碼設備中,選擇一臺總的CPU內(nèi)核數(shù)最多的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
11.根據(jù)權利要求8所述的裝置,其特征在于,所述處理器的處理性能為處理器當前空閑的CPU內(nèi)核數(shù);所述轉碼設備選擇模塊,包括: 第二確定子模塊,用于確定所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù); 判斷子模塊,用于判斷所確定的各轉碼設備的處理器當前空閑的CPU內(nèi)核數(shù)是否均小于所述第二確定子模塊所確定的第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù); 第一選擇子模塊,用于在所述判斷子模塊的判斷結果為是的情況下,暫停所確定的轉碼設備中至少一臺轉碼設備的轉碼任務,回收CPU內(nèi)核,從已回收CPU內(nèi)核的轉碼設備中,選擇一臺轉碼設備作為用于執(zhí)行轉碼任務的轉碼設備; 第二選擇子模塊,用于在所述判斷子模塊的判斷結果為否的情況下,從所確定的轉碼設備中,選擇一臺當前空閑的CPU內(nèi)核數(shù)不低于所述第一待轉碼視頻文件轉碼所需CPU內(nèi)核數(shù)的處理器所屬的轉碼設備,作為用于執(zhí)行轉碼任務的轉碼設備。
12.根據(jù)權利要求11所述的裝置,其特征在于,所述第二確定子模塊,包括: 獲取單元,用于獲得所述第一待轉碼視頻文件的文件大小、轉碼方式及轉碼后的視頻碼率; 計算單元,用于根據(jù)所述獲取單元所獲得的文件大小、轉碼方式及轉碼后的視頻碼率,計算得到所述第一待轉碼視頻文件轉碼所需的CPU內(nèi)核數(shù)。
【文檔編號】H04N21/2343GK104168488SQ201410437451
【公開日】2014年11月26日 申請日期:2014年8月29日 優(yōu)先權日:2014年8月29日
【發(fā)明者】楊根星, 陳赫, 林祖新 申請人:北京奇藝世紀科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
墨玉县| 威海市| 衡山县| 中超| 峨眉山市| 岚皋县| 田东县| 扬中市| 政和县| 镇康县| 光泽县| 开原市| 忻城县| 永顺县| 雅安市| 获嘉县| 大冶市| 南京市| 本溪| 德州市| 吕梁市| 安化县| 清水县| 宁河县| 容城县| 襄汾县| 旌德县| 屯留县| 深水埗区| 托里县| 绵竹市| 东源县| 安丘市| 泰来县| 溆浦县| 防城港市| 海南省| 宣城市| 新和县| 寻乌县| 涡阳县|