当前位置: 首页 > news >正文

vue项目使用easyplayer播放m3u8直播推流

官网

青犀视频

代码库 / 示例 / demo

EasyPlayer

示例效果:

项目背景如图 

后端给了m3u8的直播地址  协议是 hls / flv

市面上很多第三方热门播放库都可以完成该多屏播放方式 如Video.js

问题在于 分多屏时 会存在性能问题  并且关闭播放器后 即便删除Dom或调用停止等方法 F12网络还在不断的请求分片

故采用该库 Easyplayer

该库使用方便 性能较好 文档清晰 几乎0上手成本

1. 安装

npm install @easydarwin/easyplayer --save

2.引入(非常重要!)

官方文档:

copy node_modules/@easydarwin/easyplayer/dist/component/EasyPlayer.swf 到 静态文件 根目录

copy node_modules/@easydarwin/easyplayer/dist/component/crossdomain.xml 到 静态文件 根目录

copy node_modules/@easydarwin/easyplayer/dist/component/EasyPlayer-lib.min.js 到 静态文件 根目录

也就是根据以上路径 找到node_modules包里面这仨文件 如图

然后把这仨文件复制粘贴到public目录下 如图

ok  引入最后一步  打开 public 目录下的 index.html

把刚刚的仨文件引入进去 (实际上只引入第一个js文件也可以运行)

<script src="./static/js/EasyPlayer-lib.min.js"></script>
<script src="./static/js/crossdomain.xml"></script>
<script src="./static/js/EasyPlayer.wasm"></script>

3.使用

 过于简单基础  故不写备注

逻辑简而言之

引入并注册组件

v-for循环playList地址  有几个地址循环几个播放器出来  分4屏 playList放四个url就行了

注意:

  1. 需保证  ref 和 data-index 的唯一性 这俩我代码里使用了for循环的下标
  2. 切换分屏播放或切换设备播放时 把playList清空后重新赋值播放地址
  3. 播放有误的话或者playList地址有变动  则不会再取流  也就是说关闭之后就不会再取流了  甚至不需要做停止或销毁DOM的操作 非常方便
  4. 官方demo多看 提供的有播放事件 如果取流过程中出现问题 捕获错误的回调中可以重新初始化播放器  人性化嗷 点个赞
<script>// 引入并注册组件  import EasyPlayer from '@easydarwin/easyplayer'export default {components: {EasyPlayer,}data(){// 播放链接地址playList: ['url1', 'url2', 'url3', 'url4'],}},
</script>

 <div v-for="(item, index) in playList" :key="index"><easy-player:ref="'player' + index":data-index="index":muted="false":video-url="item"/>
</div>

相关文章:

vue项目使用easyplayer播放m3u8直播推流

官网 青犀视频 代码库 / 示例 / demo EasyPlayer 示例效果&#xff1a; 项目背景如图 后端给了m3u8的直播地址 协议是 hls / flv 市面上很多第三方热门播放库都可以完成该多屏播放方式 如Video.js 问题在于 分多屏时 会存在性能问题 并且关闭播放器后 即便删除Dom或调用停…...

Python报错:AttributeError(类属性、实例属性)

Python报错&#xff1a;AttributeError&#xff08;类属性、实例属性&#xff09; Python报错&#xff1a;AttributeError 这个错误就是说python找不到对应的对象的属性&#xff0c;百度后才发现竟然是初始化类的时候函数名写错了 __init__应该有2条下划线&#xff0c;如果只有…...

vue+springboot读取git的markdown文件并展示

前言 最近&#xff0c;在研究一个如何将我们git项目的MARKDOWN文档获取到&#xff0c;并且可以展示到界面通过检索查到&#xff0c;于是经过几天的摸索&#xff0c;成功的研究了出来 本次前端vue使用的是Markdown-it Markdown-it 是一个用于解析和渲染 Markdown 标记语言的 …...

多功能PHP图床源码:Lsky Pro开源版v2.1 – 最新兰空图床

Lsky Pro是一款功能丰富的在线图片上传和管理工具&#xff0c;即兰空图床。它不仅可以作为个人云相册&#xff0c;还可以用作写作贴图库。 该程序的初始版本于2017年10月由ThinkPHP 5开发&#xff0c;经过多个版本的迭代&#xff0c;于2022年3月发布了全新的2.0版本。 Lsky Pro…...

Hive内置表生成函数

Hive内置UDTF 1、UDF、UDAF、UDTF简介2、Hive内置UDTF 1、UDF、UDAF、UDTF简介 在Hive中&#xff0c;所有的运算符和用户定义函数&#xff0c;包括用户定义的和内置的&#xff0c;统称为UDF&#xff08;User-Defined Functions&#xff09;。如下图所示&#xff1a; UDF官方文档…...

电源控制系统架构(PCSA)之电源控制框架概览

目录 6 电源控制框架 6.1 电源控制框架概述 6.1.1 电源控制框架低功耗接口 6.1.2 电源控制框架基础设施组件 6 电源控制框架 电源控制框架是标准基础设施组件、接口和相关方法的集合&#xff0c;可用于构建SoC电源管理所需的基础设施。 本章介绍框架的主要组件和低功耗接…...

Sentinel 监控数据持久化(mysql)

Sentinel 实时监控仅存储 5 分钟以内的数据&#xff0c;如果需要持久化&#xff0c;需要通过调用实时监控接口来定制&#xff0c;即自行扩展实现 MetricsRepository 接口&#xff08;修改 控制台源码&#xff09;。 本文通过使用Mysql持久化监控数据。 1.构建存储表&#xff08…...

基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码

基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于法医调查优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…...

canvas高级动画001:文字瀑布流

canvas实例应用100 专栏提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。 canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…...

抽象类, 接口, Object类 ---java

目录 一. 抽象类 1.1 抽象类概念 1.2 抽象类语法 1.3 抽象类特性 1.4 抽象类的作用 二. 接口 2.1 接口的概念 2.2 语法规则 2.3 接口的使用 2.4 接口间的继承 2.5 抽象类和接口的区别 三. Object类 3.1 toString() 方法 3.2 对象比较equals()方法 3.3 hash…...

SOAP 协议和 HTTP 协议:深入解读与对比

SOAP 和 HTTP 协议 SOAP 协议 SOAP&#xff08; Simple Object Access Protocol&#xff09;是一种用于在节点之间交换结构化数据的网络协议。它使用XML格式来传输消息。它在 HTML 和 SMTP 等应用层协议的基础上进行标记和传输。SOAP 允许进程在整个平台、语言和操作系统中进…...

Unity发布IOS后,使用xcode打包报错:MapFileParser.sh:Permissiondenied

1.错误提示 使用xcode打包错误提示&#xff1a;/Users/mymac/Desktop/myproject/MapFileParser.sh: Permission denied 2.解决方案 打开控制台输入&#xff1a;chmod ax /Users/mymac/Desktop/myproject/MapFileParser.sh。按回车键执行&#xff0c;然后重新使用xcode发布程序…...

2021年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下列程序,屏幕上可以看到几只小猫? A:1 B:3 C:4 D:0 答案:B 第2题 下列程序哪个可以实现:按下空格键,播放完音乐后说“你好!”2秒? A: B: C:...

mac上Homebrew的安装与使用

打开终端&#xff1a;command空格 &#xff0c;搜索‘’终端 ’&#xff0c;打开终端 在终端中输入以下命令并按下回车键&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"这个命令会自动下载并安装…...

YOLOv5 分类模型 预处理 OpenCV实现

YOLOv5 分类模型 预处理 OpenCV实现 flyfish YOLOv5 分类模型 预处理 PIL 实现 YOLOv5 分类模型 OpenCV和PIL两者实现预处理的差异 YOLOv5 分类模型 数据集加载 1 样本处理 YOLOv5 分类模型 数据集加载 2 切片处理 YOLOv5 分类模型 数据集加载 3 自定义类别 YOLOv5 分类模型…...

在arm 64 环境下使用halcon算法

背景&#xff1a; halcon&#xff0c;机器视觉领域神一样得存在&#xff0c;在windows上&#xff0c;应用得特别多&#xff0c; 但是arm环境下使用得很少。那如何在arm下使用halcon呢。按照官方说明&#xff0c;arm下只提供了运行时环境&#xff0c;并且需要使用价值一万多人民…...

H5(uniapp)中使用echarts

1,安装echarts npm install echarts 2&#xff0c;具体页面 <template><view class"container notice-list"><view><view class"aa" id"main" style"width: 500px; height: 400px;"></view></v…...

QLineEdit设置掩码Ip

目的 有时&#xff0c;用单行编辑框想限制输入&#xff0c;但QLineEdit提供的setInputMask()方法用来限制输入字符或者数字还可以&#xff0c;但要做约束&#xff0c;得和验证器结合。 setInputMash()描述 此属性包含验证输入掩码 如果没有设置掩码&#xff0c;inputMask() …...

开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!

论文链接&#xff1a;https://arxiv.org/pdf/2311.07919.pdf 开源代码&#xff1a;https://github.com/QwenLM/Qwen-Audio 引言 大型语言模型&#xff08;LLMs&#xff09;由于其良好的知识保留能力、复杂的推理和解决问题能力&#xff0c;在通用人工智能&#xff08;AGI&am…...

缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性

文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时&#xff0c;如何保证数据库和缓存的一致性&#xff1f;1. 先更新数据库&#xff1f;先更新缓存&#xff1f;解决方案 2…...

如何快速解密Wii U游戏文件:3步终极指南

如何快速解密Wii U游戏文件&#xff1a;3步终极指南 【免费下载链接】cdecrypt Decrypt Wii U NUS content — Forked from: https://code.google.com/archive/p/cdecrypt/ 项目地址: https://gitcode.com/gh_mirrors/cd/cdecrypt 还在为Wii U游戏文件解密而烦恼吗&…...

OpenCV HOG特征与SVM实现目标检测全流程指南

1. 项目概述&#xff1a;基于HOG特征的目标检测训练指南在计算机视觉领域&#xff0c;目标检测一直是核心挑战之一。不同于简单的图像分类&#xff0c;检测任务需要同时完成目标定位和识别两项工作。传统方法中&#xff0c;方向梯度直方图&#xff08;HISTOGRAM OF ORIENTED GR…...

如何快速掌握PLIP:蛋白质-配体相互作用分析工具的完整实战指南

如何快速掌握PLIP&#xff1a;蛋白质-配体相互作用分析工具的完整实战指南 【免费下载链接】plip Protein-Ligand Interaction Profiler - Analyze and visualize non-covalent protein-ligand interactions in PDB files according to &#x1f4dd; Schake, Bolz, et al. (20…...

第27篇:PyTorch动态图 vs TensorFlow静态图——深度框架核心机制对比(原理解析)

文章目录现象引入&#xff1a;一次让我“怀疑人生”的调试经历提出问题&#xff1a;动与静&#xff0c;本质区别在哪&#xff1f;原理剖析&#xff1a;深入静态图与动态图的引擎舱静态计算图&#xff08;以TensorFlow 1.x为典型&#xff09;动态计算图&#xff08;以PyTorch为典…...

告别理论!用一张‘眼图’看懂你的GTX链路信号质量(误码率、抖动、噪声容限全解析)

从眼图诊断到链路优化&#xff1a;GTX信号质量实战解码手册 当示波器屏幕上那个神秘的"眼睛"缓缓睁开时&#xff0c;它正在向你诉说整个高速链路的健康状态。这张由无数比特流叠加而成的图形&#xff0c;远比任何参数表格都更直观地揭示了信号在时域和幅值域的完整故…...

Equalizer APO:Windows系统级音频均衡器的完整使用指南

Equalizer APO&#xff1a;Windows系统级音频均衡器的完整使用指南 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 你是否曾经因为Windows系统的音频输出平淡无奇而感到困扰&#xff1f;无论是游戏中的…...

基于强化学习的LLM智能体训练框架AgentFly:从原理到实战

1. 项目概述&#xff1a;为什么我们需要一个可扩展的智能体训练框架&#xff1f; 如果你在过去一年里深度参与过大语言模型智能体的开发&#xff0c;大概率会和我有同样的感受&#xff1a;让一个LLM学会稳定、可靠地使用工具&#xff0c;比预想的要困难得多。无论是基于ReAct、…...

Unity AudioSource播放控制全攻略:从Play到UnPause,新手也能搞定的UI交互实战

Unity音频交互实战&#xff1a;从零构建专业级音乐控制器 在游戏和多媒体应用开发中&#xff0c;音频控制是提升用户体验的关键环节。Unity的AudioSource组件提供了强大的音频处理能力&#xff0c;但如何将其与UI系统无缝结合&#xff0c;打造直观易用的音频控制器&#xff0c;…...

5分钟精通MDCx Docker容器化部署:从零到生产环境的最佳实践

5分钟精通MDCx Docker容器化部署&#xff1a;从零到生产环境的最佳实践 【免费下载链接】mdcx-docker 在Docker容器中运行 MDCX&#xff0c;并通过Web界面或远程桌面进行控制。Run MDCX in a Docker container, accessible and controllable via a web interface or remote de…...

音乐标签管理革命:告别混乱,拥抱智能音乐库

音乐标签管理革命&#xff1a;告别混乱&#xff0c;拥抱智能音乐库 【免费下载链接】music-tag-web 音乐标签编辑器&#xff0c;可编辑本地音乐文件的元数据&#xff08;Editable local music file metadata.&#xff09; 项目地址: https://gitcode.com/gh_mirrors/mu/music…...