朱迅
淮安信息职业技术学院
基于乐视云计算的校园视频直播和点播系统开发
朱迅
淮安信息职业技术学院
大视频时代,越来越多的校园活动需要以视频作为载体。文章基于乐视云计算平台,采用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-),男,汉族,讲师,硕士,淮安信息职业技术学院现代教育技术中心,研究方向:软件开发及应用。