楊 雄
(福州大學至誠學院,福建 福州 350002)
基于視頻轉碼與IP組播的網絡影院系統設計
楊 雄
(福州大學至誠學院,福建 福州 350002)
云教室方案是由“服務器+云終端+交換機+云教室管理平臺”組成,采用先進的云計算和虛擬化技術構建的云教室軟硬件一體化平臺,不僅能夠滿足各種教學軟件的授課要求,還可以滿足流暢播放高清視頻的教學要求。其中的“網絡影院”就是可以讓老師在教師機上通過VLC播放媒體文件,學生在云終端上不必下載視頻文件就可以實時流暢觀看到該視頻。文章利用VLC的實時視頻轉碼和組播功能,并結合云終端Linux系統的GStreamer流媒體播放框架構建的網絡影院系統,不僅能夠支持720P高清視頻的流暢播放,而且對視頻源格式無限制,從而擴大了云教室方案的應用場景。
云教室;網絡影院;VLC;視頻轉碼;IP組播
在授課當中老師經常需要向學生廣播視頻或向所有學生展示某個學生屏幕,如計算機課、實驗課。這是目前教學軟件中常用的功能??墒窃谠平淌襕1]場景中,由于學生桌面都是虛擬桌面,如果將音視頻發送給多個學生的虛擬桌面,會造成服務端壓力大,占用網絡帶寬高[2]。且由于虛擬桌面的解碼能力弱,會造成以下問題:(1)學生端播放不流暢;(2)教師端與學生端播放不同步。
本文提出的基于視頻轉碼與IP組播的網絡影院系統的創新點主要如下:(1)教師端采用標準RTP協議,利用局域網中路由器的組播功能,將音視頻流組播到客戶端,達到減少網絡流量的效果。(2)教師端基于VLC[3]開源播放器進行定制,包括定制播放器界面、優化編解碼參數、解決播放卡頓問題、支持1080P視頻。(3)編碼為標準H264流,容易兼容不同的學生端播放器,擴展性好。(4)將視頻流在本地采用硬解進行解碼、播放,以提高視頻的流暢。(5)在播放過程中加入自定義音視頻同步控制和低網絡延時處理,提高視頻播放體驗[4]。
本文提出的適用于云教室的網絡影院框架如圖1所示。
網絡影院中教師端使用的是VLC是VideoLAN公司出品的多媒體播放器,是一款自由、開源的跨平臺多媒體播放器及框架,在大多數平臺上支持硬件解碼功能,可播放大多數多媒體文件,以及DVD、音頻CD、VCD及各類流媒體協議。它能作為Unicast或Multicast的串流服務器在IPV4或IPV6的網絡上使用。
本文中所使用的VLC 2.1.5版,教師機使用的是Windows 7系統。通過對VLC源代碼的修改,使其不僅能夠支持打開文件播放時實時轉碼和組播服務器的功能,而且還能夠完成與客戶端之間的命令相互。在播放視頻文件時,將視頻格式轉換為統一720P大小、H.264壓縮的視頻,然后再進行組播,如此能夠支持不同的視頻格式。

圖1 云教室網絡影院框架
學生端的云終端[5]操作系統是基于ARM的嵌入式Linux系統,其上的網絡影院客戶端基于GStreamer[6]流媒體播放框架實現[3]。GStreamer是一款功能強大的通用流媒體應用開發框架,采用基于插件和管道的體系架構,能夠實現插件間的無縫融合,為媒體播放器的開發提供了極大的便利。該云終端的硬件平臺為Hi3716CV200,它能夠支持GStreamer的框架的視頻硬解碼功能,能夠支持1080P的H.264的視頻硬解碼,完成能夠滿足組播的720P的H.264視頻格式。但由于目前的云終端方案中一般是使用百兆或千兆網絡,1080P視頻對網絡帶寬要求較高,而且720P高清視頻已經能夠滿足實際的需求,所以在實際方案中僅使用720P高清視頻,但如果局域網硬件升級,能使用G級網絡,那也可以通過修改網絡影院服務端的配置文件即可支持1080P高清視頻。采用基于ARM的云終端,與X86云終端相比,不僅同樣能夠支持720P高清視頻的流暢播放,而且降低了接近50%的硬件成本。
網絡影院服務端需要能夠在選擇文件播放時將其進行轉碼后再通過UDP廣播播放,流程如圖2所示。

圖2 網絡影院服務端視頻播放流程
關鍵參數為:

其功能為將視頻轉碼為H264格式,視頻大小為1280x720,幀率為25.同時將視頻輸出復制為屏幕和udp廣播,組播地址和端口為:239.1.1.1:5004。
GStreamer是一個創建媒體應用程序的框架,其主要用途是構建媒體播放器。GSstreamer是基于插件的,具有任何符合規范的插件都可以方便地插入已定義的數據流管道的優點,因此,可以簡化媒體播放器的開發流程,提高可移植性。
一個典型的基于GStreamer的媒體播放器如圖3所示。
云終端的gst-plugins-base組件包內內置了硬件解碼插件hicodec,并且修改了xvimagesink插件以支持視頻從SDK的VO模塊輸出。
網絡客戶端的播放流程如圖4所示。
本文提出的一種基于云教室場景下實現網絡影院流暢播放的方法,利用局域網中路由器的組播功能,將音視頻流組播到學生端,從而減少網絡流量;教師端基于VLC開源播放器進行定制,包括定制播放器界面、優化編解碼參數,教師端的編碼采用標準H264流;將要播放的視頻流在學生端采用硬件進行解碼;同時在播放過程加入音視頻同步控制播放。該方法解決云教室下網絡影院播放720P高清視頻流暢度低的問題,實現學生端播放流暢以及教師端和學生端音視頻實時同步。

圖3 GStreamer媒體播放器框架

圖4 網絡客戶端的播放流程
[1] 賀媛婧.“云教室”應用模式探討[J].軟件導刊,2015(5):199-201.
[2] 郭庚雄.高清視頻在“云教室”的應用[J].計算機光盤軟件與應用,2014(10):221-222.
[3] 呂鵬,李莎.構建基于VLC的網絡電視直播系統[J].電腦知識與技術,2009(7):1705-1706.
[4] 魏紅宇.海洋環境信息云計算身份認證技術研究[D].青島:中國海洋大學,2011.
[5] 葉競,葉水勇,陳清萍,等.云終端技術研究與系統建設[J].電力信息與通信技術,2015(5):77-82.
[6] 孟凡飛,劉金海,吳宗澤.基于GStreamer的嵌入式流媒體播放器的設計[J].微計算機信息,2010(20):31-32.
Design of network cinema system based on video transcoding and IP multicast
Yang Xiong
(Fuzhou University Zhicheng College, Fuzhou 350002, China)
The cloud classroom program is composed of “server + cloud terminal + switch + cloud classroom management platform”,the use of advanced cloud computing and virtualization technology to build cloud classroom software and hardware integration platform,not only to meet the teaching requirements of a variety of teaching software, but also to meet the smooth playback of high-de fi nition video teaching requirements. One of the “Internet Cinema” is that teachers can use VLC to play media fi les on the teacher’s machine, and students can watch the video in real time in real time without having to download video fi les on the cloud terminal. In this paper, we use VLC’s real-time video transcoding and multicasting capabilities, combined with GStreamer streaming media playback framework of cloud terminal Linux system to build a network theater system that not only supports smooth playback of 720P HD video but also unlimited video source format expand the cloud classroom program scenarios.
cloud classrooms; network cinema; VLC; video transcoding; IP multicast
楊雄(1986— ),男,福建莆田人,高級工程師,碩士;研究方向:云計算,嵌入式應用。