朱迅
淮安信息職業技術學院
基于樂視云計算的校園視頻直播和點播系統開發
朱迅
淮安信息職業技術學院
大視頻時代,越來越多的校園活動需要以視頻作為載體。文章基于樂視云計算平臺,采用html5等技術開發校園視頻直播和點播系統。播客可以使用手機進行移動直播或PC進行云直播,直播完成后可錄制和編輯轉換為視頻點播;觀眾可以通過web網站或者手機應用觀看直播和點播。系統功能完善,操作方便,界面美觀,適合校園師生使用。
云計算;移動直播;html5
大視頻時代,越來越多的信息需要以視頻為載體,而各類校園活動也迫切需要進行直播和點播。同時移動互聯技術的發展,使得手機可以作為直播錄制和觀看的終端。
基于樂視云計算的“Vaas”(Video as a Service,視頻即服務)技術,即可使用手機進行移動直播或者使用PC攝像頭進行云直播,視頻直播完成后可進行錄制和編輯轉換為視頻點播。所有視頻文件保存在樂視云服務器上,不需要購買和部署視頻服務器。
樂視云(www.lecloud.com)能夠為視頻提供存儲和計算服務。播客根據樂視云提供的關鍵參數(包括推流域名、發布點、簽名秘鑰、直播流名稱等)進行直播推流,如圖1所示;觀眾使用rtmp協議指向樂視云視頻URL進行觀看,并在直播完成后將視頻文件保存在樂視云上便于點播。
為了能夠方便用戶查找和觀看視頻,需要開發校園視頻網站web端和app端。web端和app端連接到同一數據庫,用戶通過web端或app端可以看到當前有哪些可以觀看的直播和點播視頻,點擊選中的視頻即打開播放器,播放器根據視頻的相關參數播放樂視云上的視頻。

圖1 樂視云移動直播推流參數

圖2 系統設計框架
為了方便編輯和更新視頻信息,還需要開發管理端,通過管理端可以方便的對數據庫進行操作,實現各類視頻參數的添加、編輯、刪除等。
綜上所示,系統設計框架如圖2所示。
2.1 播客端
播客可以通過手機app進行移動直播推流,即將拍攝的視頻圖像通過rtmp協議實時傳送給樂視云。用戶在App中填寫從樂視云獲取的直播活動參數(圖3),即可開始直播推流(圖4)。

圖3 移動直播推流參數

圖4 移動直播推流
關鍵代碼如下:
String tm=format.format(new Date());//生成當前時間
String streamName=etStreamId.getText().toString().trim();
String domainName=etDomainName.getText().toString().trim();
String appkey=etAppKey.getText().toString().trim();
//從用戶界面獲取流名稱,推流域名,簽名密鑰三個參數
String sign=MD5Utls.stringToMD5(streamName+tm+appkey);
//根據流名稱、時間、簽名密鑰用MD5算法加密,生成推流的簽名,防止盜鏈
String
rtmpURL="rtmp://"+domainName+"/live/"+streamName+"?tm= "+tm+"&sign="+sign;//生成rtmp推流地址
recorderSkinMobile.setPushSteamUrl(pushSteamUrl);//綁定樂視recorder
播客也可以使用PC攝像頭進行云直播,安裝Flash Media Live Encoder等免費推流軟件,導入從樂視云獲取的云直播配置XML文件,即可通過攝像頭進行直播,如圖5所示:

圖5 云直播推流
直播推流完成后,可以在樂視云中將指定時間段內的直播視頻轉換為點播視頻,如圖6所示:

圖6 直播完成后錄制為點播視頻
2.2 觀眾端
基于html5、javascript和php開發web端校園視頻門戶,便于用戶觀看直播和點播。如圖7-圖9所示,其關鍵技術是將直播和點播的關鍵參數傳遞給樂視html5播放器,播放器使用相關流媒體協議進行播放。

圖7 觀眾web端主頁

圖8 觀眾web端移動直播列表
播放器部分關鍵代碼如下:
<script type="text/javascript"charset="utf-8"
src="http://yuntv.letv.com/player/vod/bcloud.js">//調用樂視播放器js庫
var player=new CloudVodPlayer();//創建樂視播放器
var playerConf={uu:"cfd9191aeb",vu:"79ff602f42",'width':' 100%','height':'100%'};//創建播放器配置,其中uu為樂視用戶ID,vu為樂視視頻ID
player.init(playerConf,"player");//播放器配置初始化
</script>
從以上代碼可以看出,樂視播放器基于html5開發,相比于大多數基于flash開發的播放器,其優點是web端和app端均可使用,而且用戶不需安裝瀏覽器插件。因此可以基于該段代碼開發手機app,如圖10-11所示:

圖10 觀眾app端主界面

圖11 觀眾app端播放器
2.3 管理端
為了管理和維護方便,觀眾web端和app端連接到同一數據庫,并基于DedeCMS開發了web后端,便于修改各直播間和點播視頻的相關參數。如圖12-圖13所示:

圖12 管理端直播列表頁面

圖13 管理端直播參數頁面
基于樂視云計算平臺開發的校園視頻直播和點播系統,可以使用滿足大多數情況下的校園視頻應用,例如文娛活動、體育比賽、課堂教學、講座會議等,特別是其中的移動直播功能適應了移動互聯的發展趨勢,使校園中的每個人都可以使用移動終端成為播客和觀眾。
[1]鄭靜靜等.基于Flex、Red5和MongoDB的視頻直播、錄制及存儲系統設計[J].計算機應用,2014,34(2):589-592.
[2]彭宏等.基于流媒體的移動視頻直播系統的設計與實現[J].電子技術應用,2014,(9):111-113.
[3]樂視云.樂視云計算API[EB/OL].http://www.lecloud.com/zhcn/help/api.html,2016.
[4]彭納新,支援.HTML5應用開發與實踐[M].北京:人民郵電出版社,2016.
朱迅(1980-),男,漢族,講師,碩士,淮安信息職業技術學院現代教育技術中心,研究方向:軟件開發及應用。