戴洵
摘 ?要 ?隨著物聯網技術和互聯網技術的發展,視頻遠程傳輸和處理的相關業務越來越常見,尤其是在線電影播放、遠程視頻非線性編輯等業務,更是對視頻傳輸速度、清晰度、通道數等指標提出了更高的要求。文章以阿里云服務器為平臺搭建流媒體服務器,實現了全終端的視頻下載、高清傳輸、在線播放、云編輯等功能,具有較強的工程實用性。
關鍵詞 ?阿里云;高清視頻;多路傳輸;云端編輯
中圖分類號 ?G2 ? ? ?文獻標識碼 ?A ? ? ?文章編號 ?2096-0360(2019)04-0023-02
傳統的視頻服務器必須依靠一定的硬件資源才能實現,并且需要向網絡運營商購買帶寬和分配IP,費時費力[1]。云服務器的出現,實現了較為成熟的云存儲體系,并且視頻服務器也逐漸向云端轉移[2]。然而,將在線視頻編輯服務從本地實體服務器遷移到云端服務器仍然是業內面臨的一個難題[3]。本文將對基于云端的視頻傳輸和在線編輯等問題進行深入的研究。
1 ?總體設計方案
本系統是基于阿里云的高清視頻多路傳輸,采用了H.265視頻標準,可以為安防監控、遠程編輯、廣電系統、互聯網視頻等應用提供高速傳輸服務。首先,前端的各種圖像采集設備實時采集目標區域的視頻圖像,然后通過網絡發送至阿里云平臺上的流媒體服務器上,用戶通過各種終端、手機、客戶端、網頁等可以實現視頻的讀取、轉發、編輯等功能。由于云服務器處于整個系統的核心,因此視頻的前端采集和視頻后端處理互不影響,可獨立進行。系統整體框架如圖1所示。
在本系統中,攝像頭采集到視頻圖像后首先進行H.265編碼,接著進行RTMP封裝并傳輸到云端服務平臺并存儲起來。用戶可以通過客戶端軟件對云端的視頻資源進行請求,視頻資源經過相反的過程傳輸到本地計算機。用戶也可以通過遠程的方式對云端服務器的視頻資源進行編輯制作,充分利用阿里云的高速計算能力和大數據處理技術。
2 ?系統模塊設計
2.1 ?前端視頻采集單元設計
視頻采集設備處于整個系統的前端,支持多種采集方式,例如互聯網領域的智能機、攝像頭和廣電圖像的SDI、HDMI,可以完成視頻信息的實時采集,視頻數據由Hi3516D進行處理器。為了降低時延并提高壓縮率,系統前端采用了H.265硬編碼的方式,分別由視頻編碼層和網絡提取層來實現。前端視頻數據到用戶本地的傳輸采用了推送模式,因為推送模式對網絡環境的要求更低,避免了拉取模式要求的固定IP、穩定公網環境等苛刻要求。為了滿足后期系統的擴展,本系統還預設了電源接口、RJ45網線接口、紅外信號接口和紅外濾光接口等常用擴展接口。
2.2 ?云端流媒體服務器設計
云端流媒體服務器設計的關鍵點和難點在于在線播放和在線編輯功能,而在線編輯功能也是以在線播放為基礎的。從目前的技術來看,一般可以選擇兩種方式來實現在線播放:一是先將云端視頻資源下載到本地,直到視頻傳輸完成后再進行播放,這種方式的核心在于視頻高速傳輸;二是通過客戶端軟件與云平臺建立連接,然后服務器會以數據流的形式將用戶需要的資源傳輸給用戶。可見,第二種方式才是真正意義上的在線播放,由于這種方式又可以分為順序流傳輸和實時流傳輸兩種方案,其中前者采用標準HTTP服務器來傳輸數據,在點播領域有較廣泛的應用,但對于直播而言則無法滿足要求。因此本文采用實時流式傳輸,通過專用的傳輸協議來對現場的圖像進行實時傳輸,因而滿足在線編輯和現場直播的要求。
流媒體服務器基于阿里視頻云技術可以完成二次開發,對RTMP協議有很好的兼容性,也使第三方廠商的硬件接入更加方便,可以和前端采集硬件建立長連接。流媒體服務器底層技術采用FFMPEG,通過推模式發送碼流數據,實現高速傳輸。由于系統有多路傳輸的特殊需求,因此必須有一個標識可以區分各路數據,本文為每一路視頻數據都指定了一個唯一的URL鏈接。用戶只需通過客戶端訪問該URL,即可完成向服務器端請求數據的過程,數據經過RTMP協議傳輸到本地后,再進行解碼即可在線播放或轉發。為了支持多終端在線播放,云端流媒體服務器還設計了在線轉碼功能,通過RTMP上傳的視頻文件,經過FFMPEG轉碼、轉封裝后變為常見的HLS、FLV等格式,實現對多終端的兼容。
2.3 ?視頻播放客戶端設計
視頻播放客戶端安裝在用戶本地PC平臺上,它是基于開源流媒體播放器來開發設計的,一方面可以向云端服務器發送數據請求,并建立連接,另一方面還可以對云端返回的碼流進行接收、解包、解碼和播放。客戶端與前端采集單元相對應,支持HLS、FLV和RTMP等協議格式,可以實現多路碼流的同時傳輸和播放。顯然,除了傳輸系統的高性能要求之外,還需要客戶端具有較強的解碼能力,本系統采用了H.265視頻數據的軟解碼,由FFMPEG 完成客戶端所有視頻數據的解碼。客戶端可以由用戶將界面配置為多個小窗口,每個窗口對應一個URL地址,各窗口后臺線程分別向服務器請求相應的前端視頻圖像,最終實現多路視頻的采集、傳輸和播放。客戶端可以運行在智能手機、PC、OTT等多種終端系統上,視頻格式支持HLS、FLV、RTMP等多種常用格式。
3 ?多用戶同時在線編輯
為了擴展更多的應用場合,充分利用阿里云的強大計算功能和智能化服務,使系統進一步實用化,本系統還在客戶端中集成了在線編輯功能,并且支持多用戶同時在線操作,實現了視頻云編輯的功能。為了避免多用戶同時向服務器請求數據造成的網絡堵塞,本文采用流媒體服務器來對所有的在線編輯服務器進行統一管理,對計算資源進行合理分配。同時充分利用分布式系統的計算能力,采用分布式技術解決大規模并發用戶請求的難題。當大量客戶端同時發來在線編輯請求時,由流媒體服務器動態分配相應的計算機為其提供服務,各計算任務之間相互獨立,互不影響。當某個客戶端的在線編輯完成后,將自動釋放計算機資源,為其他用戶的計算提供了更多資源。這個方案雖然解決了多路傳輸的問題,但由于視頻是在云端進行編輯的,用戶無法像本次資源一樣隨意對視頻進行預覽,自然也很難知道編輯效果是否滿意。為此,充分利用了阿里云的人工智能服務,通過智能算法提取云端視頻圖像的邊緣輪廓,也就是關鍵幀和時間戳,由流媒體服務器將其傳回客戶端,使用戶可以對云端編輯視頻進行高保真度的預覽。為了記錄當前正在編輯的視頻文件和位置,采用集中式的拓撲索引服務器來動態記錄各進程的視頻編輯列表信息。
4 ?結束語
隨著互聯網的發展以及各種視頻傳輸業務的增長,視頻存儲已基本實現了較為成熟的云存儲體系,并且視頻服務器也逐漸向云端轉移。近年來,隨著云服務器性能和網絡傳輸技術的發展,各大互聯網企業開始關注視頻的云編輯功能,云端技術的發展正在經歷著一場前所未有的革命,并且推動著網絡視頻相關技術的不斷發展,基于云服務的視頻應用體系成為未來互聯網和人工智能的重要發展方向。
參考文獻
[1]大洋與松下簽署戰略協議 為視頻云端專業制作開啟新模式[J].現代電視技術,2018(4):160.
[2]覃東駿.區域性電視制作機構的EFP直播遠程制作實踐[J].數碼影像時代,2017(5):89-95.
[3]朱婕.全媒體時代“云”編輯模式研究[D].北京:中國科學技術大學,2014.