EasyDSS是TSINGSEE青犀視訊雲邊端架構中支援RTMP協定前端裝置的視訊直播點播平台,除了網頁直播和點播外,也支援視訊錄像,錄像一般根據錄像計劃設定即可。
EasyDSS 錄像回看頁面中,會實時生成所有錄像的封面快照,該功能在錄像非常多的情況下,會生成大量的快照,導緻伺服器cpu達到 100%,最終系統背景崩潰,無法運作。
是以我們需要對該代碼進行優化調整,以前的代碼邏輯是接收前端請求,則進行截圖操作,這樣背景會開啟 n 個截圖程序,導緻 cpu 飙高,是以優化在隊列中進行切圖操作。
首先在初始化快照子產品的時候,建立一個 gSnapChan 通道,當通道中有新的切圖資訊後,則進行切圖操作。參考代碼如下:
添加到隊列中的代碼如下:
以上代碼以前并未添加 time.Sleep(1 * time.Second),實際使用過程中發現,仍然會導緻 cpu 突然飙高。在大量資料運作的時候,确實出現飙高的操作,是以添加适當的沉睡時間,解決突然飙高一段時間的問題。
EasyDSS視訊直播/點播服務平台誕生至今,我們做了不少版本的功能更新和更新,除EasyDSS外,TSINGSEE青犀視訊全線産品均有示範平台供參考,使用者可以進入示範平台閱覽界面,也有測試版本供大家下載下傳測試,若大家有興趣可以聯系我們進行測試。