allWebPlugin中间件VLC专用版之截图功能介绍

 背景

         VLC控件原有接口具有视频截图方法,即video对象的takeSnapshot方法,但是该方法返回的是一个IPicture对象,不适合在谷歌等现代浏览器上使用。因此,本人增加一个新的视频截图方法takeSnapshot2B64方法,直接将视频截图转成base64数据流返回出来。非常适合谷歌、火狐、Edge等现代浏览器上使用。

        allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品致力于将浏览器插件重新应用到所有浏览器。它不仅可以实现ActiveX控件在现代浏览器上使用,而且集成也非常方便。

        allWebPlugin中间件VLC专用版内部以包含VLC控件,只需安装一次allWebPlugin中间件,VLC控件不需注册,就可以在Web系统中应用VLC控件。

alWebPlugin中间件核心优势

1、自创定位算法,实现插件与页面布局无缝衔接,极致用户体验
2、自创插件接口调用方法,保持原汁原味的接口调用及事件响应方式,轻松实现OA系统升级改造。
3、支持同一页面或不同页面同时加载多个插件,适应各种复杂应用场景
4、自主创新、安全可控,不受浏览器插件技术限制,支持更多浏览器(谷歌、火狐、Edge、360浏览器等)。
5、创新沙箱机制,隔离插件与浏览器运行环境,增强插件与浏览器稳定性和安全性
6、攻克诸多技术难点,实现插件不修改、不注册也能使用,极大的降低插件开发量和维护量

准备工作

1、下载allWebPlugin中间件产品,具体如下:

百度网盘

视频截图接口介绍

在video对象下,增加takeSnapshot2B64接口,具体如下

string takeSnapshot2B64()

接口说明:截获当前播放的视频图像,并将其转成base64编码。图像默认为jpg格式。

参数说明:

返 回 值:字符串   表示截获的图像的base64数据流。

下面代码实现视频截图,并将截图保存到下载列表: 

function snapshot(){var video = vlcPlugin.video();//获取vlc截图base64图片流var imageb64 = video.takeSnapshot2B64();//将图片保存到下载列表var bimage = atob(imageb64);var byteNumbers = new Uint8Array(bimage.length);for (var i = 0; i < bimage.length; i++) {byteNumbers[i] = bimage.charCodeAt(i);}  var blob = new Blob([byteNumbers], { type: "image/jpg" });// 创建一个隐藏的 <a> 元素var link = document.createElement("a");var url = URL.createObjectURL(blob);link.href = url;link.download = "vlc_snapshot.jpg"; // 设置下载文件名document.body.appendChild(link); // 将链接添加到页面link.click(); // 触发下载document.body.removeChild(link); // 下载完成后移除链接
}
截图效果

以上详细代码,请查看VLC包vlc.html示例。

本人维护的vlc控件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第Y5周:yolo.py文件解读

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 本次任务&#xff1a;将YOLOv5s网络模型中的C3模块按照下图方式修改形成C2模块&#xff0c;并将C2模块插入第2层与第3层之间&#xff0c;且跑通YOLOv5s。 任务…

宝塔安装ssh证书报错:/usr/bin/curl: symbol lookup error: curl_easy_header

原因&#xff1a; 你当前的 curl 命令版本是 7.70.0&#xff08;不是系统默认版本&#xff0c;应该是你手动安装的&#xff09;。它链接的是 /usr/local/lib/libcurl.so.4&#xff0c;而不是 CentOS 系统默认的 /usr/lib64/libcurl.so.4。/usr/local/lib/libcurl.so.4 很可能是…

Apache SeaTunnel 引擎深度解析:原理、技术与高效实践

Apache SeaTunnel 作为新一代高性能分布式数据集成平台&#xff0c;其核心引擎设计融合了现代大数据处理架构的精髓。 Apache SeaTunnel引擎通过分布式架构革新、精细化资源控制及企业级可靠性设计&#xff0c;显著提升了数据集成管道的执行效率与运维体验。其模块化设计允许用…

测试用例及黑盒测试方法

一、测试用例 1.1 基本要素 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合&#xff0c;这组集合包含&#xff1a;测试环境、操作步骤、测试数据、预期结果等4个主要要素。 1.1.1 测试环境 定义&#xff1a;测试执行所需的软硬件…

硬件工程师笔记——运算放大电路Multisim电路仿真实验汇总

目录 1 运算放大电路基础 1.1 概述 1.1.1 基本结构 1.1.2 理想特性 1.2 运算放大分析方法 1.2.1 虚短 1.2.2虚断 1.2.3 叠加定理 2 同向比例运算放大电路 2.1 概述 2.1.1 基本电路结构 2.1.2 电路原理 2.2 仿真分析 2.2.1 电压增益 2.2.2 相位分析 3 反向比例运…

板凳-------Mysql cookbook学习 (九)

第4章&#xff1a;表管理 4.0 引言 MySQL &#xff1a;&#xff1a; 员工样例数据库 &#xff1a;&#xff1a; 3 安装 https://dev.mysql.com/doc/employee/en/employees-installation.html Employees 数据库与几种不同的 存储引擎&#xff0c;默认情况下启用 InnoDB 引擎。编…

MySQL省市区数据表

数据结构简单展示一下 具体的可以点击文章最后的链接地址下载 连接地址中有两个文件一个是详细的另一个是简洁的 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for ln_new_region -- ---------------------------- DROP…

无人机报警器探测模块技术解析!

一、运行方式 1. 频谱监测与信号识别 全频段扫描&#xff1a;模块实时扫描900MHz、1.5GHz、2.4GHz、5.8GHz等无人机常用频段&#xff0c;覆盖遥控、图传及GPS导航信号。 多路分集技术&#xff1a;采用多传感器阵列&#xff0c;通过信号加权合并提升信噪比&#xff0c;…

Oracle 导入导出 dmp 数据文件实战

一、DMP文件基础知识​​ 1. ​​DMP文件定义​​ DMP&#xff08;Data Pump Dump File&#xff09;是Oracle数据库专用的二进制格式文件&#xff0c;由expdp/impdp或旧版exp/imp工具生成。它包含数据库对象的元数据&#xff08;表结构、索引等&#xff09;和实际数据&#x…

Coursier:安装sbt

命令 ./cs launch sbt -- --version 的含义是​​通过 Coursier&#xff08;cs&#xff09;工具启动 SBT&#xff08;Scala 构建工具&#xff09;&#xff0c;并查询其版本信息​​。具体解析如下&#xff1a; ​​1. 命令结构解析​​ ​​./cs​​&#xff1a; 这是 Coursie…

【深度学习】12. VIT与GPT 模型与语言生成:从 GPT-1 到 GPT4

VIT与GPT 模型与语言生成&#xff1a;从 GPT-1 到 GPT4 本教程将介绍 GPT 系列模型的发展历程、结构原理、训练方式以及人类反馈强化学习&#xff08;RLHF&#xff09;对生成对齐的改进。内容涵盖 GPT-1、GPT-2、GPT-3、GPT-3.5&#xff08;InstructGPT&#xff09;、ChatGPT …

项目更改权限后都被git标记为改变,怎么去除

❗问题描述&#xff1a; 当你修改了项目中的文件权限&#xff08;如使用 chmod 改了可执行权限&#xff09;&#xff0c;Git 会把这些文件标记为“已更改”&#xff0c;即使内容并没有发生任何改变。 ✅ 解决方法&#xff1a; ✅ 方法一&#xff1a;告诉 Git 忽略权限变化&am…

openfeignFeign 客户端禁用 SSL

要针对特定的 Feign 客户端禁用 SSL 验证&#xff0c;可以通过自定义配置类实现。以下是完整解决方案&#xff1a; 1. 创建自定义配置类&#xff08;禁用 SSL 验证&#xff09; import feign.Client; import feign.httpclient.ApacheHttpClient; import org.apache.http.conn…

移动端 UI自动化测试学习之Appium框架(包含adb调试工具介绍)

文章目录 前言adb调试工具adb组成常用命令获取程序的包名和界面名文件传输发送文件到手机从手机中拉取文件 获取app启动时间获取手机日志其他命令 Appium 简介工作原理图 环境搭建安装客户端库&#xff08;appium lib&#xff09;安装Appium Server安装JDK&#xff08;自行下载…

【论文解读】DETR: 用Transformer实现真正的End2End目标检测

1st authors: About me - Nicolas Carion‪Francisco Massa‬ - ‪Google Scholar‬ paper: [2005.12872] End-to-End Object Detection with Transformers ECCV 2020 code: facebookresearch/detr: End-to-End Object Detection with Transformers 1. 背景 目标检测&#…

性能测试-jmeter实战1

课程&#xff1a;B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 性能测试-jmeter实战1 为什么需要性能测试呢&#xff1f;性能测试的作用&#xff1f;性能测试体系性能测试基础性能测试工具性能监控…

HTML、XML、JSON 是什么?有什么区别?又是做什么的?

在学习前端开发或者理解互联网工作原理的过程中&#xff0c;我们经常会遇到三个非常重要的概念&#xff1a;HTML、XML 和 JSON。它们看起来有点像&#xff0c;但其实干的事情完全不同。 &#x1f3c1; 一、他们是谁&#xff1f;什么时候诞生的&#xff1f; 名称全称诞生时间谁…

HTML5 全面知识点总结

一、HTML 基础概念 HTML&#xff1a;超文本标记语言&#xff0c;用于创建网页和 Web 应用的结构。 超文本&#xff1a;可以包含文字、图片、音频、视频、链接等多种媒体。 标记语言&#xff1a;通过标签标记网页的各个部分。 二、HTML5 的新特性&#xff08;区别于 HTML4&am…

记录一个难崩的bug

1.后端配置了 Filter 过滤器&#xff0c;如果再配置了Configuration ,那么会出现冲突吗&#xff1f; 过滤器与Configuration类本身无直接冲突&#xff0c;但需注意注册机制、执行顺序和依赖管理。通过显式控制过滤器的注册方式和优先级&#xff0c;结合Spring Security的链式配…

RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)

四、三者性能大比拼 4.1 吞吐量 吞吐量是衡量消息队列处理能力的重要指标&#xff0c;它反映了在单位时间内消息队列能够处理的消息数量。在这方面&#xff0c;Kafka 表现最为出色&#xff0c;其独特的设计使其能够轻松处理每秒数百万条消息 。Kafka 采用分布式架构和分区机制…