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的更多相关文章

  1. 修改node.js默认的npm安装目录

    转自https://blog.csdn.net/baijinwen/article/details/77961746 默认的安装路径:C:/用户/[用户名]/AppData/Roming/npm/no ...

  2. video.js视频播放插件

    1 初始化 Video.js初始化有两种方式. 1.1 标签方式 一种是在<video>标签里面加上class="video-js"和data-setup='{}'属性 ...

  3. 【转】如何修改 video 样式

    我们这里说的“修改 video 样式”并不是要自己实现一套 controls,而是尝试修改 video 的默认样式 隐藏全屏按钮 这个很容易查到 video::-webkit-media-contro ...

  4. 修改CKplayer.js 源码解决移动端浏览器全屏不能限制快进的问题

    原文地址:https://www.cnblogs.com/jying/p/9642445.html,转载请说明出处. 最近项目需要播放视频且限制未观看部分的快进功能,找了两款js插件ckplayer和 ...

  5. video.js播放rtmp

    项目中要用到rtmp直播和点播.要求:点播能够调整播放进度 开始用腾讯提供的播放器,老卡,画质差,很多时候播不出来,rtmp点播还不能快进. 后来用Wowza自带的flash rtmp播放器,有源码 ...

  6. 前端视频直播技术总结及video.js在h5页面中的应用

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12557070.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 目前有一个需求是在 ...

  7. Video.js随笔记

    下载与介绍 Video.js是一款web视频播放器,支持html5和flash两种播放方式.更有自定义皮肤,插件,组件,语言还有丰富的选项配置. 官网下载地址:https://videojs.com/ ...

  8. video.js

    1.github地址 2.常用API: class : video-js: video-js应用视频所需的风格.js功能,比如全屏和字幕. vjs-default-skin: vjs-default- ...

  9. video.js播放mp4文件

    HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC 参考网址 http://www.w3school.com.cn/html5/html_5_video.asp 视频格式 ...

随机推荐

  1. [P5348]密码解锁

    Description 给一个长度为 \(n\) 的数组 \(a[1\dots n]\) ,满足 \(\sum_{m|x}a[x] = \mu(m)\),求 \(a[m]\). \(n\le 10^{ ...

  2. CF682C Alyona and the Tree

    题意翻译 题目描述 给你一棵树,边与节点都有权值,根节点为1,现不停删除叶子节点形成新树,问最少删掉几个点,能使得最后剩下的树内,∀v与其子树内∀u间边权的和小于点u权值 输入输出格式 输入格式: 第 ...

  3. linux下安装msgpack,yar,phalcon

    安装msgpack扩展 下载:http://pecl.php.net/package/msgpack cd /usr/local tar zxvf msgpack-0.5.5.tgz cd msgpa ...

  4. 1、Java语言概述与开发环境——编译和运行第一个程序HelloWorld.java

    编写一个Java程序到运行的步骤概述: 1.将Java代码编写到扩展名为.Java的文件中 2.通过Javac命令对该Java文件进行编译 3.通过Java命令对生成的class文件进行运行 一.编写 ...

  5. 发布一本用 GitBook 编辑的书

    在上一篇的文章里,我们已经写好了一本名叫 erdong-first-book 的书,但是在本地浏览很不方便,我们希望放到网络上,可以随时.方便的访问这个书籍.这个需求可以使用多种方式来实现,比如第一种 ...

  6. [七月挑选]Tomcat使用命令行启动之指定jdk版本

    title: Tomcat使用命令行启动之指定jdk版本 准备好环境,jdk和tomcat. 主要步骤 1.找到Tomcat/bin/catalina.bat文件. 2.在文件前端添加如下. set ...

  7. docker持久化之存储卷

         启动时敲:   docker run -it -v /var/mydata:/abc myos   #前面写真实机里的文件夹,冒号后面写docker里面的文件夹,最后写镜像名 (可以同时挂载 ...

  8. ubuntu 系统问题总结

    一.主题问题 高分辨率显示可能会造成虚拟机中的显示很小,需要调整合适的显示比例.但是 ubuntu 18.04 中的 display 的 scale 只能调整 100% 300%,可能使用 gnome ...

  9. java代码实现H5页面

    public void getH5(HttpServletResponse response){ StringBuffer res=new StringBuffer(); res.append(&qu ...

  10. 如何提高SMTP邮件的安全性?从而不被黑客窃听

    简单邮件传输协议(SMTP)用于在邮件服务器之间进行邮件传输,并且传统上是不安全的,因此容易被黑客窃听.命名实体的基于DNS的认证(国家统计局)用于SMTP提供了邮件传输更安全的方法,并逐渐变得越来越 ...