修改 video.js 默认 bufferTime
1、自建rtmp推流、转发、播放,前端用video.js 发现总延时在2秒多,服务器已优化,看看video.js能否优化
2、引用:在RTMP播放器侧,很重要的一点是:在 NetStream.setBufferTime() 方法中讲参数设置为0(在Actionscript 3上,请使用"NetStream.bufferTime = 0;")。 这将让你的播放器获得最低的延时效果。
3、没找到可配的参数,找到个小鬼子说是写死的:https://plaza.rakuten.co.jp/pirorin55/diary/201610080004/
4、查看swf源码发现video.js 的bufferTime确实是写死的,默认bufferTime为1秒(swf播放http的默认是 0.5s)。查看源码:
video.js swf 文件源码地址:https://github.com/videojs/video-js-swf/tree/master
文件路径:src\com\videojs\providers\RTMPVideoProvider.as
源码:443行, _ns.bufferTime = 1;
5、修改编译(配置好nodejs环境(cnpm最新)、java环境(openjdk 1.6),cd到源码根目录,然后只需两步):
Install Node Packages.
$ cnpm install Compile SWF. Development (places new SWF in /dist/):
$ grunt mxmlc
然后去/dist/目录下找swf文件。
----------------------------------------------------------------
编译报错:
1、grunt mxmlc 错误,最大错误,不熟悉mxmlc这东西,浪费好久时间搞定
$ grunt mxmlc
Running "mxmlc:videojs_swf" (mxmlc) task
>> Error: Command failed: /root/soft/video-js-swf/node_modules/_flex-sdk@4.6.-@flex-sdk/lib/flex_sdk/bin/mxmlc -output dist/video-js.swf -define=CONFIG::version, "5.4.1" -- src/VideoJS.as
>> /root/soft/video-js-swf/node_modules/_flex-sdk@4.6.-@flex-sdk/lib/flex_sdk/frameworks/flex-config.xml(): Error: unable to open 'libs/player/11.1/playerglobal.swc'
>>
>> </external-library-path>
Warning: FAILED Use --force to continue. Aborted due to warnings.
主要原因是找不到:libs/player/11.1/playerglobal.swc
去此处下载对应版本的playerglobal.swc文件:https://github.com/nexussays/playerglobal
放在对应路径下,发现还是报错,直接修改对应xml文件,将swc文件路径改为绝对路径:
vim /root/soft/video-js-swf/node_modules/_flex-sdk@4.6.-@flex-sdk/lib/flex_sdk/frameworks/flex-config.xml
找到:<path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
修改为绝对路径:
<path-element>/root/soft/video-js-swf/libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
编译通过。
2、其它错误都是小错了,npm错误,换cnpm。
这是作者编译的:原版1秒,编译的0.01秒,编译的0.1秒的video-js.swf (video-js-5.20.1版本亲测没问题),下载地址:
https://download.csdn.net/download/dwj192acm/10476237
修改 video.js 默认 bufferTime的更多相关文章
- 修改node.js默认的npm安装目录
转自https://blog.csdn.net/baijinwen/article/details/77961746 默认的安装路径:C:/用户/[用户名]/AppData/Roming/npm/no ...
- video.js视频播放插件
1 初始化 Video.js初始化有两种方式. 1.1 标签方式 一种是在<video>标签里面加上class="video-js"和data-setup='{}'属性 ...
- 【转】如何修改 video 样式
我们这里说的“修改 video 样式”并不是要自己实现一套 controls,而是尝试修改 video 的默认样式 隐藏全屏按钮 这个很容易查到 video::-webkit-media-contro ...
- 修改CKplayer.js 源码解决移动端浏览器全屏不能限制快进的问题
原文地址:https://www.cnblogs.com/jying/p/9642445.html,转载请说明出处. 最近项目需要播放视频且限制未观看部分的快进功能,找了两款js插件ckplayer和 ...
- video.js播放rtmp
项目中要用到rtmp直播和点播.要求:点播能够调整播放进度 开始用腾讯提供的播放器,老卡,画质差,很多时候播不出来,rtmp点播还不能快进. 后来用Wowza自带的flash rtmp播放器,有源码 ...
- 前端视频直播技术总结及video.js在h5页面中的应用
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12557070.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 目前有一个需求是在 ...
- Video.js随笔记
下载与介绍 Video.js是一款web视频播放器,支持html5和flash两种播放方式.更有自定义皮肤,插件,组件,语言还有丰富的选项配置. 官网下载地址:https://videojs.com/ ...
- video.js
1.github地址 2.常用API: class : video-js: video-js应用视频所需的风格.js功能,比如全屏和字幕. vjs-default-skin: vjs-default- ...
- video.js播放mp4文件
HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC 参考网址 http://www.w3school.com.cn/html5/html_5_video.asp 视频格式 ...
随机推荐
- glVertexAttribPointer 顶点数据解析方式
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0); 第一个参数指定从索引0开始取数据,与顶点着色器中layout(location=0)对应. ...
- js中箭头函数 及 针对箭头函数this指向问题引出的单体模式
ES6允许使用“箭头”(=>)定义函数 var f = a = > a //等同于 var f = function(a){ return a; } 如果箭头函数不需要参数或需要多个参数, ...
- APP登录时Token认证过程
1.App登录Token登录机制: 一般第一次安装App后,会让你进行注册后登录,而只要登录成功后,以后的每次启动App都是登录状态, 不需要每次启动时再登录.但有些App你若长期没有启动,它会提示你 ...
- Apache与Tomcat联系及区别??
Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行.Apache是Web服务器而Tomcat是Java应用服务器. A ...
- STM32F407 正点原子按键输入实验
库函数版本: 库函数 源文件 头文件 GPIO_Init(GPIOE, &GPIOE_initstructure) stm32f4xx_gpio.c stm32f4xx_gpio.h RCC_ ...
- 05java基础
1.BigInteger和BigDecimal类 package cn.jxufe.java.chapter5.demo01; import java.math.BigInteger; public ...
- web框架-(一)初识web框架
一.web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...
- JS监听浏览器标签页的显示与隐藏
/** * 监听浏览器标签页的显示与隐藏 */ class ListenerPageVisibility { constructor () { // 设置隐藏属性和改变可见属性的事件的名称 this. ...
- DDD领域驱动设计初探(五):AutoMapper使用
前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...
- 前端之JavaScript:JS之DOM对象一
js之DOM对象一 一.什么是HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 ...