黃琪洋 成都外國語學校
數據流監控平臺建設
黃琪洋 成都外國語學校
本文討論了數據流監控平臺的實現方案,提出解析和解碼、數據分析和報警處理等三大流程環節的解決辦法。
數據流 HLS RTMP
移動網絡技術發展到今天,廣播的業態也變成為互聯網+廣播形式,無論在地球的任何角落,聽眾都能從互聯網獲得優秀的節目資源。東方傳媒集團有限公司旗下擁有12個廣播頻率和韓語泡菜廣播和粵語粵來粵愛兩個互聯網頻率,其中990新聞、第一財經、五星體育、經典音樂、動感音樂、歐美音樂等優秀頻率,在長三角地區家喻戶曉。東方傳媒集團有限公司于2015年推出了阿基米德(移動廣播APP),使得這些優秀的節目得到廣泛的傳播。但由于網絡傳輸鏈路的復雜性,節目的品質監控一直沒有解決,例如聲音的忽大忽小、爆音、斷線等。這些品質直接影響到用戶體驗。在用戶體驗為王的大背景下,雖然節目優秀,如果體驗差,也會喪失用戶。因此,建立數據流監控平臺勢在必行,東方傳媒集團有限公司于2017年啟動數據流監控平臺建設,目前該系統已投入使用。
數據流傳輸系統結構如下圖所示。系統輸入信號包括12套無線廣播信號和2套互聯網信號組成,將節目進行RTMP封裝后的數據流,推送至流媒體服務器。由于蘋果設備操作系統和Andrio設備操作系統分別支持HLS和RTMP協議,因此,流媒體服務器需要將節目信號進行解包和封包,分別發布到互聯網上。

數據流監控平臺包括解析解碼系統、數據分析系統、報警處理系統三大部分。監控數據源由上圖的監測面A的14套節目信號數據流、監測面B的14套HLS數據流和14套RTMP數據流組成,實現了對節目從數據編碼、發布接收整個過程監控。

解析解碼系統實際是HLS/RTMP協議解析器和MP3解碼器構成,輸入數據流,輸出線性的節目數據。線性數據作為數據分析系統的輸入信號。
HLS協議封裝的數據包括一個m3u(8)索引文件和多個數據碎片文件。系統通過索引文件找到相應的碎片文件,利用HTTP網絡協議逐一取得每幀的流數據。 RTMP是基于TCP之上封裝的協議,采用默認端口1935,服務器和客戶首先通過1536字節數據包進行握手后,即可發送內容數據,內容數據包括固定長度的包頭和128字節的包體組成,解析內容數據包,可以取得每幀的流數據。
解碼模塊基于FFMPEG平臺提供的接口函數進行開發,首先注冊音視頻壓縮格式和分配內存空間,從HLS/RTMP解析器中獲取壓縮幀,并根據數據格式類型,調用解碼器解碼,輸出線性數據。
42套節目數據同時解碼,在讀取數據時,由于網絡環境、服務器性能和資源波動等因素,會不定時出現阻塞狀態,因此,如果42套數據流放在一個主線程中處理,將直接影響檢測數據的真實性。因此解析和解碼系統采用多線程編程,防止數據流之間的相互影響。
在數據分析系統中,設定信號的報警閾值和持續時間(默認為8秒),系統記錄故障開始時間和故障恢復時間,并將報警信息輸出到報警處理系統進行處理。其中電平檢測主要監控音量大小,報警閾值包括最低電平(-35db)、最高電平(-4db)。相位檢測主要是監控左右聲道的相關系數,并進行歸一化處理,報警閾值設置為-1~-0.7和1~0.7,當相關系數落在閾值范圍內并持續一定時間,就生成一條報警信息。斷線檢測主要是監控數據流的網絡延時時間。系統參數根據網絡環境,服務器存儲、CPU等資源進行設置。如果閾值太嚴格,數據流稍微有一點偏差,就會報警,導致管理人員疲于應付,但閾值設置太寬松,就達不到自動監控的目的,因此在設置閾值時,需要多次試驗,反復修改,獲得理想的閾值參數。
報警處理系統中,報警信息根據不同的緊迫程度,指定不同級別的管理人員。例如:斷線報警定義為重要級別、電平過低等定義為中等級別、相位反相定義為輕微級別。報警管理人員分為技術管理和節目管理等兩大類,技術管理主要負責網絡傳輸等基礎網絡通路的維護,節目管理負責節目電平、相位等內容質量監控。系統中設置的報警管理人員電話、郵箱等。通過短信、電話和郵件,將報警信息分發給不同的管理者。當故障長時間未得到解決時,可以定義重復發送等。
短信模塊通過短信平臺的服務接口,將報警信息通過短信平臺發送給相應的管理者。短信平臺可以自行建設,也可以租用電信服務商的短息平臺。郵件處理模塊主要負責將報警信息以郵件形式發送給管理者。其中發件人的郵箱地址、郵箱密碼和管理者的郵箱地址,設置在系統數據庫中。
綜上所述,數據流監控平臺是一個復雜的工程,不但要涉及到HLS/RTMP協議的解析、數據的解碼、節目電平和左右聲道相關系數計算、短信平臺接口和郵箱控制等各個流程環節,而且還需要考慮網絡環境、服務器存儲、CPU等設備的性能,進行最佳的監控參數調整。本文提出了東方傳媒集團有限公司目前采用的系統方案,僅供今后進行數據流監控平臺作參考。