李洪波
作為電視播出核心的系統由模擬時代跨入數字時代數字硬盤播控系統已經取代手動播出、半自動播出系統成為當今主流。電視節目中的播控系統是電視工作中的核心系統目前電視節目的播出方式已經從過去傳統的手動方式轉變為自動方式。而視頻服務器作為整套數字電視播控系統的基礎,視頻服務器的安全穩定是整套播控系統的關鍵。Harmonic是目前較常用的視頻服務器。在服務器通道設置中包括設備關聯、端口、碼率、視音頻格式等要素。除此之外,還有Advance-to-Cued和Last frame freeze的參數設置。一般都使用廠商建議的參數0/0、1/1、50/50等,但它們的意義是什么?到底起到什么樣的作用呢?怎么設置最合理?一直沒有個明確的說法。本文將對此進行測試研究。

圖1 視頻服務器通道設置狀態圖
視頻服務器嚴格按照播控機的指令完成CUE和PLAY的動作,根據命令自動加載或卸載節目素材,這沒有問題。如果節目單中間有直播或錄像機等其他類型的節目時,情況就會不一樣。當節目從視頻服務器切換到線路,切換臺要做切換(通常是播控電腦發指令到切換臺,切換臺再切換)。如果切換響應時間較長,而此時視頻服務器已經停止了畫面輸出,那么PGM輸出就會出現1幀或以上的黑場。為規避以上情況,可以根據需要設置相應的視頻服務器尾幀保持時間,即設置Last frame freeze值,單位為幀。如果Last frame freeze值是0(如圖1所示),表示最后一幀將被凍結到下一個素材開始。這是個很有用的功能,可以讓視頻服務器一直保持畫面輸出,所以很多用戶都采用這種設置。
但在實際使用中又會發現一個問題,當節目開播前或正在直播或錄像機等其他類型的節目時,視頻服務器的輸出畫面會一直停留在上一條素材的尾幀,這會給用戶造成很大困惑??倱南乱粭l素材是否被加載了呢?下條素材是否正確呢?用戶更希望此時視頻服務器輸出的是下一條素材的首幀畫面。
廠商也提供了解決的辦法:Advanceto-Cued參數設置。Advance-to-Cued值可以理解為第一條素材播完經過多長時間幀之后顯示第二條素材的首幀。如果Advance-to-Cued設置成0(如圖1所示),表示不顯示首幀。如果Advance-to-Cued設置成1,視頻服務器播完上一條馬上停留在下一條首幀。如果想停留在第一條尾幀2秒然后顯示第二條首幀,則設為50/50。
在Advance-to-Cued和Last frame freeze值設置為50/50的情況下我們做了一個試驗。
節目單設置為 01∶06∶22 開始播一條長度為 25秒的 A 節目,01∶07∶22開始播出下一條B節目素材。兩條節目之間有35 s的間隙。中間加入了35 s的間隙目的是來模擬兩條素材中間有一條非硬盤C節目。如果A、B、C都是硬盤節目,服務器是嚴格按照播控電腦PLAY指令執行順播的,以上兩個參數此時不起任何作用。所以,加入一條非硬盤節目用來顯示兩個參數在實際播出中起到的作用。
服務器的日志信息如下:


視頻服務器從 01∶06∶22 開始播一條長度為 25 s的 A 節目,01∶06∶47節目結束后服務器又保持了2 s該素材尾幀,在01∶06∶49結束播出短暫黑場,然后顯示B節目素材的首幀。01∶07∶22開始播下一條B節目素材。這個試驗表明了兩個參數在實際使用中所起的作用。奇怪的是服務器在中間自動加入了短暫黑場(player OM3A-t∶ black at end at 625 1582751)。
在實際工作中,有時難免會出現節目之間有間隙這種情況,那么根據剛才的結果來看,就可能發生播出黑場的播出事故。
為什么會出現黑場呢?我們把兩個參數分別設置為1/1、25/25的情況下繼續試驗,也出現了8幀左右短暫黑場。我們推測出現短暫黑場的原因應和視頻服務器的運行機制有關。正常狀況下,視頻服務器嚴格按照播控機的指令完成CUE和PLAY的動作。當該條素材的PLAY命令還沒到,又要根據設置需要顯示該素材的首幀畫面時,會有一個類似錄像機預卷的動作,完成這個動作需要8幀時間。
按照推測,我們繼續試驗。我們把兩個參數分別設置為17/25。視頻服務器在播完本條素材之后保持了一秒的尾幀,然后進入下條素材首幀畫面。也就是只要Advance-to-Cued(M) 值 提 前Last frame freeze(N)值8幀,就能避免出現短暫黑場的情況。
是不是這樣的設置已經很完美了呢?答案是否定的。如果本條素材是最后一條硬盤節目,而它與下一條信號源之間有間隙的話,那么還是會出現播出黑場的情況。為避免以上情況發生,我們假設一個最理想的服務器輸出狀態:能根據設定顯示下一條素材的首幀,首幀沒來之前則顯示當前素材的尾幀。如果接下來沒有待播的素材,就一直停留在當前素材的尾幀。
我們只要把Last frame freeze的值設置為0,然后通過Advance-to-Cued值的設置來定義下條素材首幀的輸出時間,就能有效解決這個問題。我們同樣用剛才的節目單來做試驗,把兩個值設置成1/0。結果如下:
視頻服務器從 01∶34∶22 開始播一條長度為 25秒的 A 節目,01∶34∶47節目結束后服務器又保持了大約8幀該素材尾幀,然后顯示B節目素材的首幀,保持大約 35秒。01∶35∶22開始播下一條 B 節目素材。這里保持的8幀該素材尾幀,應該就是視頻服務器完成預卷動作的時間,由于我們把Last frame freeze的值設置為0,所以會自動由上一條素材尾幀填補,如果沒有待播的素材,就一直停留在當前素材的尾幀。
由此可見,Advance-to-Cued(M)、Last frame freeze(N)這兩個參數是相互聯系的,每個用戶也可以根據具體情況來設置參數。通過合理的Advance-to-Cued(M)、Last frame freeze(N)設置,不但能讓我們在工作中更加方便,提高播出質量,甚至可能避免出現播出事故。目前采用的1/0設置,已經過了長時間的實踐,證實是安全可行的。