編者按:通過自動的媒體文件格式轉(zhuǎn)換,廣播機構(gòu)和電視臺可以保證其內(nèi)容應(yīng)用到更加廣泛的領(lǐng)域。通過使用節(jié)點處理架構(gòu),可以極大的提高轉(zhuǎn)碼解決方案的性能,并且可以為存儲環(huán)境提供內(nèi)容處理能力。
一.廣播流程的轉(zhuǎn)碼
隨著廣播用戶向無帶化、基于文件的工作流程的發(fā)展,轉(zhuǎn)碼已經(jīng)成為整個廣播工作流程的不可或缺的一部分,它幫助用戶在不同系統(tǒng)提供商之間進行文件轉(zhuǎn)換,將文件轉(zhuǎn)換格式用于不同的目的,為新媒體平臺發(fā)布提供相應(yīng)的文件格式。傳統(tǒng)上,素材經(jīng)常由一種格式記錄,而用另外一種格式做播出,整個操作過程需要由磁帶進行素材交換。這個方式完全基于磁帶操作,并常常受其流程的物理構(gòu)造和實時的傳輸?shù)南拗啤鹘y(tǒng)上,轉(zhuǎn)碼任務(wù)將視頻或者音頻從一種格式轉(zhuǎn)換成另外一種格式,但是現(xiàn)在,轉(zhuǎn)碼任務(wù)要完成更多的格式轉(zhuǎn)換的工作,例如,單純格式轉(zhuǎn)換,轉(zhuǎn)換封裝格式,更改碼率,標(biāo)清素材和高清素材轉(zhuǎn)換,改變畫幅長寬比,甚至NTSC和PAL的制式標(biāo)準(zhǔn)轉(zhuǎn)換。
對于數(shù)目眾多的格式、封裝和第三方應(yīng)用程序,轉(zhuǎn)碼操作需要同時滿足幾乎所有廣播的應(yīng)用,但是它應(yīng)該承擔(dān)文件交互的功能嗎?當(dāng)然,素材在不同系統(tǒng)之間的交互應(yīng)該基于目標(biāo)系統(tǒng)的需求和所選格式的效率進行配置。 有一件事是確定的:隨著基于文件的工作流程的業(yè)務(wù)和新媒體的需求爆炸式增長,會越來越需要高級別的轉(zhuǎn)碼處理能力。
二.多結(jié)點處理架構(gòu)介紹
今天,在使用節(jié)點處理架構(gòu)(GPF)或者多節(jié)點計算機的程序的情況下,對單個文件進行多格式多流的超實時轉(zhuǎn)碼已經(jīng)成為可能。
節(jié)點處理架構(gòu)整合進入分布式節(jié)點存儲系統(tǒng)是一個全新的概念。分布式存儲的詳述可以在任何地方找到,在本文中,其作為一個基本概念被提及。 目前,節(jié)點存儲系統(tǒng)已經(jīng)在廣播電視行業(yè)中實現(xiàn)成功的商業(yè)應(yīng)用,其最基本的存儲單元是管理和放置硬盤的ContentServer。通過附加的處理設(shè)備,和一定數(shù)量的ContentServer,組成了這個節(jié)點存儲系統(tǒng)。通常情況下,這些節(jié)點存儲系統(tǒng)配置為一個大的中央存儲。為了增進整個系統(tǒng)的工作,允許所有相關(guān)業(yè)務(wù)同時高速訪問這個存儲中的素材,節(jié)點存儲也可以輕易的擴展存儲容量和帶寬 (圖1)。
節(jié)點存儲系統(tǒng)不僅僅可以作為一個中央存儲來使用,同時也可以為其他應(yīng)用程序提供處理能力。ContentServers是基于X86的服務(wù)器架構(gòu),使用標(biāo)準(zhǔn)Intel處理器,并提供大量系統(tǒng)內(nèi)存。這些資源用于管理硬盤和數(shù)據(jù)文件片段,并且實際上還有大部分資源空閑,可以做存儲管理之外的其他處理。
通過一個應(yīng)用程序接口(API),應(yīng)用程序可用使用 ContentServer 空閑的系統(tǒng)資源。它通過對系統(tǒng)資源和內(nèi)容進行精確的規(guī)劃和利用,可以大大提升應(yīng)用程序的執(zhí)行效率。
在這個GPF架構(gòu)中,設(shè)計了許多提供特定功能的組件,這些功能包括:為應(yīng)用程序指定處理的ContentServer節(jié)點,允許外部程序和處理過程使用ContentServer的系統(tǒng)資源,節(jié)點存儲系統(tǒng)處理媒體文件的子節(jié)點分配。
在這個GPF架構(gòu)中,應(yīng)用程序提供方需要提供2個關(guān)鍵能力:利用GPF架構(gòu)的核心應(yīng)用程序-程序控制部分,和運行于ContentServer的程序處理部分 。
 |
三.節(jié)點轉(zhuǎn)碼總覽
格式轉(zhuǎn)換工作,傳統(tǒng)上說是一個對硬件資源要求很高的處理過程,這樣,利用多節(jié)點處理來提升性能是非常吸引人的主張。簡單說,在節(jié)點處理架構(gòu)上做轉(zhuǎn)碼是本系統(tǒng)解決方案的明確目標(biāo)。
這里所描述的轉(zhuǎn)碼程序分部在兩個組件上-JobDirectors 和 JobScalers。這兩個組件均可以初始一個轉(zhuǎn)碼任務(wù),并且JobDirector也可以保存任務(wù)序列,并進行優(yōu)先級處理。JobScalers 可以為一個大的節(jié)點系統(tǒng)添加轉(zhuǎn)碼處理的能力。
(一)ProXchange JobDirectors
JobDirector是轉(zhuǎn)碼系統(tǒng)的核心組件。它直接接入節(jié)點存儲系統(tǒng),運行核心轉(zhuǎn)碼程序。其功能包括任務(wù)管理、優(yōu)先級處理、以及在多個節(jié)點之間尋找、分配、存儲數(shù)據(jù)。JobDirector也可以對素材文件進行重新封裝的操作。每個JobDirector可以將一個轉(zhuǎn)碼任務(wù)分配到12個節(jié)點上面。
(二)ProXchange JobScalers
JobScalers支持將多文件轉(zhuǎn)碼任務(wù)同時分配給系統(tǒng)的可利用的多余節(jié)點上。JobScalers和JobDirector并行服務(wù),將在另外一組12個ContentServer上處理其他文件的轉(zhuǎn)碼任務(wù)。
(三)管理軟件
除了實際文件處理,用戶還需要配置轉(zhuǎn)碼方式和轉(zhuǎn)碼周期等規(guī)則。管理軟件可以部署在任何一臺接入整個系統(tǒng)的PC上面。通過一個友好的操作界面,用戶可以對所有素材內(nèi)容執(zhí)行獨特的轉(zhuǎn)碼需求,完成轉(zhuǎn)碼流程。
正如之前提到的,轉(zhuǎn)碼功能通常由高等級的程序進行控制,例如媒體管理或者播控系統(tǒng)。為了這一目的,Omneon提供一個廣泛的API,允許第三方程序能夠完成上述所有功能。
(四)轉(zhuǎn)碼性能
使用節(jié)點處理架構(gòu)和上述獨特的方式,可以達到不同尋常的轉(zhuǎn)碼性能,比其他系統(tǒng)更加快速。但是正常的文件訪問負載會不會影響轉(zhuǎn)碼性能?在我們的測試中,結(jié)果顯示會影響:通過模擬負載情況,轉(zhuǎn)碼效率將降低30%,但是令人驚訝的是,在系統(tǒng)負載達到非常大的程度的時候,轉(zhuǎn)碼仍然能達到超實時。見表1
(五)其他優(yōu)勢
在節(jié)點處理架構(gòu)上構(gòu)建一個轉(zhuǎn)碼應(yīng)用系統(tǒng)的最主要優(yōu)點是,如前所述,可以利用所有節(jié)點的并行處理能力,可以比單獨的轉(zhuǎn)碼解決方案獲得更多更好的性能。另外,節(jié)點處理方式也為轉(zhuǎn)碼系統(tǒng)安全提供更多彈性,一個節(jié)點的丟失不會影響整個文件的轉(zhuǎn)碼完成。轉(zhuǎn)碼服務(wù)器直接接入系統(tǒng)網(wǎng)絡(luò),直接訪問素材內(nèi)容。使用存儲節(jié)點自身的CPU處理能力處理存儲于存儲節(jié)點自己本地的文件,意味著無需對源文件以及目標(biāo)文件進行傳輸。其他轉(zhuǎn)碼解決方案需要將源文件拷貝到本地存儲中,然后將目標(biāo)文件傳輸回目的存儲,這樣將帶來大量網(wǎng)絡(luò)傳輸壓力,也會占用整個轉(zhuǎn)碼流程的時間。節(jié)點處理架構(gòu)將去除網(wǎng)絡(luò)帶寬瓶頸,提高轉(zhuǎn)碼性能。
復(fù)雜的媒體工作流程可以通過在 MediaGrid節(jié)點處理存儲上設(shè)置自動轉(zhuǎn)碼規(guī)則而得到大大簡化。MediaGrid在存儲設(shè)備自身上進行轉(zhuǎn)碼也將降低系統(tǒng)的硬件需求。
[Page]
四.在內(nèi)容發(fā)布的工作流程中進行轉(zhuǎn)碼流程
廣播機構(gòu)和電視臺等內(nèi)容提供商需要將節(jié)目發(fā)布到其他的發(fā)布平臺上,例如網(wǎng)絡(luò)、IPTV、手機等等——不僅僅是傳統(tǒng)的線路發(fā)射上,在這樣的需求下,轉(zhuǎn)碼就成為很重要的工作流程了。
當(dāng)大多數(shù)電視臺的焦點放置于為傳統(tǒng)播出流程準(zhǔn)備素材的時候,待播素材就只能提供給一種發(fā)布平臺,即傳統(tǒng)播出平臺。在這樣的情況下,如果需要將待播素材發(fā)布到其他平臺上,就會需要重新上載的過程,而且需要發(fā)布的平臺數(shù)量,就是重新上載的次數(shù),這將大大降低整個素材制作和播出的工作效率。例如,如果需要為有限VOD點播、IPTV、WEBTV、手機電視等等準(zhǔn)備待播素材,就需要將素材上載到相應(yīng)的播出平臺上,需要提供所有這些平臺所支持的、和上載等流程所必須的硬件,這將帶來很大的成本開銷。在素材內(nèi)容很少的情況下,這種方式是可以忍受的,但是一旦電視臺需要向這些平臺上發(fā)布大量內(nèi)容做相應(yīng)的播出,就需要一個更有效率的方案了。
這些平臺上的工作流程都會有自己的特性,但是本質(zhì)上,他們是一致的。所以最終的解決方案是一個單獨的系統(tǒng)可以處理所有平臺上的文件,并將這些文件發(fā)布給所有的播出平臺。
使用運行于節(jié)點處理架構(gòu)的轉(zhuǎn)碼程序,完全可以將系統(tǒng)和工作流程配置成為轉(zhuǎn)碼和發(fā)布一步完成(圖4)。轉(zhuǎn)碼的目標(biāo)文件夾可以用來存儲待播素材,對于不同平臺上的待播文件,可以通過配置轉(zhuǎn)碼規(guī)則將文件存儲于不同的文件夾中。對于文件夾可以同時應(yīng)用多種配置規(guī)則來滿足多種文件格式的需求。在這樣的工作流程下,所有平臺的素材節(jié)目上載只需要一種文件輸入拷貝,不同平臺需求的不同格式文件輸出可以通過轉(zhuǎn)碼-發(fā)布流程實現(xiàn)。