(1)调用swf文件
<script type="text/javascript">videojs.options.flash.swf = "player/video-js.swf"</script>
(2)配置初始化参数
<!-- data-setup{}可以控制播放器的一些功能;autoplay:true/false,是否自动播放;preload:auto\none\meta,自动加载\不加载\加载元数据 -->
<video id="videoPlayer" class="video-js vjs-default-skin vjs-big-play-centered"
controls preload="auto" poster="img/eguidlogo.png" width="640" height="360"
data-setup='{ "html5" : { "nativeTextTracks" : false } }'>
<source src='rtmp://192.168.30.21/live/' type='rtmp/flv' />
</video>
如果播放的是普通视频,需要修改<source src='视频地址' type='video/mp4或者video/flv'/>
type里面放 ‘ video/视频格式 ’ 即可
(3)创建播放器实例
//播放器实例
var player = videojs('videoPlayer')
2、videoJS常用api:
/*
* 根据videoJS官方文档编写的播放器常用操作
*/
//获取当前类型
function getCurrentType(idnex) {
return idnex.currentType()
}
//获取当前播放地址
function getCurrentAddr(index) {
return index.currentSrc()
}
//获取当前播放时间
function getCurrentTime(index) {
return index.currentTime()
}
//获取当前网络状态
function networkState(index) {
return index.networkState()
}
//修改播放地址
function setsrc(index, url, type) {
index.src({
type : type,
src : url
})
}
//重载播放器
function reset(index) {
index.reset()
index.load()
}
//播放
function play(index) {
index.play()
}
//暂停
function pause(index) {
index.pause()
}
videojs的播放flv格式RTMP流需要浏览器运行flash插件,但是chrome现在已经不支持flash了,所以我们使用flvjs前端插件作为替代方案,并在流媒体服务器上加入了权限验证功能限制用户访问。
此方案是基于上一节中的方案进行的优化,所以没有提及的地方和原方案保持不变。
一. 在nginx中安装nginx-http-flv-module插件
有编译好的版本直接使用就行,然后修改nginx.conf文件。