文章目录

  • 关于老项目中遗留的使用Adobe Flsah播视频
    • 解决方案
    • QA
    • PS
  • 关于使用H5播放视频
    • 举个栗子
    • PS

前端项目中处理 实时(直播)监控视频历史(点播)回放视频的应用方案。视频服务商海康、启迪、锐明 等等,提供的 H.264编码 视频流,具体的类型有 RTMP、HLS、FLV、MP3等流。

关于老项目中遗留的使用Adobe Flsah播视频

关于Adobe Flash下架:

Adobe Flash Player 官方通知 2021年1月12日,不再支持Flash,并且使用Flash Player会被block掉,并提示上述图片信息。

解决方案

  1. 使用视频服务商提供的HLS、FLV视频流,直接用H5播放视频,不依赖flash。
    存在的弊端:视频服务器给的是http协议的与项目服务器https的冲突,要加白名单允许https站点访问不安全(http)内容。
  2. chrome保持现在的版本不升级。
    即:chrome 版本 87.0.4280.141(正式版本) (x86_64) 于2021年1月12日发布。 之前的版本不升级即可。
    已有的2020年已交付验收项目,暂时采用该方式。
  3. 如果误操作升级到了最新版的chrome,如chrome 87.0.4280.141,可以替换本机的flash来解决。(测试过mac版的可以继续使用flash播放rtmp,但不推荐使用该方案)
    安装基于 Chromium 的 Opera 、Chrome浏览器的flash - PPAPI:Adobe flash:install_flash_player_osx_ppapi 安装包,flash版本-34。下载地址:https://www.flash.cn/

QA

  1. mac中怎么禁止chrome浏览器自动升级?
    setp1: 打开终端到目录:

    cd /Library/Google/GoogleSoftwareUpdate
    

    setp2: 删除文件夹:

    sudo rm -rf GoogleSoftwareUpdate.bundle/
    
  2. 视频上提示Adobe Flash Player 不再受支持?
    chrome浏览器2021-01-26 v88.x版本后,直接提示Adobe Flash Player,也不会跳转至flash中国。处理方式:
    step1:彻底退出当前浏览器;
    step2:下载安装chrome v87 之前的版本了;
    step3:下载安装基于 Chromium的PPAPI;
    step4:重新打开浏览器即可(注意禁止自动升级);

PS

Flash中国官方通告:

根据Adobe使用协议规定,若您是一家营利事业或组织,或以商业目的使用Flash时(包含内嵌及调用),均需得到Adobe或Adobe的授权代表出具的官方有效授权许可。

具体查阅:https://www.flash.cn/notice/notice?id=138

关于使用H5播放视频

直接针对项目使用开源免费、MIT License的插件,比如:使用hls.js播放视频服务商提供的.m3u8的hls视频流,B站开源的Flv.js来播flv视频流等,也可以使用ckplayer、西瓜player、xxxxplayer等等。

举个栗子

项目中使用了多种类型的视频流,贴点代码片段:

 this.$nextTick(() => {this.videoStreamType === 'flv' ? this.playVideoByFlvJS() : this.playVideoByCkplayer();});// H5播放flv的直播视频流:http://xx.xx.xx.xx:xx/live.flvplayVidepByFlvJS() {if (flvjs.isSupported()) {var flvPlayer = flvjs.createPlayer({type: 'flv',url: this.videoUrl});flvPlayer.attachMediaElement(this.videoContainer);flvPlayer.load();flvPlayer.play();}}// H5播放hls流或者flash播rtmp流等。这里用了插件ckplayer X3里面也是集成了HLS.js// hls视频流:http://xx.xx.xx.xx:xx/hls/live.m3u8// 引入ckplayer的原因是一些老项目还在继续使用flash播rtmp的视频流,便于维护playVideoByCkplayer() {const option = {container: `#${this.videoId}`,variable: 'player',live: true,autoplay: true,video: this.videoUrl};const player = new ckplayer(option);}

PS

目前没有能在浏览器中统一播放任何视频流的技术方案,还是需要RD做相应的适配。
再补充一点:
视频在本地(localhost或者http://ip)播放正常,但是项目部署在https上时,会触发:混合内容限制(F12控制台内报错:Mixed Content)导致的视频无法播放:

有如下几种解决方案:

  1. 通过网站设置,允许直接不安全(http)资源混入,如:
  2. 使用低版本的chrome客户端,如82版以下,不会自动upgrade。
  3. 点击历史视频时,自动打开一个新的网页播放视频,从而避免了https、http混合内容限制的问题。

关于H5以及Flash播放(实时/直播、历史/点播)视频的一些case相关推荐

  1. 如何在手机APP中通过H5方式集成监控摄像头实时直播画面

    当前,视频监控应用在各种应用场景下已经大面积应用,并且经过多年日积月累的建设,所采用的厂商设备也是五花八门,比如有海康.大华.宇视.天地伟业等各种品牌的摄像头. 同时,随着各种数字化应用系统的建设,很 ...

  2. vue 播放rtmp 直播拉流视频

    一.写插件 <template><videoref="videoPlayer"class="video-js vjs-default-skin vjs- ...

  3. 清空本地_PyQt5播放实时视频流或本地视频文件

    一.编辑UI 编辑UI如下图所示: 二.新建视频播放类Display 定义如下初始化函数 def __init__(self, ui, mainWnd):self.ui = uiself.mainWn ...

  4. Vue整合Rtmp流实现无Flash播放[hls篇]

    小白心路历程篇,如有错误欢迎指出,感谢各位大佬 本篇包括以下内容: ①采用nginx搭建流媒体服务器,利用ffmpeg工具实现推流和转码工作. ②使用vue+原生hls.js来实现无flash播放m3 ...

  5. liveplayer免费网页直播_点播播放器-页面动态多播放器添加代码示例

    强大的网页直播/点播播放器,使用简单,功能强大, 终身免费使用 支持m3u8播放; 支持HTTP-FLV播放; 支持RTMP播放; 支持直播和点播播放; 支持播放器快照截图; 支持点播多清晰度播放; ...

  6. Python如何使用FFmpeg来播放网络直播

    在之前的学习中,我们已经讲述了如何用FFmpeg来播放网络rmtp的协议直播视频,而今天,我们则使用python代替命令行来执行程序 网页流介绍链接 1.播放实时的直播 我们可以解析出来实时网址为:湖 ...

  7. 网页中Flash播放器里的视频获取的方法

    但最老是有网友问我网站Flash播放器所播出的视频怎么下?所以决定把聊天记录整理一下,写成blog. Flash播放器所支持的视频文件格式为FLV,如果需要在本机播放FLV文件,需要下载专门的播放器, ...

  8. java 流媒体点播_7个最佳的直播和点播健身流媒体平台

    java 流媒体点播 The Demand for Fitness Live Streaming Platform is driven by recent upheavals disrupting t ...

  9. 网页端搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5)

    搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5) 基于网页端搭建视频流的实时播放,也可以应用到直播平台,原理一致 以下操作都是基于ubuntu18.04, ...

最新文章

  1. 【spring】di(依赖注入)使用实例
  2. javascript原型_JavaScript原型初学者指南
  3. 限制firefox上传框宽度
  4. OpenCV 1.0在VC6下安装与配置(附测试程序)
  5. 重新启用ClustrMaps记数
  6. CRM——销售与客户
  7. 关于高校房产管理系统中主要管理模块都有哪些
  8. android layoutinflater原理分析,Android 之 LayoutInflater 全面解析
  9. 健身房私教预约小程序 毕业设计毕业论文 开题报告和效果图参考(基于微信小程序毕业设计题目选题课题)
  10. lsb隐写的基本方法matlab,GitHub - RGNil/RG_LSB: 利用python实现LSB隐写算法(我自己改进了LSB算法),并进行了性能分析(psnr、错误率、鲁棒性)...
  11. 网络广告计费形式有那些?
  12. 【Python 实战基础】Pandas如何从股票数据找出收盘价最低行
  13. 图说当下——人生感悟
  14. xposed模块编写教程_新手不要再被误导!这是一篇最新的Xposed模块编写教程
  15. 轻便简洁的电脑录音软件,免费收藏!
  16. 项目管理之JIRA安装部署
  17. html如何改变字体的位置,css如何改字位置
  18. UltraISO下载安装方式
  19. 应对CC攻击的自动防御系统——原理与实现
  20. 哪个erp系统对应mysql数据库_哪些erp数据库适用于企业?

热门文章

  1. 2022最新玖逸云黑PHP系统程序源码+全开源无加密
  2. mybatis-plus配置控制台打印完整带参数SQL语句
  3. wrk2入门-http性能压测工具总结
  4. ecshop 解密index.php,PHP-威盾PHP加密专家解密算法
  5. 最新成果展示:利用缺陷信息数据库探索界面工程,助力GaN基肖特基势垒二极管的研究
  6. 电气器件系列七:小型大功率继电器
  7. 金融行业数据安全法律法规清单
  8. 通信专科生,出路在哪里?
  9. vue 使用vuex实现消息通知提示
  10. 《Java项目实践》:简单聊天程序