楊凱 鄭郁劼 蘇州廣播電視總臺(tái)技術(shù)中心
蘇州廣播電視總臺(tái)現(xiàn)有十間廣播直播室,包括8間自辦節(jié)目的廣播直播室、1間多媒體直播室和1間備份直播室。目前,各節(jié)目部門根據(jù)自身全天節(jié)目編排的需要,每天會(huì)有一些時(shí)間段需要在廣播節(jié)目中轉(zhuǎn)播某些電視頻道的節(jié)目,例如FM91.1城市綜合頻率每天中午12點(diǎn)至12點(diǎn)30分轉(zhuǎn)播CCTV1綜合頻道的午間新聞。這些節(jié)目的信號(hào)取自每個(gè)直播室安裝的一臺(tái)普通電視機(jī)頂盒,機(jī)頂盒的音頻輸出通過(guò)模擬平衡音頻接口接入調(diào)音臺(tái),視頻輸出通過(guò)視頻接口接入液晶電視作為監(jiān)看,實(shí)現(xiàn)廣播節(jié)目轉(zhuǎn)播電視頻道節(jié)目的需求。雖然該方案沿用了很長(zhǎng)時(shí)間,但是由于機(jī)頂盒信號(hào)源是外來(lái)信號(hào)(廣電網(wǎng)絡(luò)運(yùn)營(yíng)商)而非臺(tái)內(nèi)信號(hào),當(dāng)信號(hào)出現(xiàn)中斷時(shí)無(wú)法追查問(wèn)題根源,只能等待信號(hào)恢復(fù),以往也出現(xiàn)過(guò)因?yàn)闄C(jī)頂盒信號(hào)長(zhǎng)時(shí)間中斷,導(dǎo)致轉(zhuǎn)播無(wú)法正常進(jìn)行的情況。為了確保自辦節(jié)目的安全播出,也為了確保例如國(guó)慶、兩會(huì)直播、春節(jié)聯(lián)歡晚會(huì)等某些特定時(shí)間段和重大事件的轉(zhuǎn)播,需要設(shè)計(jì)一套以臺(tái)內(nèi)信號(hào)為信號(hào)源的播出方案。
對(duì)于在廣播直播間使用的電視信號(hào)轉(zhuǎn)播系統(tǒng),在設(shè)計(jì)上需要考慮以下特點(diǎn):(1)穩(wěn)定性
由于系統(tǒng)涉及播出,穩(wěn)定性是最重要的要求。之前使用的系統(tǒng)中,不穩(wěn)定因素在于信號(hào)源是外來(lái)信號(hào),很多因素不可控、不可查。要改善這一問(wèn)題,可以考慮使用臺(tái)內(nèi)的信號(hào)源。根據(jù)部門的實(shí)際情況,決定使用電視總控輸出的UDP組播多節(jié)目TS流信號(hào),每個(gè)組播流信號(hào)包含若干個(gè)電視頻道節(jié)目。
(2)可擴(kuò)展性
目前廣播常規(guī)需求的電視節(jié)目轉(zhuǎn)播涉及的電視臺(tái)包括蘇州臺(tái)、中央電視臺(tái)新聞?lì)l道等少數(shù)幾個(gè)電視頻道,但在未來(lái)可能有更多直播電視臺(tái)節(jié)目的需求,如重大體育比賽、大型晚會(huì)活動(dòng)等。因此系統(tǒng)必須能夠方便地添加新的電視頻道。
(3)易上手
之前的機(jī)頂盒方案采用的播出設(shè)備為電視機(jī)頂盒,操作比較簡(jiǎn)單,只需按下頻道切換按鈕即可實(shí)現(xiàn)頻道切換。新的播出系統(tǒng)交互方案的設(shè)計(jì)不能過(guò)于復(fù)雜,必須能讓操作人員盡快上手。
經(jīng)過(guò)多種技術(shù)方案的可行性比較和討論,決定采用電視臺(tái)總控部門傳輸?shù)腢DP組播多節(jié)目TS流,將信號(hào)接入至廣播總控網(wǎng)絡(luò)機(jī)房,再通過(guò)交換機(jī)將節(jié)目流送至10間直播室。每個(gè)直播室安裝一臺(tái)電腦用于解碼播放節(jié)目流,解出的音視頻信號(hào)分別送直播調(diào)音臺(tái)和液晶電視,以替換原機(jī)頂盒轉(zhuǎn)播方式,該廣播轉(zhuǎn)播電視節(jié)目系統(tǒng)框架如圖1所示。
圖1 廣播轉(zhuǎn)播電視節(jié)目系統(tǒng)框架
(1)節(jié)目播出電腦 該電腦作用是利用播放器軟件播放TS節(jié)目流。為了能夠方便地進(jìn)行頻道切換,需要配置一個(gè)合適的切換程序。此外,為了最大程度避免誤操作,決定使用獨(dú)立的數(shù)字小鍵盤來(lái)進(jìn)行切換控制。
(2)電視機(jī)頂盒 保留原電視機(jī)頂盒作為備路方案,當(dāng)主路節(jié)目播出電腦出現(xiàn)故障時(shí)可作為備份信號(hào),這樣也提高了廣播轉(zhuǎn)播電視頻道的播出安全性。
(3)調(diào)音臺(tái) 節(jié)目播出電腦播放器以及機(jī)頂盒輸出的音頻信號(hào)進(jìn)入調(diào)音臺(tái),分別作為音頻播出的主路和備路信號(hào),調(diào)音后作為最終節(jié)目播出。
(4)液晶電視 接收電腦播放器及機(jī)頂盒的視頻信號(hào),用于輔助監(jiān)看。
整個(gè)電視節(jié)目轉(zhuǎn)播系統(tǒng)核心包括兩個(gè)部分,第一是對(duì)節(jié)目播出電腦的配置,包括播放器配置和切換軟件的開(kāi)發(fā);第二是在接入節(jié)目播出電腦輸出的音頻后,廣播直播間調(diào)音臺(tái)的設(shè)置調(diào)整。
對(duì)于播放器的需求一是需要支持多節(jié)目UDP TS流的播放以及節(jié)目切換,二是穩(wěn)定性好,能夠在視音頻正常的情況下連續(xù)播放高清碼流。
節(jié)目播出電腦的操作系統(tǒng)采用性能較穩(wěn)定的Linux發(fā)行版Ubuntu 16.04系統(tǒng)。在ubuntu系統(tǒng)下測(cè)試了幾款較為流行的播放器,包括vlc、mplayer、smplayer。測(cè)試內(nèi)容包括是否支持對(duì)UDP TS流的播放、多節(jié)目流的選擇功能、視音頻正常情況下的連續(xù)播放時(shí)長(zhǎng)。Ubuntu平臺(tái)下的多播放器測(cè)試結(jié)果見(jiàn)表1。
表1 Ubuntu平臺(tái)下的多播放器測(cè)試結(jié)果
(1)UDP TS流播放 三款播放器均支持播放UDP協(xié)議的TS節(jié)目流。
(2) 多頻道選擇 由于總控輸出的UDP流為多節(jié)目的TS流,即一個(gè)地址包含多個(gè)節(jié)目,因此需要播放器支持以參數(shù)選擇的方式打開(kāi)某個(gè)地址中特定頻道的功能。vlc和mplayer均有參數(shù)支持選擇頻道,但是smplayer無(wú)法選擇播放流中的指定節(jié)目,且會(huì)出現(xiàn)視音頻誤匹配的情況,即出現(xiàn)播放節(jié)目1的視頻和節(jié)目2的音頻的情況。
(3)連續(xù)正常播放時(shí)長(zhǎng) 由于涉及播出,播放器的穩(wěn)定性是一個(gè)非常重要的指標(biāo)。在測(cè)試中,vlc(v2.0.4)比較穩(wěn)定,vlc(v2.2.2)在播放一天左右后會(huì)出現(xiàn)未知原因的音頻丟失情況,mplayer播放器在連續(xù)播放3天后出現(xiàn)了卡頓、無(wú)聲音的情況,而包括smplayer和其他未列舉的播放器未得到更好的測(cè)試結(jié)果。需要說(shuō)明的是在測(cè)試vlc更新版本軟件(v3.0.2)也出現(xiàn)了音頻丟失現(xiàn)象,在此不予列舉。綜上所述,最終本系統(tǒng)的播放器選用v2.0.4版的vlc播放器。在實(shí)際使用時(shí),需要設(shè)置系統(tǒng)策略定期重啟電腦,避免可能因播放器長(zhǎng)時(shí)間播放,出現(xiàn)內(nèi)存泄漏導(dǎo)致死機(jī)的情況。
操作人員對(duì)節(jié)目播出電腦的操作主要是電視頻道的切換,為了方便操作人員的操作,同時(shí)最大程度地降低誤操作的可能性,放棄了傳統(tǒng)的全鍵盤和鼠標(biāo)的操作,改為使用獨(dú)立的數(shù)字小鍵盤進(jìn)行操作,配合切換軟件,可以快速切換各頻道。
切換軟件主要功能實(shí)現(xiàn)包括以下方面:
(1)查詢并獲取小鍵盤設(shè)備按鍵事件
在linux系統(tǒng)下,對(duì)于鼠標(biāo)、鍵盤等輸入設(shè)備的操作會(huì)在系統(tǒng)中產(chǎn)生input事件,捕獲這一事件就能判斷出鼠標(biāo)鍵盤的具體操作。要對(duì)事件進(jìn)行捕獲,首先在路徑/proc/bus/input/device下找到數(shù)字小鍵盤對(duì)應(yīng)的event編號(hào),如圖2所示Name為“SEM USB Keyboard”的設(shè)備即為所使用的小鍵盤,其對(duì)應(yīng)event編號(hào)為event13。然后操作鍵盤時(shí)讀取其在路徑/dev/input下對(duì)應(yīng)的節(jié)點(diǎn)/dev/input/event13,即可獲取鍵盤按鍵信息,包括按鍵碼和事件類型。按鍵碼是用于標(biāo)識(shí)鍵盤上每個(gè)按鍵的標(biāo)號(hào),按鍵事件包括按下和釋放。捕獲按鍵碼和按鍵事件類型后就可以設(shè)定邏輯觸發(fā)執(zhí)行預(yù)先寫(xiě)好的播放器腳本。
(2)節(jié)目播放
VLC播放器支持命令行啟動(dòng),并可同時(shí)添加各種需要的參數(shù)。在本項(xiàng)目中,當(dāng)切換軟件捕獲按鍵命令后,啟動(dòng)vlc播放器,需要指定以下參數(shù):①碼流UDP地址,即總控發(fā)出的UDP TS組播流地址;② 節(jié)目號(hào),由于源碼流為多節(jié)目TS流,需要指定播放其中的哪一套節(jié)目,由參數(shù)“--program”指定;③ 全屏顯示,由參數(shù)“--fullscreen”控制。
(3)小鍵盤開(kāi)關(guān)
使用以上鍵盤監(jiān)聽(tīng)的方法進(jìn)行按鍵監(jiān)聽(tīng)識(shí)別,即使在小鍵盤功能(Num Lock)關(guān)閉的情況下也能正常運(yùn)作。為了確保操作員是在小鍵盤usb連接正常時(shí)進(jìn)行操作,規(guī)定必須打開(kāi)(Num Lock)功能后才能操作。在技術(shù)實(shí)現(xiàn)方面,監(jiān)聽(tīng)到按鍵時(shí)先讀取Num Lock狀態(tài),在Num Lock打開(kāi)的前提下才會(huì)對(duì)按鍵進(jìn)行進(jìn)一步的功能響應(yīng)。
(4)小鍵盤斷線重連
圖2 數(shù)字小鍵盤在系統(tǒng)中的設(shè)備信息
在意外情況下,小鍵盤的usb連接可能會(huì)因?yàn)橥獠吭虮粩嚅_(kāi)。因此在切換軟件中需設(shè)置邏輯檢測(cè)小鍵盤是否連接上系統(tǒng),方法是在包含輸入設(shè)備信息的系統(tǒng)路徑/proc/bus/input/device中查找是否包含小鍵盤信息,如果未檢測(cè)到設(shè)備,則在交互界面上輸出提示信息,間隔一段時(shí)間后繼續(xù)檢測(cè),直到檢測(cè)到設(shè)備才開(kāi)始監(jiān)聽(tīng)按鍵邏輯。
按鍵監(jiān)聽(tīng)軟件使用交互采用終端界面,如圖3所示。
圖3 按鍵響應(yīng)程序界面
節(jié)目播出電腦音頻輸出接口為SPDIF,經(jīng)過(guò)接口轉(zhuǎn)換后通過(guò)音頻數(shù)字線纜接入調(diào)音臺(tái)的數(shù)字輸入接口模塊上。因?yàn)樵瓩C(jī)頂盒的信號(hào)保留,所以需要在調(diào)音臺(tái)上增加A/B鍵切換邏輯,用于兩路信號(hào)的切換。
在用調(diào)音臺(tái)有兩種型號(hào)分別是RM4200D和RX52,在功能使用上略有區(qū)別。
3.3.1 RM4200D
DHD RM4200D調(diào)音臺(tái)有自身研發(fā)專用的控制軟件TOOLBOX4,可對(duì)調(diào)音臺(tái)進(jìn)行個(gè)性化設(shè)置,十分簡(jiǎn)潔和便利。將電腦與調(diào)音臺(tái)通過(guò)網(wǎng)線連接,在電腦上打開(kāi)TOOLBOX4控制軟件。
首先,在DSP frameI/O將TV推流解碼電腦音頻輸入定義為TV,機(jī)頂盒音頻輸入定義為JDH,在fader channels里加入CH32 TV和CH10 JDH。
如圖4所示。
在console里,點(diǎn)擊需設(shè)置功能的調(diào)音臺(tái)控制面,選擇兩個(gè)RM420-012模塊的空白鍵(地址碼#C11),分別定義為TV和JDH并選擇好各自對(duì)應(yīng)的音源。
圖4 DSP frameI/O(左)及fader channels(右)中的設(shè)置
其次,是給這兩個(gè)定義好的按鍵設(shè)置邏輯功能,實(shí)現(xiàn)A/B鍵切換的功能。以在第9路推子上實(shí)現(xiàn)A/B切換為例,在logic systemlogic function里增加兩個(gè)判斷邏輯量SEL TV和SEL JDH,同時(shí)在右側(cè)的設(shè)置框里修改設(shè)置,這里面增加了一條FS Fader 9低電平的條件,意思是只有當(dāng)?shù)?路推子是未推起的狀態(tài)時(shí)才能實(shí)現(xiàn)切換,目的是防止誤操作,最后,在Edit script界面里編輯一段8位16進(jìn)制數(shù),圖 5 所 示 是 SEL TV 的 腳 本 110D0000, 6, 00, 08, 00,20, 00, 00,其中的 6代表 6 選 1,08 代表推子序號(hào)為第9路推子,20為16進(jìn)制,代表輸入調(diào)音臺(tái)的信號(hào)源序號(hào)即第32路CH32 TV,按下Select…鍵選擇源為L(zhǎng)F SEL TV。同樣的設(shè)置SEL JDH的腳本為110D0000, 6, 00, 08, 00, 0A, 00, 00。 至 此,RM4200調(diào)音臺(tái)A/B鍵切換功能實(shí)現(xiàn)。
圖5 Logic Function(左)及Edit Script(右)中的設(shè)置
3.3.2 RX52
RX52調(diào)音臺(tái)系列是DHD公司在RM4200系列調(diào)音臺(tái)基礎(chǔ)上進(jìn)行了升級(jí)和改進(jìn)后的產(chǎn)品,從硬件架構(gòu)、DSP處理能力、軟件控制等方面與RM4200系列相比,都更加簡(jiǎn)潔、強(qiáng)大和穩(wěn)定,在A/B鍵切換功能設(shè)置上就能體現(xiàn)出來(lái)。
RX52調(diào)音臺(tái)控制軟件為TOOLBOX8。首先,在I/O overview里將TV推流解碼電腦音頻輸入定義為TV,機(jī)頂盒音頻輸入定義為JDH,在fader channels里加入CH41 TV和CH9 JDH。
其次,在console里,點(diǎn)擊需設(shè)置功能的調(diào)音臺(tái)控制,選擇兩個(gè)模塊空白鍵,分別定義為TV和JDH,并選擇好各自對(duì)應(yīng)的音源fader channel,function…里選擇 Direct input select,Act…里選擇on fader fader 9,同樣選擇在第9路推子上做切換。
至此,RX52的A/B鍵切換也設(shè)置完畢,可以明顯看出,和RM4200D調(diào)音臺(tái)相比,RX52的設(shè)置簡(jiǎn)便了許多。
此次廣播直播室電視轉(zhuǎn)播系統(tǒng)的改造,改變了原有模式信號(hào)源為單一外來(lái)信號(hào)的缺點(diǎn)。通過(guò)新增一路內(nèi)部信號(hào)通路,使得信號(hào)源更穩(wěn)定,即使出現(xiàn)問(wèn)題也可以追根溯源。同時(shí),新增系統(tǒng)與原機(jī)頂盒播出系統(tǒng)形成主備,從而加強(qiáng)了廣播播出的安全性。
圖6 RX52的console設(shè)置