文章目录

  • 关于老项目中遗留的使用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. 配置.net 3.0开发环境
  2. 【启发式搜索】[ZOJ1217]Eight
  3. Charles之过滤信息
  4. pycharm matplotlib 图片显示
  5. javascript sort()实现元素json对象的排序
  6. 如何离线安装chrome插件
  7. 创建型模式——抽象工厂模式
  8. P3166-[CQOI2014]数三角形【GCD】
  9. vs12新建ajax,VS2012下WebService 的创建,部署和使用
  10. [技术博客] 微信小程序的formid获取
  11. 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题.....
  12. Mysql的limit用法
  13. windows加密和linux加密_Windows系统自带的BitLocker加密方法
  14. linux命令大全私房菜,linux命令大全(自己制作,基于鸟书私房菜以及man)-D
  15. 不是三维——软件项目的设计、开发与管理
  16. oem 无法访问问题解决过程
  17. Java开发工具(二):Intellij Idea IU-2019.2.3版安装配置简明教程
  18. PS非主流照片文字合成表现手法
  19. 按计算机应用领域分类 情报检索系统属于,2014年高职单招计算机类模拟试卷一(环职职专)...
  20. python小学生能学嘛_小学生都能学会的python(深浅拷贝)

热门文章

  1. 点晴OA:我们与同行的优势就是只做“真品”免费OA
  2. 车联网通信模组T-box
  3. 给nvidia显卡增加风扇速度控制的选项
  4. 基于STM32的USB智能加湿器DHT11温度湿度HC-05蓝牙APP控制系统
  5. 无限制分类 PHP
  6. 常见二极管特性及其典型应用场合梳理
  7. Nacos 集群部署
  8. 教程:手机数据恢复 安卓设备内置存储器创建镜像到电脑数据恢复
  9. 青少年为什么学python_为什么青少年一定要学Python?
  10. 非周期连续傅立叶变换的推导