修改 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
最新文章
- Lind.DDD.LindMQ~关于持久化到Redis的消息格式
- speech recognition resource
- java多线程之hashmap concurrenthashmap的状态同步
- [LintCode] Intersection of Two Arrays 两个数组相交
- python日志模块
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
- 夺命雷公狗—angularjs—2—模拟表单验证
- Ubiquitous Religions 分类: POJ 2015-06-16 17:13 11人阅读 评论(0) 收藏
- BZOJ 1093 最大半连通子图
- Java排序
- hdu 1973 Prime Path
- kafka迁移与扩容
- 初识MFC,WinForm,WPF,Q&#39;t
- 【Android】使用persist属性来调用脚本文件
- Android开发系列之调用WebService
- 01-复杂度2. Maximum Subsequence Sum (25)
- ISO C Random Number Functions
- zookeeper常用sehll命令
- 第八章 关于SQL查询出错的一些问题
- 调试bootmgr&;winload vista&;win7 x86&;x64
热门文章
- 用了 10 多年的 Tomcat 居然有bug !
- IDEA导入Junit jar包,在JavaSE的Module中使用Junit测试
- P1622释放囚犯
- [pwnable.kr] - wtf
- CVE-2016-8655,af_packet Linux 內核通殺提權漏洞淺析
- 在.NET使用Newtonsoft.Json转换,读取,写入json
- phpstorm配置成sublime的代码高亮逼格风格
- XMPP实现原理
- vue + nginx部署404
- 点击链接跳转到QQ的情况; qq交谈