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

react18 + ts 使用video.js 直播.m3u8格式的视频流

一、安装依赖

我使用的video.js版本是8.17.3,从 Video.js 7.x 开始,HLS 支持被内置到了 Video.js 中所以不需要安装其他依赖

npm i video.js 

二、创建VideoPlayer组件

import React, { useEffect, useRef } from 'react'
import videojs from 'video.js'
import 'video.js/dist/video-js.css' // 引入 Video.js 样式
import Player from 'video.js/dist/types/player'interface Props {src: string // HLS 流的 URL
}const VideoPlayer: React.FC<Props> = ({ src }) => {const playerRef = useRef<Player>()useEffect(() => {// 初始化 Video.js 播放器playerRef.current = videojs('my-player', {controls: true,preload: 'auto',sources: [{src: src,type: 'application/x-mpegURL', // HLS MIME 类型},],})// 清理函数return () => {if (playerRef.current) {playerRef.current.dispose()}}}, [src])return (<div><video id="my-player" className="video-js vjs-default-skin"></video></div>)
}export default VideoPlayer

三、使用VideoPlayer组件

// App.tsx
import React from 'react';
import VideoPlayer from './VideoPlayer';function App() {return (<div className="App"><VideoPlayer /></div>);
}export default App;

相关文章:

react18 + ts 使用video.js 直播.m3u8格式的视频流

一、安装依赖 我使用的video.js版本是8.17.3&#xff0c;从 Video.js 7.x 开始&#xff0c;HLS 支持被内置到了 Video.js 中所以不需要安装其他依赖 npm i video.js 二、创建VideoPlayer组件 import React, { useEffect, useRef } from react import videojs from video.js …...

使用 onBeforeRouteLeave 组合式函数提升应用的用户体验

title: 使用 onBeforeRouteLeave 组合式函数提升应用的用户体验 date: 2024/8/14 updated: 2024/8/14 author: cmdragon excerpt: 摘要&#xff1a;本文介绍了在Nuxtjs中使用onBeforeRouteLeave组合式函数来提升应用用户体验的方法。onBeforeRouteLeave允许在组件离开当前路…...

uni-app 吸顶方案总结

效果 页面级 uni.pageScrollTo 官方文档&#xff1a;https://uniapp.dcloud.net.cn/api/ui/scroll.html#pagescrollto 原生头部导航 uni.pageScrollTo({selector: #tabs,duration: 300 });(推荐)需要兼容自定义头部导航 <template><view id"demo1" :styl…...

【C#】知识汇总

目录 1 概述1.1 GC&#xff08;Garbage Collection&#xff09;1.1.1 为什么需要GC&#xff1f;1.1.2 GC的工作原理工作原理什么是Root&#xff1f;GC算法&#xff1a;Mark-Compact 标记压缩算法GC优化&#xff1a;Generational 分代算法 1.1.3 GC的触发时间1.1.4 如何减少垃圾…...

1、Unity【基础】3D数学

3D数学 文章目录 3D数学1、数学计算公共类Mathf1、Mathf和Math2、区别3、Mathf中的常用方法&#xff08;一般计算一次&#xff09;4、Mathf中的常用方法&#xff08;一般不停计算&#xff09;练习 A物体跟随B物体移动 2、三角函数1、角度和弧度2、三角函数3、反三角函数练习 物…...

虚拟机ubuntu22的扩容记录

这里lsblk命令能看到&#xff0c; ubuntu逻辑分区只有29G&#xff0c; 但总分区60G&#xff0c;还有接近30G未使用。 rootx:/home/x# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.9M 1 loop /snap/core2…...

Docker 常用配置

Docker 常用配置 1. 配置方法 修改下面位置&#xff1a; Linux&#xff1a;vim /etc/docker/daemon.jsonmacOS&#xff1a;菜单栏图标->Settings->Docker Engine 注意&#xff1a;修改完需要重启Docker Linux&#xff1a;systemctl restart dockermacOS&#xff1a;…...

通过示例了解 .NET Core 中的依赖注入

依赖注入 (DI) 是一种用于实现 IoC&#xff08;控制反转&#xff09;的设计模式&#xff0c;可以更好地解耦应用程序内的依赖关系并更轻松地管理它们。.NET Core 内置了对依赖注入的支持&#xff0c;提供了一种有效管理依赖关系的强大方法。 一.什么是依赖注入&#xff1f; 依…...

fetch、FormData上传多张图片

利用fetch方法和FormData对象上传多张图片 formdata()对象可以序列化多张图片 <html><head><meta http-equiv"content-type" content"text/html;charsetUTF-8"/><title>测试fetch和formdata上传多张图片</title></head&…...

C++STL详解(五)——list类的具体实现

一.本次所需实现的三个类及其成员函数接口 链表首先要有结点&#xff0c;因此我们需要实现一个结点类。 链表要有管理结点的结构&#xff0c;因此我们要有list类来管理结点。 链表中还要有迭代器&#xff0c;而迭代器的底层其实是指针。但是我们现有的结点类无法完成迭代器的…...

鸿蒙(API 12 Beta3版)【使用投播组件】案例应用

华为视频接入播控中心和投播能力概述** 华为视频在进入影片详情页播放时&#xff0c;支持在控制中心查看当前播放的视频信息&#xff0c;并进行快进、快退、拖动进度、播放暂停、下一集、调节音量等操作&#xff0c;方便用户通过控制中心来操作当前播放的视频。 当用户希望通…...

【STM32项目】在FreeRtos背景下的实战项目的实现过程(一)

个人主页~ 这篇文章是我亲身经历的&#xff0c;在做完一个项目之后总结的经验&#xff0c;虽然我没有将整个项目给放出来&#xff0c;因为这项目确实也是花了米让导师指导的&#xff0c;但是这个过程对于STM32的实战项目开发都是非常好用的&#xff0c;可以说按照这个过程&…...

C#垃圾处理机制相关笔记

C#编程中的垃圾处理机制主要通过垃圾回收器&#xff08;Garbage Collector&#xff0c;GC&#xff09;实现自动内存管理。C#作为一种托管语言&#xff0c;其垃圾处理机制显著减轻了程序员的内存管理负担&#xff0c;与C语言等非托管语言形成鲜明对比。具体介绍如下&#xff1a;…...

C语言memcmp函数

目录 开头1.什么是memcmp函数?2.memcmp函数的内部程序流程图 3.memcmp函数的实际应用比较整型数组比较短整型二维数组比较结构体变量…… 结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们要学一下关于C语言里的memcmp函数的一些知识。 1.什么是memcmp函数?…...

低代码: 组件库测试之Vue环境下的测试工具以及测试环境搭建

Vue Test Utils Vue Test Utils 1 targets Vue 2. Vue Test Utils 2 targets Vue 3. 特别注意要使用 版本 2.0.0 以上 提供特定的方法,在隔离的话环境下,进行组件的挂载,以及一系列的测试 配置开发环境 手动配置, 是比较麻烦的vue cli 是基于插件架构的, 插件可以: 安装对…...

【Vue3】高颜值后台管理模板推荐

ELP - 权限管理系统 基于Vue 3框架与PrimeVue UI组件库技术精心构建的高颜值后台权限管理系统模板。该模板系统已成功实现基于RBAC&#xff08;Role-Based Access Control&#xff09;模型的权限管理系统和字典数据管理模块&#xff0c;后端则使用了Spring Boot框架&#xff0…...

详细介绍Pytorch中torchvision的相关使用

torchvision 是 PyTorch 的一个官方库&#xff0c;主要用于处理计算机视觉任务。提供了许多常用的数据集、模型架构、图像转换等功能&#xff0c;使得计算机视觉任务的开发变得更加高效和便捷。以下是对 torchvision 主要功能的详细介绍&#xff1a; 1. 数据集&#xff08;Dat…...

AI部署——主流模型推理部署框架

我们以最经典的Yolov5目标检测网络为例解释一下10种主流推理部署框架的大概内容&#xff0c;省略模型训练的过程&#xff0c;只讨论模型转换、环境配置、推理部署等步骤。 Intel的OpenVINO — CPUNvidia的TensorRT — GPU/CPUOpenCV DNN Module — GPU/CPUMicrosoft ONNX Runti…...

PyTorch之loading fbgemm.dll异常的解决办法

前言 PyTorch是一个深度学习框架&#xff0c;当我们在本地调试大模型时&#xff0c;可能会选用并安装它&#xff0c;目前已更新至2.4版本。 一、安装必备 1. window 学习或开发阶段&#xff0c;我们通常在window环境下进行&#xff0c;因此需满足以下条件&#xff1a; Windo…...

Vscode——如何实现 Ctrl+鼠标左键 跳转函数内部的方法

一、对于Python代码 安装python插件即可实现 二、对于C/C代码 安装C/C插件即可实现...

如何高效提取Wallpaper Engine资源:RePKG完整使用指南

如何高效提取Wallpaper Engine资源&#xff1a;RePKG完整使用指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业资源提取工具&#xf…...

OptiLLM性能基准测试:在AIME、IMO、LiveCodeBench上的惊人表现

OptiLLM性能基准测试&#xff1a;在AIME、IMO、LiveCodeBench上的惊人表现 【免费下载链接】optillm Optimizing inference proxy for LLMs 项目地址: https://gitcode.com/gh_mirrors/op/optillm OptiLLM是一款强大的AI推理优化代理工具&#xff0c;能够在零训练的情况…...

从规格书到点亮屏幕:RK3568+GM8775C双通道LVDS调试全流程解析

RK3568GM8775C双通道LVDS屏幕调试实战&#xff1a;从参数解析到设备树配置 第一次拿到一块非标准LVDS屏幕时&#xff0c;我盯着规格书里密密麻麻的表格和数据完全无从下手。作为硬件工程师&#xff0c;我们常常需要面对各种定制化显示屏的驱动问题。本文将带你深入理解如何从屏…...

Java Faker故障排除终极指南:10个常见问题与解决方案完整清单

Java Faker故障排除终极指南&#xff1a;10个常见问题与解决方案完整清单 【免费下载链接】java-faker Brings the popular ruby faker gem to Java 项目地址: https://gitcode.com/gh_mirrors/ja/java-faker Java Faker是Java开发者生成测试数据的终极工具&#xff0c;…...

Leaflet坐标系实战:从设置到动态切换的完整指南

1. Leaflet坐标系基础概念解析 第一次接触Leaflet坐标系时&#xff0c;我也被各种专业术语搞得晕头转向。简单来说&#xff0c;坐标系就是用来确定地图上每个点位置的规则系统。就像我们在地球上使用经纬度定位一样&#xff0c;数字地图也需要明确的坐标参考。 Leaflet默认支持…...

FlowState Lab与SpringBoot集成:构建企业级波动分析微服务

FlowState Lab与SpringBoot集成&#xff1a;构建企业级波动分析微服务 1. 引言&#xff1a;当AI预测遇上微服务架构 电商大促期间的服务器负载波动、金融交易中的异常流量监测、物流系统的季节性需求变化...这些业务场景都需要对时序数据进行实时分析和预测。传统单机版的分析…...

从“偏科生”GPT-3到“全能选手”:聊聊MMLU基准如何推动大模型进化

从“偏科生”到“全能选手”&#xff1a;MMLU基准如何重塑大模型进化路径 当GPT-3在2020年以1750亿参数震惊世界时&#xff0c;人们很快发现这个"天才"存在明显的知识盲区——它在某些专业领域的表现堪比专家&#xff0c;却在另一些基础学科上失误频频。这种"偏…...

从基础到卓越:Mac Mouse Fix的技术演进与用户价值提升之路

从基础到卓越&#xff1a;Mac Mouse Fix的技术演进与用户价值提升之路 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 解决鼠标体验痛点&#xff1a;从功能…...

设计师不用写代码了?实测TRAE SOLO Builder如何将Figma稿秒变可交互网页

设计师如何用TRAE SOLO Builder实现零代码网页开发 在数字产品设计领域&#xff0c;设计师与开发者之间的协作断层长期存在。设计精美的Figma稿转化为实际网页时&#xff0c;往往面临还原度不足、交互细节丢失等问题。TRAE SOLO Builder的出现&#xff0c;正在重新定义设计到开…...

OpenClaw+GLM-4.7-Flash:智能客服对话系统

OpenClawGLM-4.7-Flash&#xff1a;智能客服对话系统 1. 为什么选择这个组合 去年我在帮朋友的小型电商团队优化客服流程时&#xff0c;发现他们每天要处理大量重复性问题咨询。人工客服在回答"发货时间""退换货政策"这类标准问题时&#xff0c;既消耗人…...