孫慧璞
(唐山廣播電視臺(tái)制作保障部 河北省唐山市 063000)
對(duì)于電視節(jié)目來(lái)講,節(jié)目的制作是電視業(yè)務(wù)中的重點(diǎn)內(nèi)容。隨著網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,使網(wǎng)絡(luò)化電視節(jié)目成為了電視節(jié)目制作的主要發(fā)展趨勢(shì)。為了促進(jìn)網(wǎng)絡(luò)電視節(jié)目能夠展現(xiàn)出更高的設(shè)計(jì)水平,需要在系統(tǒng)設(shè)計(jì)方面給予更多的關(guān)注,令網(wǎng)絡(luò)電視節(jié)目擁有可靠的技術(shù)支撐。為此,電視節(jié)目制作單位需要積極掌握各類電視節(jié)目制作新興技術(shù),為網(wǎng)絡(luò)化電視節(jié)目制作合成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)給予可靠保障。
1.1.1 系統(tǒng)任務(wù)
在制定電視節(jié)目的過(guò)程中,節(jié)目制作合成系統(tǒng)所承擔(dān)的工作任務(wù)主要呈現(xiàn)出以下兩個(gè)方面。首先,系統(tǒng)需要及時(shí)接受節(jié)目演播室系統(tǒng)制定的節(jié)目合成表單,并且根據(jù)表單上面的具體內(nèi)容和要求,從所屬的局域網(wǎng)中提取相應(yīng)的節(jié)目素材,半并且將獲取的節(jié)目素材進(jìn)行充分整合,使其能夠成為一個(gè)完成的節(jié)目文件。在完成了節(jié)目制作合成之后,需要將節(jié)目文件進(jìn)行備份并且上傳至備份機(jī)當(dāng)中[1]。其次,節(jié)目制作合成系統(tǒng)需要接收演播室系統(tǒng)發(fā)出了各項(xiàng)控制查詢指令,并且及時(shí)對(duì)其進(jìn)行處理。例如當(dāng)播控系統(tǒng)針對(duì)播出MSV主機(jī)發(fā)出了查詢操作指令的時(shí)候,節(jié)目制作合成系統(tǒng)會(huì)對(duì)播控系統(tǒng)發(fā)出的操作指令進(jìn)行接收處理,根據(jù)指令的具體要求在本地文件查詢?nèi)肟谥休斎氩樵冴P(guān)鍵詞,在完成了節(jié)目列表查詢工作之后,會(huì)將查詢結(jié)果反饋給播控系統(tǒng)當(dāng)中,這個(gè)過(guò)程中需要保證精準(zhǔn)高效。
1.1.2 系統(tǒng)目標(biāo)
1.1.2.1 支持多種節(jié)目類型制作
演播室播控系統(tǒng)向節(jié)目制作合成系統(tǒng)輸送的節(jié)目表單通常擁有不同的類型,例如縮編EDL類、文件快速合成類、延時(shí)播類以及演播室共享類。在這些文件類型當(dāng)中,縮編EDL類節(jié)目合成表單內(nèi)容中涉及的內(nèi)容素材會(huì)通過(guò)兩種方式來(lái)獲取,第一種為MSV及其,另一種為從中心存儲(chǔ)中獲得。文件快速合成類所需的文件素材主要源于中心存儲(chǔ),另一種延時(shí)播表單所需的制作素材則是來(lái)自收錄MSV機(jī)器當(dāng)中。由于不同的節(jié)目表單的源素材在來(lái)源方式方面存在一定的差別,所以需要節(jié)目制作合成系統(tǒng)能夠支持不同節(jié)目類型的制作,使其能夠呈現(xiàn)出多方面發(fā)展的趨勢(shì)。
1.1.2.2 冗余備份
數(shù)據(jù)冗余主要是指在一個(gè)固定的數(shù)據(jù)集合當(dāng)中,同樣的數(shù)據(jù)內(nèi)容重復(fù)出現(xiàn)。在電視節(jié)目制作合成的過(guò)程中,數(shù)據(jù)的正確運(yùn)用對(duì)于節(jié)目制作的質(zhì)量具有一定的影響,占據(jù)著十分重要的地位。如果節(jié)目制作合成所需的播出素材或者源素材存在缺失或者損壞的情況,勢(shì)必會(huì)對(duì)電視播出情況造成不良影響。為了避免這樣的情況,節(jié)目制作合成系統(tǒng)應(yīng)當(dāng)對(duì)重要的文件素材進(jìn)行冗余備份,降低素材文件缺失損壞對(duì)電視節(jié)目帶來(lái)的不良影響。在本系統(tǒng)當(dāng)中,進(jìn)行冗余備份的主要對(duì)象是播出文件。系統(tǒng)在備份的過(guò)程中需要將新和成的播出文件存儲(chǔ)在播出MSV主機(jī)當(dāng)中,此時(shí)會(huì)將內(nèi)網(wǎng)備份的各類數(shù)據(jù)在MSV備份機(jī)當(dāng)中進(jìn)行備份保存。當(dāng)MSV主機(jī)出現(xiàn)特殊情況不能保持正常播放時(shí),能夠?qū)?duì)外播出系統(tǒng)切換到備份機(jī)處,進(jìn)而保障節(jié)目的順利播放。
1.1.2.3 音頻過(guò)渡
針對(duì)系統(tǒng)主要面對(duì)的節(jié)目合成表單類型及其涉及的相關(guān)素材,可以根據(jù)源素材來(lái)源將其劃分為不同的類型[2]。第一種為素材合成階段可能會(huì)需要使用不同來(lái)源的素材,例如在EDL節(jié)目合成表單就需要使用多段不同來(lái)源的素材。而另一種則是在素材合成過(guò)程中使用的素材都是同樣的來(lái)源,例如在文件快速合成類,此時(shí)所需的素材通常為同一個(gè)源文件。由于素材合成過(guò)程中通常會(huì)應(yīng)用到多段不同的源素材,因此需要結(jié)合實(shí)際需求進(jìn)行特殊處理,使兩個(gè)素材內(nèi)容在銜接的過(guò)程中實(shí)現(xiàn)自然過(guò)渡。如果在處理素材的過(guò)程中沒(méi)有對(duì)此給予足夠的關(guān)注,處理工作不充分,很容易使兩個(gè)源素材在銜接的時(shí)候出現(xiàn)爆音的情況。這種情況會(huì)嚴(yán)重降低素材展現(xiàn)的效果,影響節(jié)目質(zhì)量。為了避免這種情況的出現(xiàn),在節(jié)目制作合成的過(guò)程中需要對(duì)多段不同源素材文件進(jìn)行音頻處理,確保兩個(gè)素材在銜接的時(shí)候不會(huì)出現(xiàn)爆音的情況。對(duì)來(lái)自于同一個(gè)源文件的素材使用的時(shí)候,盡量確保素材的連續(xù)性,這樣就不需要對(duì)其進(jìn)行音頻的過(guò)渡處理。
從圖1中我們可以知道,節(jié)目制作合成系統(tǒng)當(dāng)中含有兩個(gè)播出MSV組,系統(tǒng)為例保證各類程序正常運(yùn)行,會(huì)使每個(gè)播出MSV組都擁有特定的MSV主機(jī)和備份機(jī)。在當(dāng)前的系統(tǒng)架構(gòu)當(dāng)中,每個(gè)播出MSV組會(huì)可能與交換機(jī)進(jìn)行操作關(guān)聯(lián),這是實(shí)現(xiàn)演播室共享節(jié)目類型的重要物理基礎(chǔ)。從圖1中可以看出,系統(tǒng)中的每個(gè)播放MSV都會(huì)與交換機(jī)進(jìn)行關(guān)聯(lián),隨后與演播室系統(tǒng)、收錄需提報(bào)過(guò)以及中心存儲(chǔ)系統(tǒng)進(jìn)行關(guān)聯(lián),使整個(gè)系統(tǒng)的各個(gè)組成部分實(shí)現(xiàn)有效連接。
圖1:系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖
觀察這個(gè)系統(tǒng)架構(gòu),播出MSV組下的播出MSV主備機(jī)器在運(yùn)行過(guò)程中,需要與借助交換機(jī)來(lái)和演播室系統(tǒng)建立連接關(guān)系[3]。在工作的過(guò)程中,播出MSV主機(jī)與備份機(jī)會(huì)及時(shí)接收演播室發(fā)出的節(jié)目合成表單與各類控制命令。由于每個(gè)播出MSV組都會(huì)有序?qū)?yīng)一個(gè)播出控制程序,因此,系統(tǒng)會(huì)默認(rèn)MSV當(dāng)中的各類系統(tǒng)設(shè)備都會(huì)與演播室系統(tǒng)中的播控機(jī)器都是在一個(gè)局域網(wǎng)里面,因此系統(tǒng)中的播出MSV主機(jī)會(huì)以及備份機(jī)和局域網(wǎng)交換機(jī)建立連接關(guān)系。在各類機(jī)器在同一個(gè)局域網(wǎng)保持關(guān)聯(lián)之后,播出MSV可以利用特定網(wǎng)卡來(lái)接收演播室發(fā)出的各項(xiàng)操作指令,完成節(jié)目合成表單的接收。這樣能夠及時(shí)準(zhǔn)確對(duì)指令進(jìn)行處理,以免素材出現(xiàn)堆積的情況,促進(jìn)了演播室操控命令接收效果的速度。當(dāng)MSV主機(jī)完成了操作指令以及節(jié)目合成表單的接收工作之后,素材合成程序會(huì)依據(jù)相關(guān)要求來(lái)獲取所需素材,實(shí)現(xiàn)操作指令的快速相應(yīng),源素材會(huì)通過(guò)收錄系統(tǒng)和中心存儲(chǔ)系統(tǒng)來(lái)獲取,并且將各類源素材整合成一個(gè)完整的節(jié)目文件。由于收錄系統(tǒng)和中心存儲(chǔ)系統(tǒng)需要向外界提供源素材,為了確保各項(xiàng)素材獲取的便利,需要將收錄系統(tǒng)和中心存儲(chǔ)系統(tǒng)與系統(tǒng)局域網(wǎng)交換機(jī)進(jìn)行連接。
1.3.1 素材合成端功能模塊
1.3.1.1 控制命令接收處理模塊
由于在制作電視節(jié)目的過(guò)程中會(huì)運(yùn)用到不同的節(jié)目文件,而節(jié)目文件的制作合成則需要借助演播室播控系統(tǒng)的調(diào)度與控制,鑒于這種情況,素材合成端應(yīng)當(dāng)能夠?qū)ρ莶ナ野l(fā)出的各項(xiàng)操作指令做好準(zhǔn)確的接收。演播室播控系統(tǒng)運(yùn)用了UDP的方式來(lái)發(fā)送各項(xiàng)操作指令,控制命令接收處理模塊會(huì)處理各項(xiàng)指令,并且分析指令的具體要求,以便于快速展現(xiàn)指令要求的各項(xiàng)操作。鑒于演播室播控系統(tǒng)需要對(duì)素材合成程度狀態(tài)有著實(shí)時(shí)、全面的掌握,分析節(jié)目合成表單任務(wù)的完成質(zhì)量,可以將這個(gè)模塊中獲取素材合成程序狀態(tài)與其他控制查詢命令進(jìn)行區(qū)分處理,便于保持程序的規(guī)范性和穩(wěn)定性。
1.3.1.2 節(jié)目合成表單接收解析模塊
電視臺(tái)在制作電視節(jié)過(guò)程中通常會(huì)涉及到較大的制作量,并且節(jié)目類型較為繁多,因此工作內(nèi)容較為豐富。鑒于這種情況,演播室所做的節(jié)目合成表單也會(huì)包含更多的細(xì)節(jié),由于表單內(nèi)容的增多使表單所占的存儲(chǔ)空間也進(jìn)一步增大。在發(fā)送節(jié)目合成表單的過(guò)程中,如果采用優(yōu)UDP的形式進(jìn)行輸送,通常會(huì)將節(jié)目合成表單進(jìn)行劃分,呈現(xiàn)出分包發(fā)送的形式。但是這樣的發(fā)送方式不能夠充分保證表單可以完整輸送到素材合成端。為了解決這種情況,系統(tǒng)可以采用TCP的方式對(duì)演播室系統(tǒng)所發(fā)送的節(jié)目合成表單進(jìn)行接收和處理。當(dāng)節(jié)目合成表單接收解析模塊接收到相應(yīng)的信息之后,可以對(duì)節(jié)目合成表單內(nèi)容進(jìn)行充分的解析。并且根據(jù)解析內(nèi)容進(jìn)行相應(yīng)的指令操作,隨后借助剛才的TCP通道將解析結(jié)果反饋給演播室系統(tǒng)。
1.3.2 素材提供端功能模塊
1.3.2.1 素材提供者調(diào)度模塊
收錄MSV機(jī)器與中心存儲(chǔ)方面通常會(huì)有四個(gè)素材提供者程序在同時(shí)運(yùn)行,在播出MSV機(jī)器通常會(huì)包含兩個(gè)素材提供者程序,兩個(gè)程序會(huì)保持同時(shí)運(yùn)行。素材提供者程序在運(yùn)行過(guò)程中能夠和素材合成端建立管理,實(shí)現(xiàn)通訊效果和數(shù)據(jù)傳輸。當(dāng)系統(tǒng)當(dāng)中有很多素材合成程序需要與素材提供者建立關(guān)系,尋求合成素材的獲取,提供端的信息是需要及時(shí)進(jìn)行相應(yīng)的調(diào)度,否則這些素材合成程序的連接請(qǐng)求與數(shù)據(jù)傳輸將呈現(xiàn)出排隊(duì)等待的狀態(tài)。素材提供端會(huì)根據(jù)相應(yīng)的程序?qū)ζ湟淮翁峁┫鄳?yīng)的資料,這種情況會(huì)拖慢節(jié)目制作工作的進(jìn)度,使節(jié)目制作所需的時(shí)間不斷延長(zhǎng)。為了達(dá)到這樣的目的,素材提供者調(diào)度模塊需要做好調(diào)度工作,在同時(shí)接收到多個(gè)素材提供者的連接申請(qǐng)的時(shí)候,素材提供調(diào)度模塊可以根據(jù)素材提供者的相應(yīng)序號(hào)進(jìn)行一定的調(diào)度,合理處理連接和數(shù)據(jù)傳輸請(qǐng)求。
1.3.2.2 素材提供者監(jiān)控模塊
素材提供者在素材提供端的狀態(tài)通常為空閑、預(yù)占和使用三種狀態(tài)[4]。當(dāng)素材提供者保持空閑狀態(tài)的時(shí)候,可以及時(shí)接受素材合成程序的連接性,就并且能夠快速與素材合成程序建立數(shù)據(jù)連接通道,實(shí)現(xiàn)數(shù)據(jù)的傳輸。當(dāng)素材提供者處于預(yù)占狀態(tài)的時(shí)候,表明素材提供者被其他的素材合成程序預(yù)先占用,尚未完成數(shù)據(jù)的傳輸,此時(shí)需要進(jìn)行一段時(shí)間的等待。如果素材提供者保持使用狀態(tài)時(shí),則是由于素材提供者已經(jīng)和其他素材合成程序產(chǎn)生了連接關(guān)系,并且處于數(shù)據(jù)傳輸?shù)倪^(guò)程中。當(dāng)數(shù)據(jù)傳輸任務(wù)完成或者失敗之后,素材提供者的狀態(tài)便會(huì)重新恢復(fù)為空閑狀態(tài)。但是在實(shí)際情況下,素材提供端還可能會(huì)因異常情況影響到素材提供和數(shù)據(jù)傳輸。第一種情況為素材提供者被申請(qǐng)預(yù)占之后,在等待了很長(zhǎng)時(shí)間之后仍然沒(méi)有得到相應(yīng),不能夠與素材提供者建立關(guān)聯(lián)關(guān)系。另一種情況是運(yùn)行狀態(tài)的時(shí)候發(fā)生的,素材提供者顯示為運(yùn)行狀態(tài)。在經(jīng)歷了一段時(shí)間之后,文件遷移證后沒(méi)有發(fā)生變化。素材提供者監(jiān)控模塊通??梢詫?duì)這兩種情況進(jìn)行監(jiān)視和處理。
從圖1中系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖可以得知,素材合成端不僅需要接受演播室發(fā)送出的節(jié)目合成表單,還需要及時(shí)接受演播室播控系統(tǒng)發(fā)送出的操作指令。圖2為素材合成程序的控制命令接收處理模塊對(duì)播控系統(tǒng)發(fā)送的操作指令進(jìn)行接收與處理的流程圖。
圖2:控制命令接收流程圖
2.1.1 控制命令接收處理模塊
由于演播室端發(fā)送的操作指令通常為UDP方式。由于這項(xiàng)技術(shù)已經(jīng)日漸成熟,因此UDP通信雙方只需要處理好消息體的格式,就可以實(shí)現(xiàn)雙方的數(shù)據(jù)通信。在進(jìn)行通信的過(guò)程中,當(dāng)接收或者處理不成功的命令時(shí),這個(gè)模塊會(huì)采取返回NAK的方式對(duì)命令進(jìn)行正確的解析,當(dāng)命令完成處理之后會(huì)返回ACK。對(duì)于演播室端發(fā)送出的操作指令可以劃分為兩種類型,一種為表單接收指令,另一種是控制查詢指令。在接收到查詢指令之后,系統(tǒng)會(huì)依據(jù)控制查詢命令的相應(yīng)要求進(jìn)行處理,完成處理工作之后,會(huì)將處理分析結(jié)果進(jìn)行反饋,將其輸送到演播室端當(dāng)中。在處理分析表單接收命令的時(shí)候,這個(gè)處理流程具有一定的復(fù)雜程度,需要在接收命令之后由處理模塊來(lái)生成合成表單事件,并且由節(jié)目合成表單接收解析模塊對(duì)數(shù)據(jù)通信進(jìn)行初始化操作。
在完成了控制命令的接收工作之后,需要對(duì)控制命令進(jìn)行相應(yīng)的處理工作再進(jìn)行處理,工作的過(guò)程中,通常會(huì)由素材合成程序生成一個(gè)固定。接收播放控制系統(tǒng)命令線程。以及處理接收命令的線程。但是傳統(tǒng)的素材合成程序結(jié)構(gòu)存在一定的缺陷不能夠得到理想的處理效果,因此需要對(duì)素材合成程序結(jié)構(gòu)進(jìn)行一定的改進(jìn)。在改進(jìn)后的素材合成程序結(jié)構(gòu)相比于原來(lái)的結(jié)構(gòu),在原有的基礎(chǔ)上添加了一個(gè)命令調(diào)度線程和狀態(tài)組。
2.1.2 節(jié)目合成表單接收解析處理模塊
在節(jié)目合成表單接收模塊下,新線程在完成創(chuàng)建之后線程會(huì)處于運(yùn)行狀態(tài)??刂泼罱邮漳K會(huì)決定線程接收節(jié)目合成表單的時(shí)間,因此會(huì)涉及到線程之間的通信。線程在獲取節(jié)目表單的過(guò)程中會(huì)需要獲取節(jié)目合成表單的總長(zhǎng)度,程序會(huì)以4kb為單位對(duì)數(shù)據(jù)進(jìn)行接收,隨后將接收到的數(shù)據(jù)進(jìn)行重新組裝,實(shí)現(xiàn)節(jié)目合成表單都接收。當(dāng)完成節(jié)目合成表單接收工作之后,節(jié)目合成表單接收子模塊會(huì)將其傳遞給解析子模塊。在解析模塊進(jìn)行表單的解析操作的時(shí)候,需要向演播室端來(lái)反饋處理結(jié)果。將表單反饋數(shù)據(jù)分別設(shè)置為0和1。當(dāng)表單為正確的時(shí)候,可以向演播室端反饋數(shù)值1。當(dāng)表單為錯(cuò)誤情況的時(shí)候,或者表單內(nèi)容無(wú)法實(shí)現(xiàn)解析,則需要反饋數(shù)值為0。
2.2.1 素材提供者調(diào)度模塊
素材提供者與素材提供者調(diào)度監(jiān)控程序兩種程序具有一定的差別。當(dāng)素材提供者調(diào)度監(jiān)控程序發(fā)出了素材提供端發(fā)出連接請(qǐng)求的時(shí)候,一般情況下會(huì)關(guān)系到進(jìn)程間的通信。系統(tǒng)在此時(shí)會(huì)運(yùn)用共享內(nèi)存的方式來(lái)實(shí)現(xiàn)兩者之間的通信。素材提供者調(diào)度模塊會(huì)按照素材提供端對(duì)于素材提供者容納情況來(lái)進(jìn)行共享內(nèi)存的構(gòu)建。一般情況下,素材提供端最多可以容納10個(gè)素材提供者,但是一般情況下會(huì)將默認(rèn)數(shù)量設(shè)定為4。共享內(nèi)存會(huì)將素材提供者的狀態(tài)情況進(jìn)行詳細(xì)地記錄,并且將其存儲(chǔ)在相對(duì)應(yīng)的內(nèi)存單元當(dāng)中進(jìn)行保存。在這個(gè)過(guò)程中,素材提供者調(diào)度模塊主要是進(jìn)行共享內(nèi)存的創(chuàng)建以及素材提供者的管理調(diào)度。
2.2.2 素材提供者監(jiān)控模塊
由于素材提供端可能會(huì)出現(xiàn)異常情況影響到節(jié)目文件的制作合成,因此需要運(yùn)用素材提供監(jiān)控模塊會(huì)異常情況進(jìn)行處理。為了便于系統(tǒng)使用者能夠隨時(shí)掌握素材提供者的具體狀態(tài),素材監(jiān)控模塊需要將各個(gè)素材提供者的狀態(tài)情況顯示在調(diào)度監(jiān)控程序界面上,并且每間隔1s刷新一次頁(yè)面。素材提供者監(jiān)控模塊可從內(nèi)存單元中掌握素材提供者的具體狀態(tài),并且將其與界面顯示的狀態(tài)進(jìn)行對(duì)比,如果兩種結(jié)果存在差別,系統(tǒng)需要及時(shí)更新頁(yè)面。如果兩種結(jié)果保持一致,系統(tǒng)需要采取進(jìn)一步的處理。系統(tǒng)可以為各個(gè)素材提供者設(shè)定狀態(tài)技術(shù)變量,當(dāng)素材提供者狀態(tài)發(fā)生變化時(shí),素材計(jì)數(shù)變量就會(huì)進(jìn)行計(jì)數(shù)。
為了保障網(wǎng)絡(luò)化的電視節(jié)目制作合成系統(tǒng)的設(shè)計(jì),使其能順利實(shí)現(xiàn),需要正確掌握節(jié)目制作合成系統(tǒng)的組成,制定出系統(tǒng)任務(wù)與目標(biāo),對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行合理的設(shè)計(jì)。在功能設(shè)計(jì)方面,將素材合成端功能模塊與素材提供端功能模塊作為重點(diǎn)研究?jī)?nèi)容,針對(duì)當(dāng)前存在的問(wèn)題制定解決措施,促進(jìn)網(wǎng)絡(luò)化的電視節(jié)目制作合成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。