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

最新文章

  1. Lind.DDD.LindMQ~关于持久化到Redis的消息格式
  2. speech recognition resource
  3. java多线程之hashmap concurrenthashmap的状态同步
  4. [LintCode] Intersection of Two Arrays 两个数组相交
  5. python日志模块
  6. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
  7. 夺命雷公狗—angularjs—2—模拟表单验证
  8. Ubiquitous Religions 分类: POJ 2015-06-16 17:13 11人阅读 评论(0) 收藏
  9. BZOJ 1093 最大半连通子图
  10. Java排序
  11. hdu 1973 Prime Path
  12. kafka迁移与扩容
  13. 初识MFC,WinForm,WPF,Q&#39;t
  14. 【Android】使用persist属性来调用脚本文件
  15. Android开发系列之调用WebService
  16. 01-复杂度2. Maximum Subsequence Sum (25)
  17. ISO C Random Number Functions
  18. zookeeper常用sehll命令
  19. 第八章 关于SQL查询出错的一些问题
  20. 调试bootmgr&amp;winload vista&amp;win7 x86&amp;x64

热门文章

  1. 用了 10 多年的 Tomcat 居然有bug !
  2. IDEA导入Junit jar包,在JavaSE的Module中使用Junit测试
  3. P1622释放囚犯
  4. [pwnable.kr] - wtf
  5. CVE-2016-8655,af_packet Linux 內核通殺提權漏洞淺析
  6. 在.NET使用Newtonsoft.Json转换,读取,写入json
  7. phpstorm配置成sublime的代码高亮逼格风格
  8. XMPP实现原理
  9. vue + nginx部署404
  10. 点击链接跳转到QQ的情况; qq交谈