主要内容让rtmp或hls的协议流直播视频能在html页面正常显示(这里也是综合参考了网上其余的资料,最终放出下面这些实测可用的方案)。
首先是HLS协议流, 这种是播放m3u8格式的视频。
解决方案:
新建html页面, testHls.html (里面的视频地址我已经改了,请替换成自己的地址):
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>前端播放m3u8格式视频</title>
<link rel="stylesheet" href="videoplayer/video-js.css">
<script src="videoplayer/video.js"></script>
</head>
<body>
<video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" width="1080" height="708" data-setup='{}'>
<source src="http://pili-live-hlsxxxxxxxxx.m3u8" type="application/x-mpegURL">
</video>
</body>
<script>
var myVideo = videojs('myVideo',{
bigPlayButton : true,
textTrackDisplay : false,
posterImage: false,
errorDisplay : false,
})
myVideo.play() // 视频播放
myVideo.pause() // 视频暂停
</script>
</html>
注意静态资源的加载路径,我是用了个springboot项目作为测试,我的路径是:
然后随便写个接口跳转到该页面,展示效果,视频正常播放:
接下来是 RTMP协议流直播视频。
解决方案:
使用的是静态资源:
新建html页面,testPlayer.html:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="rtmpplayer/flowplayer-3.2.8.min.js"></script>
<title>FlowPlayer</title>
</head>
<body>
<!-- this A tag is where your Flowplayer will be placed. it can be anywhere -->
<a
href="#"
style="display:block;width:1040px;height:660px"
id="player">
</a>
<!-- this will install flowplayer inside previous A- tag. -->
<script>
var urls = "rtmp://pilxxxxxxxx0xxxxx";
flowplayer("player", "rtmpplayer/flowplayer-3.2.18.swf",{
clip: {
url: urls,
provider: 'rtmp',
live: true,
},
plugins: {
rtmp: {
url: 'rtmpplayer/flowplayer.rtmp-3.2.8.swf',
netConnectionUrl: urls
}
}
});
</script>
</body>
</html>
然后随便写个接口跳转到该页面,展示效果,视频正常播放:
好,到此。