easyplayer 前端播放器

easyplayer 前端播放器

文章目录

概要

需求是对接flv视频流,本来打算用b站的flv去做,做出来以后发现延迟高,加载慢,然后查找了一下,找到了这个。 

EasyPlayer.js集播放http-flv, hls, websocket 于一身的H5视频直播/视频点播播放器, 使用简单, 功能强大。

功能说明

  •  支持 MSE H264和H265硬解码;
  •  支持 WebCodec H264和H265硬解码;
  •  支持 WASM H264和H265硬解码/软解码;
  •  支持 m3u8/HLS (H265/H265)播放;
  •  支持 Mpeg4格式(H264)播放;
  •  支持 HTTP-FLV/WS-FLV (H265/H265)播放;
  •  支持 HTTP-FMP4/WS-FMP4 (H265/H265)播放;
  •  支持 WEBRTC(easy支持H264/H265、其他流媒体支持H264)播放;
  •  支持 裸流(H264/H265) 播放;
  •  支持 直播和点播播放;
  •  支持 点播多清晰度播放;
  •  支持 全屏或比例显示;
  •  支持 电子放大;
  •  支持 水印(动态水印、幽灵水印);
  •  支持 显示上一个视频最后一帧;
  •  支持 播放器快照截图;
  •  支持 视频录制(WebM格式(音频+视频)、Mp4格式(视频),Flv格式(音频+视频));
  •  支持 超时、断网重连、异常暂停播放等;
  •  支持 解析视频i帧文件转base64;

仓库地址

https://github.com/EasyDarwin/EasyPlayer.js

使用方法

我是在vue集成的,在npm上没有找到这个库, 根据官方demo,在index.html里直接引入

然后直接在想用的页面使用即可

代码

// 方法 const onUse = (type) => { if (type == "hasAudio") { config.value.hasAudio = !config.value.hasAudio; } else { config.value.MSE = false; config.value.WCS = false; if (type == "MSE") config.value.MSE = true; if (type == "WCS") config.value.WCS = true; } if (isPlay.value) { onDestroy().then(() => { playCreate(); onPlayer(); }); } }; const onPlayer = () => { if (isUnmounted) return; isPlay.value = true; setTimeout( (url) => { if (isUnmounted) return; playerInfo.value && playerInfo.value .play(url) .then(() => {}) .catch((e) => { console.error(e); }); }, 0, videoUrl.value ); }; const onDestroy = () => { return new Promise((resolve, reject) => { if (playerInfo.value) { playerInfo.value.destroy(); playerInfo.value = null; } setTimeout(() => { if (isUnmounted) return; // @ts-ignore resolve(); }, 100); }); }; const playCreate = () => { if (isUnmounted) return; var container = document.getElementById("player_box1"); if (!container) return; // @ts-ignore var easyplayer = new EasyPlayerPro(container, { isLive: config.value.isLive, //默认 true bufferTime: 0.2, // 缓存时长 stretch: false, MSE: config.value.MSE, WCS: config.value.WCS, hasAudio: config.value.hasAudio, watermark: { text: { content: "easyplayer-pro" }, right: 10, top: 10 }, }); easyplayer.on("fullscreen", function (flag) { console.log("is fullscreen", flag); }); easyplayer.on("playbackRate", (rate) => { easyplayer.setRate(rate); }); easyplayer.on("playbackSeek", (data) => { console.log("playbackSeek", data); }); playerInfo.value = easyplayer; };

然后组件加载时调用即可。

配置属性:

事件回调

使用方法:
//播放 EasyPlayrPro.on('play', function () { console.log('play'); })

记得文件要放在pubilc文件下 不然打包不进去。  

VUE组件版

使用起来更加方便,但是相比于上面那个方式延迟还是高了一些,不知道为什么。有懂得大佬指点一下非常感谢

地址

magic-easyplayer - npm

功能说明

  • [x] *支持定制控制器;
  • [x] *新增H265视频窗口适配[v1.1.0];
  • [x] 支持 MP4 播放;
  • [x] 支持 m3u8/HLS 播放;
  • [x] 支持 HTTP-FLV/WS-FLV 播放;
  • [x] 支持直播和点播播放;
  • [x] 支持播放器快照截图;
  • [x] 支持点播多清晰度播放;
  • [x] 支持全屏或比例显示;
  • [x] 自动检测 IE 浏览器兼容播放;

[x] 支持重连播放;

集成示例

  • 使用方式
  • [x] vue集成
 npm install magic-easyplayer --save 
  • Vue 集成调用

copy node_modules/magic-easyplayer/dist/crossdomain.xml 到 静态文件 根目录

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

注意: 没有调用会出现无法加载对应插件的报错

在 html 中引用 dist/EasyPlayer-lib.min.js

H.265

copy node_modules/magic-easyplayer/dist/EasyPlayer.wasm 到 静态文件 根目录

具体可以到npm库里去看 

https://www.npmjs.com/package/magic-easyplayer

Read more

人工智能篇---OpenClaw

人工智能篇---OpenClaw

OpenClaw深度解析:AI界的"大龙虾",你的全能数字员工 下面,我将从六个维度为你层层拆解这个现象级项目。 一、OpenClaw是什么?——从"个人助理"到"AI代理层"的革命 OpenClaw(曾用名Clawdbot/Moltbot)是一个开源的"本地优先"AI智能体平台,可以把它理解为能替你干活的"AI数字员工"。它的核心价值在于:用自然语言指令实现全场景任务自动化,无需专业编程基础,即可完成文档处理、网页抓取、代码生成、跨工具协同等各类重复性工作。 创始人故事:这个项目由Peter Steinberger在2024年用1小时敲出原型,如今已成长为17.5万星标的开源生态(GitHub增速最快项目之一)。 AI教父的认可:AI领域顶级专家Andrej Karpathy将其视为叠加在智能体之上"新的一层"

传统任务管理模式渐行渐远,DooTask 该如何玩转 AI 新赛道?

传统任务管理模式渐行渐远,DooTask 该如何玩转 AI 新赛道?

传统任务管理模式渐行渐远,DooTask 该如何玩转 AI 新赛道? 2025年10月9日,Google Cloud 正式推出企业级 AI 平台 Gemini Enterprise,这一里程碑式的举措标志着企业工作流全面进入智能化时代。Gemini Enterprise 平台的诞生,犹如在企业数字化转型的浪潮中投下了一颗重磅炸弹,为企业带来了前所未有的变革机遇。 Google Gemini Enterprise:企业级 AI 的革新引擎 Gemini Enterprise以Gemini 2.5系列模型为核心,具备强大的多模态处理能力,能同时精准理解和处理文本、图像、音频等多种数据类型。例如在分析含复杂图表与专业文字说明的项目报告时,它可精准捕捉图表数据趋势,结合文字进行综合推理判断,为企业决策提供全面、准确且具前瞻性的信息。 其统一多模态交互界面,为用户提供便捷交互方式。用户无论通过语音指令、文字输入还是手势操作,都能在同一个简洁界面与AI流畅交互,消除不同工具和界面切换的繁琐,降低学习成本,提高工作效率。 无代码智能体构建工具是该平台的一大亮点。过去,开发智能体对非专业编程

AI的提示词专栏:Prompt 驱动的结构化抽取,从文本中提取表格

AI的提示词专栏:Prompt 驱动的结构化抽取,从文本中提取表格

AI的提示词专栏:Prompt 驱动的结构化抽取,从文本中提取表格 本文围绕 Prompt 驱动的结构化抽取展开,先阐述其价值 —— 解决传统人工整理效率低、代码开发场景适应性差的痛点,借助大语言模型实现非结构化文本到表格的高效转化。接着解析核心概念,明确结构化抽取三要素及 Prompt 的赋能逻辑,随后提供基础版(适简单文本)、进阶版(适复杂文本)、优化版(适专业文本)三类 Prompt 设计框架,搭配实战案例说明操作要点。还通过内容创作、电商运营、学术研究三个跨场景案例,给出行业适配技巧,并针对字段遗漏、信息错误等六类常见问题提供解决方案。最后总结核心知识点,推荐工具与技术趋势,设计课后练习,助力读者掌握从简单到复杂场景的结构化抽取技巧。 人工智能专栏介绍     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,

一文读懂openClaw:GitHub史上增长最快的开源AI个人助手,附部署教程与免费大模型推荐

一文读懂openClaw:GitHub史上增长最快的开源AI个人助手,附部署教程与免费大模型推荐

哲人言:道生一,一生二,二生三,三生万物。——《道德经》 创作者:查老师并不渣(ZEEKLOG)(一个在哲学与生活中寻找平衡的思考者😊) 目录 引言 一、openClaw 是何方神圣? 与其他项目的对比 二、系统架构深度解析 1. Gateway(网关) 2. Agent(智能体) 3. Skills(技能) 4. Channels(通道) 5. Nodes(节点) 6. Memory(记忆) 三、为什么 openClaw 能引爆社区? 四、快速部署与配置指南 系统要求 一键安装 初始化配置 关键环境变量 Docker 部署(可选) 五、