Video.js使用教程(二)

在上一篇文章中已经记述了video.js的使用,没看到的童鞋请点击这里观看,所以在这一篇中就主要是说说遇到的一下问题,及怎么兼容rtmp和hls。

1、播放rtmp流提示No compatible source was found for this media

这是你的浏览器没有开启flash的原因,只要将flash开启就好了,具体操作看下图:

将2步骤处点击后更改为允许,在刷新页面就好了。

2、RTMP协议直播源---香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks播放会黑屏问题

将直播源更改为:

rtmp://live.hkstv.hk.lxdns.com/live/hks1
rtmp://live.hkstv.hk.lxdns.com/live/hks2

3、同时兼容rtmp和hls两种媒体流

这个根据每个人使用的video.js的版本不同来解决,在解决这两个问题之前看一下我上一篇博客中补充说明这段话:

1、对于Video.js 5.x及更低版本,Flash技术是Video.js核心存储库的一部分。对于Video.js 6.x及更高版本,Flash技术位于单独的存储库中。videojs-flash.js插件只与Video.js> = 6.0.0一起使用,因为之前的flash技术已构建到版本中! video.js不能直接播放rtmp流,需要videojs-flash.js 这个插件。

2、对于播放HLS视频,在videojs7版本之前要引用videojs-contrib-hls.js插件才能播放。videojs7版本之后的,Video.js默认捆绑VHS(VHS是videojs-contrib-hls的继承者。它是一个源自videojs-contrib-hls存储库的源处理程序。虽然videojs-contrib-hls最初设计用于在所有浏览器上添加HLS播放,但我们意识到引擎也可以播放其他格式,所以videojs-contrib-hls这个项目已经被弃用,被videojs-http-streaming继承)。默认情况下,在Video.js 7及以上版本中已经集成Videojs HTTP Streaming(昵称为VHS),不必使用videojs-http-streaming插件就可以播放HLS,DASH和未来的HTTP流媒体协议视频。

注意:

1.对于Video.js 7之前的版本(明确说是6版本的),必须使用videojs-http-streaming.js插件才可以播放HLS,DASH和未来的HTTP流媒体协议视频,即使它们不是本机支持的。

2.VHS支持HLS和DASH和未来的HTTP流媒体协议。

在网上看了很多试了一下都是无法播放的,最终经过不懈努力搞到了可以兼容的并且亲测能播放:

video.js_5.18.4版本,附带videojs-contrib-hls.js:https://download.csdn.net/download/little__superman/11108903

video.js_7.1.0版本,附带videojs-flash.js :https://download.csdn.net/download/little__superman/11108928

4、处理hls(m3u8格式)不能播放出现跨域访问问题

有时使用vedio.js的5.18.4s在处理hls(m3u8格式)视频源时提示:已拦截跨源请求:同源策略禁止读取位于XXX的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin’)

No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 
这里写图片描述

解决方法:在nginx服务器的中修改nginx.conf文件,在location /hls模块下添加add_header Access-Control-Allow-Origin *; 

也可以点击下载博主提供的video.js5.18.4版本的库试一下,这个博主都是亲自测试通过的。

location /hls {
    add_header Cache-Control no-cache;
    add_header 'Access-Control-Allow-Origin' '*' always;#关键配置
    add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    add_header 'Access-Control-Allow-Headers' 'Range';
    types{
        application/x-mpegURL m3u8;#关键配置
        video/mp2t ts;#关键配置
    }
    alias temp/hls;
    expires -1;
    add_header Cache-Control no-cache;
}

5、有的本地html页面打开播放不了

解决办法:需要本地服务器环境支持,自己搭建一个本地服务器然后扔进去再打开。

6、出现 code: 4, message: "No compatible source was found for this media.错误

对vedio进行初始化有两种方式:1、在vedio标签里增加data-setup="{}"属性2、在vediojs全局函数里增加options配置属性,

解决办法:去掉video标签的data-setup="{}", 只保留js的初始配置

 

 

  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
video.js 是一款开的 HTML5 视频播放插件,使用简单强大。下面是 video.js使用教程大全: 1. 引入 video.js 文件:首先,在 HTML 页面中引入 video.js 的文件。可以使用 CDN 的方式引入,也可以将文件下载到本地并引入。 2. 创建视频播放器:在 HTML 页面中,添加一个 `<video>` 标签,指定视频地址。 3. 调用 video.js:使用 JavaScript 代码调用 video.js,将 `<video>` 标签转换为 video.js 播放器。代码如下: ``` var player = videojs('my-video'); ``` 其中,`my-video` 是 `<video>` 标签的 id。 4. 自定义播放器样式:可以通过 CSS 控制播放器的外观,修改颜色、字体等样式属性,以适应网站的设计需求。 5. 自定义播放器功能:video.js 提供了丰富的 API,可以根据需求对播放器进行自定义。例如,添加播放、暂停、快进、音量控制的按钮等。 6. 添加插件和功能:video.js 还支持添加各种插件和功能,增加播放器的功能性。例如,添加弹幕功能、字幕显示等。 7. 事件处理:video.js 通过触发各种事件来响应用户行为或播放器的状态变化。可以通过监听事件来实现相应的处理逻辑。 8. 媒体和格式:video.js 支持多种媒体和格式,包括 MP4、WebM、HLS 等。可以根据目标用户设备和网络环境选择最适合的格式。 9. 响应式设计:video.js 支持响应式设计,可以根据不同屏幕尺寸和设备自动调整播放器的布局和样式。 10. 浏览器兼容性:video.js 兼容各种主流浏览器,包括 Chrome、Firefox、Safari、IE 等。 以上是 video.js使用教程大全,希望这些信息对你使用 video.js 进行视频播放有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值