简介
Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源。它的工作原理是将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,然后通过 Media Source Extensions 将 MP4 片段喂进浏览器。
Github地址:https://github.com/Bilibili/flv.js/
flv.js demo地址:http://bilibili.github.io/flv.js/demo/
flv.js 文档:https://github.com/bilibili/flv.js/tree/master/docs

特征

  • FLV 容器,具有 H.264 + AAC 编解码器播放功能
  • 多部分分段视频播放
  • HTTP FLV 低延迟实时流播放 FLV 通过WebSocket 实时流播放
  • 兼容 Chrome, FireFox, Safari 10, IE11 和 Edge
  • 十分低开销,并且通过你的浏览器进行硬件加速

媒体数据源

媒体部分

配置

flv.js常用方法
1:flvjs.isSupported():判断当前浏览器是否支持播放
2:flvPlayer = flvjs.createPlayer(mediaDataSource: MediaDataSource, config?: Config):创建一个播放实例
3:flvPlayer.attachMediaElement(mediaElement: HTMLMediaElement):将播放实例注册到video节点
4:flvPlayer.load():加载数据流
5:flvPlayer.play():播放数据流
6:flvPlayer.pause():暂停播放数据流
7:flvPlayer.unload():取消数据流加载
8:flvPlayer.detachMediaElement():将播放实例从节点中取出
9:flvPlayer.destroy():销毁播放实例

flv.js简单使用
1:html

<video id="my-player" preload="auto" muted autoplay type="rtmp/flv"><source src="">
</video>

2:js
(1):在index.xml文件中引入flv.js

 <script src="./flv.js/flv.min.js"></script>

(2):使用flv.js实现播放flv格式流,获取video节点

videoElement = document.getElementById('my-player');
if (flvjs.isSupported()) {flvPlayer = flvjs.createPlayer({type: 'flv',                   //媒体类型url: 'XXXX'                     //flv格式媒体URLisLive: true,                   //数据源是否为直播流hasAudio: false,             //数据源是否包含有音频hasVideo: true,                 //数据源是否包含有视频enableStashBuffer: false        //是否启用缓存区},{enableWorker: false,            //不启用分离线程enableStashBuffer: false,      //关闭IO隐藏缓冲区autoCleanupSourceBuffer: true    //自动清除缓存});flvPlayer.attachMediaElement(videoElement);  //将播放实例注册到节点flvPlayer.load();                   //加载数据流flvPlayer.play();                    //播放数据流
}

(3):关闭视频流

flvPlayer.pause();                       //暂停播放数据流
flvPlayer.unload();                     //取消数据流加载
flvPlayer.detachMediaElement();         //将播放实例从节点中取出
flvPlayer.destroy();                    //销毁播放实例

flv.js解析与使用相关推荐

  1. (直播、监控)利用javacv解析rtsp流,转换为flv流,通过前端flv.js解析播放

    前情提要:之前利用websocket解析过https://blog.csdn.net/IT_CREATE/article/details/105625858?spm=1001.2014.3001.55 ...

  2. 开发那些事儿:在Flv.js前端播放器中解析并绘制H.264编码中的SEI信息

    流媒体中的SEI是指补充增强信息(Supplemental Enhancement Information),它提供了向视频码流中加入信息的办法,是H.264/H.265视频压缩标准的特性之一.SEI ...

  3. Flv.js全面解析

    Flv.js全面解析 常见直播协议 Flv.js概览 Flv.js结构图 架构图 功能 API文档相关 MediaDataSource的字段列表如下, Config flvjs.getFeatureL ...

  4. 以flv.js框架为基础,替换flv格式视频

    flv.js总结 这两个月来,开展这个flv.js项目学到的新东西还挺多的,从理解flv.js框架,到理解flv视频格式,到理解公司自己的视频格式,当每一步都理解后,整个过程是比较顺利的,下面是我对这 ...

  5. flv.js php,flv.js的使用详解

    这次给大家带来flv.js的使用详解,使用flv.js的注意事项有哪些,下面就是实战案例,一起来看一下. Bilibili相信大家都不会陌生,而 Flv.js 就是由 bilibili 网站开源的 H ...

  6. 流媒体方案,技术开源项目,包含Java调用FFMpeg(FFCH4J),推拉流服务器,nginx-http-flv-module,ckplayer,Flv.js,EasyPlayer.js集成

    文章目录 streaming_media 介绍 ckplayer拉流播放 软件介绍 功能介绍 软件架构 安装教程 使用说明 EasyPlayer.js拉流播放 简介 功能说明 集成使用示例 普通集成 ...

  7. 示例:使用 Flv.js 和 Reflv 播放视频

    1.背景 传统的播放视频是采用 flash 播放器方式,然而各大浏览器厂商都不再支持flash , 我们不得不寻找其他解决方案. 2.说明 2.1 Flv.js flv.js 是一个HTML5 Fla ...

  8. 整合SpringBoot + Nginx-http-flv-module + JavaCV(FFmpeg) RTSP推流,使用VUE + Flv.js播放

    目录 1.安装nginx-rtmp-module 2.Maven引入JavaCV包 3.编写Java核心代码 4.VUE安装video.js和flv.js 5.编写前端测试代码 6.运行效果 1.安装 ...

  9. 使用 Flv.js 和 Reflv 播放视频

    1.背景 传统的播放视频是采用 flash 播放器方式,然而各大浏览器厂商都不再支持flash , 我们不得不寻找其他解决方案. 2.说明 2.1 Flv.js flv.js 是一个HTML5 Fla ...

最新文章

  1. 干货,Wireshark使用技巧-过滤规则
  2. python语法基础学习-Python基础语法精心总结!看完都知道的可以往下继续学习了...
  3. webpack项目上传云服务器,webpack项目上传云服务器
  4. OpenGL Multi-Indirect Draw小行星的实例
  5. Remarkable启动遇到Spellchecking not enabled(没有解决)
  6. 如何构建自己的SIP SERVER!
  7. php 公众号验证回调方法_微信公众号关键词自动回复设置方法!
  8. cocos2d-x中使用Http
  9. php过滤微信特殊字符方案--》2017新版
  10. shell命令locate
  11. SpringCloud 中使用 Ribbon(默认轮询规则 + 自定义规则)
  12. HIMSS宣布 Healthcare IT News和MobiHealth News的国际扩张
  13. 电脑无法读取外接硬盘修复
  14. 码蹄集 - MT2095 · 曲径折跃
  15. 一个菜鸟学习R语言的历程(一)
  16. 学汇率规避风险知识做懂汇率的外贸人
  17. POJ3426 ACM Computer Factory——最大流(EK+输出路径)
  18. [Python随笔]暴力解解决“崩铁”的引航罗盘解密
  19. idea双击无反应,打不开的解决办法!
  20. pycharm 激活码2018年9月22日亲测有效

热门文章

  1. final的深入理解 - final数据
  2. Linux内核文件系统10
  3. 「津津乐道播客」#267 津津有味:冬天必须吃羊肉,没有为什么
  4. 电阻网络法DAC分析
  5. Python+pyGame 打砖块游戏
  6. big mac sur 免驱显卡_解决了升级macOS big sur后外置显卡坞失效识别不了的情况
  7. 一个基于mobapi的手机号码归属地查询的app
  8. (景德镇)麻将计分规则
  9. 初游青云山——温泉之旅
  10. VANCL•凡客诚品