- 博客(87)
- 收藏
- 关注
原创 构建一个智能混合视频播放器:从 MP4 到 WebSocket 直播流,支持flv,mu38,mp4播放。支持ws-flv
摘要:本文介绍了一个现代Web智能混合视频播放器项目,该项目通过集成Video.js、flv.js和原生MSE API,实现了对多种视频格式(MP4、HLS、FLV)和协议(HTTP、WebSocket)的智能适配。播放器采用"智能调度"架构,能自动分析URL并选择最优播放引擎,具备优雅的响应式UI和详细日志系统。文章提供了完整的实现代码和在线演示链接,解决了开发者需要集成多个播放器库的痛点,为Web视频播放提供了统一的解决方案。
2025-08-05 08:58:44
671
原创 HLS播放器,HLS播mus8,mu38测试地址
本文介绍了一个功能强大的HLS流媒体测试工具开发过程。该工具基于hls.js和Video.js构建,具有多项实用功能:1)支持播放任意HLS链接;2)实时日志输出;3)码流信息展示;4)清晰度切换和倍速播放;5)历史记录功能。文章详细讲解了如何通过手动集成hls.js与Video.js实现核心播放功能,并重点介绍了码流信息解析、日志系统实现以及自定义清晰度切换按钮等关键技术点。最终呈现的工具界面简洁美观,能够帮助开发者高效测试和调试HLS流媒体。
2025-08-01 08:51:19
545
原创 海康插件视频播放案例web插件开发包 V3.4 (vue2)
海康威视视频插件Vue2集成指南:1. 下载安装HCWebSDKPlugin.exe(需关闭浏览器,建议重启电脑);2. 将jsVideoPlugin和webVideoCtrl.js放入public文件夹并在index.html引入;3. 创建视频组件,包含初始化、登录、播放及资源清理逻辑;4. 组件通过props接收设备参数(IP/端口/账号/密码);5. 提供预览控制方法,支持自动重连和异常处理。注意:组件销毁时会自动清理插件资源,并包含层级控制方法解决弹窗遮挡问题。
2025-07-14 10:02:45
348
原创 AI视频监控、AI数字孪生、构建可组合、可进化、跨场景的AI原生解决方案版本
《天穹认知智能平台白皮书摘要》天穹认知智能平台是一款面向高危生产环境的AI原生解决方案,旨在通过智能技术重构安全管理范式。平台采用可组合式架构设计,由领域无关的核心平台与场景适配的业务应用组成,具备三大创新特性:核心技术亮点:自进化AI系统 - 通过MLOps实现报警数据标注到模型训练的自动化闭环,误报率可随使用持续降低2.数字孪生推演引擎 - 基于UE5构建1:1虚拟环境,支持应急预案的沉浸式模拟与动态评估3.多模态智能体 - 结合RAG、Function Calling等技术,实现自然语言交
2025-07-10 14:10:46
839
原创 flv.js视频/直播流测试demo
本文介绍了一个基于flv.js的现代化Web视频播放器实现方案,支持HTTP-FLV直播和点播。该播放器具有以下特点:1.采用纯HTML5技术,无需Flash;2.界面美观,采用卡片式设计和现代化UI;3.提供完整的播放控制功能,包括播放/暂停/停止和精确跳转;4.支持直播流和点播视频的智能识别;5.完全独立,仅需一个HTML文件即可运行。文章详细讲解了播放器的HTML结构、CSS样式和JavaScript逻辑实现,并提供了完整的代码下载链接。
2025-07-01 15:38:24
380
原创 display: flex,导致子dom宽高失效
父元素子元素添加flex-shrink: 0是 CSS Flexbox 布局模块中的一个属性,用于控制当 flex 容器中没有足够的空间容纳所有 flex 元素时,该 flex 元素是否以及在何种程度上缩小。
2025-04-15 12:59:57
537
原创 如何使用 Vue 自定义指令实现元素拖拽支撑横向和纵向拖拽
在 web 开发中,有时我们需要让用户能够拖拽页面上的元素。Vue 提供了一个强大的机制,允许我们创建自定义指令来实现这种功能。自定义指令可以直接操作 DOM 元素,使其具有更强的灵活性和可控性
2025-01-13 08:56:04
375
原创 《图解HTTP》 学习日记,HTTP学习指南,HTTP学习
计算机与网络设备相互通信,双方就需要使用同样的方法,比如,你和别人约定在某个地方见面,见面前,约定好在什么地方见面,见面时双方的特征,以及见面以后做什么等规则都要事先确定,不同硬件、操作系统之间的通信,都需要一种规则,这种规则称为。用来处理连接网络的硬件部分,包括控制操作系统,硬件的设备驱动,NIC(Network interface Card,网络适配器,即网卡),光纤,等一切物理可见部分(还包括连接器等一切传输媒介)。TCP/IP协议族按层次分成以下4层:应用层,传输层,网络层,数据链路层。
2025-01-10 13:55:58
825
原创 原型链,原型属性,函数理解
prototype属性:每个函数都自动拥有一个prototype属性,它是一个对象,包含构造函数创建的所有实例共享的属性和方法。__proto__属性:每个对象都有一个隐式原型属性,指向它的构造函数的原型对象。原型链:通过prototype和__proto__属性,函数和对象之间形成了一个原型链。这个原型链从函数的__proto__开始,经过和,最终指向null。函数是对象:尽管函数有特殊的行为,它本身也是一个对象,具有属性和方法。
2024-12-26 10:44:04
626
原创 vue3项目使用大屏适配方案,使用rem适配,使用插件(postcss-pxtorem)
是一个工具,用于通过插件对CSS代码进行转换。它提供了灵活的方式,可以对CSS文件进行优化、增强兼容性或其他定制化处理。这是一个流行的 PostCSS 插件,用于将CSS中的。这是一个自定义插件,用于移除CSS中的。
2024-11-21 10:53:33
921
原创 vue2组件封装和UI组件的二次封装,方法,属性,ref的传递
使用方法props接受value值,当值发生变化的时候再通过this.$emit("input", newValue),则实现了简单组件的v-model封装,如果不使用第三方UI可以接受到的值使用watch或者计算属性保存,然后再通过事件派发自己保存的值。$attrs和$slots可以透传属性和插槽 然后通过解构插槽——>#[插槽名]=value 就可以获取传递的值,再通过遍历组件原型上的方法,然后把原型上的方法放在组件上,就可以使用ref透传。保存值写法可使用计算属性也可以使用监听器。
2024-11-07 11:44:43
819
原创 vue2自定义拖拽指令可设置拖拽边界
1.在src下新建directive文件夹,然后在directive新建draggable文件夹,在文件夹新建index文件,最后复制上方代码。2.在directive下新建index.js文件,文件代码。3.在 main.js文件中。
2024-09-06 08:52:38
694
1
原创 input自定义指令,限制输入数字,字符串,数字,字母等规则
在你的 Vue 组件中,你可以使用这个自定义指令来控制输入框的行为。以下是如何在模板中使用这个指令的详细说明。
2024-07-29 12:30:54
1593
1
原创 vue2,vue3项目无限滚动组件,支持滑动
把item结构出来然后在设计样式,使用参考类似饿了吗的table。threshold:判断是否需要滚动的项目数量阈值。stepTime:每一步滚动的时间间隔(毫秒)stepHeight:垂直滚动时每一步的高度。stepWidth:水平滚动时每一步的宽度。containerHeight:容器的高度。containerWidth:容器的宽度。fadeInOut:是否启用淡入淡出效果。horizontal:是否水平滚动。items:项目数组。
2024-07-29 11:08:22
2279
5
原创 前端快照,生成截图,前端拍照功能的实现
项目中要实现下载dom的快照,或者生产截图,可以使用html2canvas 这个库,封装成类可以在任何项目中使用。
2024-07-29 10:36:41
746
原创 webscoket+webrtc实现语音通话
前端采用webrtc创建音频上下文,后创建音频源输入和音频处理器,连接音频输入与处理器,处理器再连接到音频输出(扬声器),再通过事件获取音频数据,把音频数据转换成字节数据通过webscoket发送给后端。
2024-04-29 12:22:50
2576
5
原创 ruoyi若依三级菜单名title长度超出优化
项目中遇到菜单名长度超出,又不想更改宽度,可以通过截取title然后加上'...'和title来实现tooltip提示功能来达到优化,若依的菜单名是layout/components/Sidebar/Item文件设置的下面是修改后的代码。
2023-12-07 10:03:30
465
原创 使用VUE3实现简单颜色盘,吸管组件,useEyeDropper和<input type=“color“ />的使用
vue3使用vueuse中的useEyeDropper来实现滴管的功能和使用input中的type="color"属性来实现颜色盘
2023-11-24 14:33:40
1173
原创 js深度拷贝-工具函数
的触发情况的一个例子,它可以防止深拷贝陷入无限循环并导致栈溢出错误。,以避免陷入无限循环,并返回之前已经创建的克隆对象。互相引用,形成了一个循环引用。函数会检测到循环引用,并触发条件。
2023-09-01 15:24:28
253
原创 vue2项目中el-input单独使用max和maxlength不生效问题
今天在vue2的项目中使用element中的组件,因为没有使用form所以max和maxlength属性没有生效,下面是解决办法。使用oninput方法可以控制value值的显示然后来解决值的显示问题。
2023-08-30 14:12:42
3217
原创 通用vue项目应对定制化时该如何组件化
之前写了一个项目,大屏页面是通用页面但是遇到个别用户想要定制化,但是主页如果去做判断显得太过臃肿,后续也无法判断,由于公司不想维护多套代码,于是就考虑抽离成组件!引入所有文件然后再遍历文件后注册组件,成为全局组件,具体是否为全局组件看个人需求使用,这样全局上就有所有的定制化组件,再通过后端返回的组件名,动态渲染。里面的代码抽离成组件,然后通过引入组件然后组测组件,最后通过后端返回的定制化的名字来控制页面显示。2.vite项目中如果想要更灵活,可以考虑动态引入组测组件来实现这个功能,先通过。
2023-08-18 10:52:39
631
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人