vue视频流播放,支持多种视频格式,如rmvb、mkv

android开发之全能多媒体开发框架Vitamio 简介:Vitamio是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。Vitamio公司称呼:炫一下公司!韩坤:炫一下科技 CEO基本信息: Vitamio是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。从2011年8月上线到2014年1月,Vitamio 凭借其简洁易用的 API 接口赢得了全球众多 阅读详情

先将视频转码为ts

ffmpeg -i C:\test\3.rmvb -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls C:\test\a\output.m3u8
在这里插入图片描述

后端配置接口


import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.net.MalformedURLException;
import java.nio.file.Path;
import java.nio.file.Paths;

@RestController
@RequestMapping("/api/video")
public class VideoController4 {

    private final Path videoStorageLocation = Paths.get("C:\\test\\a");

    @GetMapping("/stream/{fileName}")
    public ResponseEntity<Resource> streamVideo(@PathVariable String fileName) {
        try {
            Path filePath = this.videoStorageLocation.resolve(fileName).normalize();
            System.out.println(filePath);
            Resource resource = new UrlResource(filePath.toUri());

            if (resource.exists()) {
                return ResponseEntity.ok()
                        .header(HttpHeaders.CONTENT_TYPE, "application/x-mpegURL")
                        .body(resource);
            } else {
                return ResponseEntity.notFound().build();
            }
        } catch (MalformedURLException ex) {
            return ResponseEntity.badRequest().build();
        }
    }
}

vue代码

<template>
    <div>
        <video ref="videoPlayer" controls >
            
        </video>
    </div>
</template>
import Hls from 'hls.js';
onMounted(() => {
    const video = videoPlayer.value;
    const videoSrc = 'http://localhost:9500/api/video/stream/5.m3u8'; // 替换为你的 .m3u8 视频流地址



    if (Hls.isSupported() && video) {
        const hls = new Hls();
        hls.loadSource(videoSrc);

        hls.attachMedia(video);
        hls.on(Hls.Events.MANIFEST_PARSED, () => {
            // video.play();
        });

    } else if (video && video.canPlayType('application/vnd.apple.mpegurl')) {
        // 如果浏览器原生支持 HLS(如 Safari)
        video.src = videoSrc;
        video.addEventListener('loadedmetadata', () => {
            video.play();
        });

    }
});

在这里插入图片描述

多GPU时代的虚拟内存革命:CUDA VMM API的跨设备协同设计哲学 本文深入探讨了NVIDIA CUDA VMM API在多GPU系统中的虚拟内存管理革命,解决了传统Peer Access的显存碎片化和同步开销问题。通过地址-内存解耦、按需映射和精细权限控制,VMM API为分布式训练提供了高效的内存协同方案,显著提升大模型训练性能。 阅读详情

相关推荐

手把手教你在全新服务器内网安装OpenEuler 22.03 LTS SP4+ 安装 openGuass 5.0.0(LTS) 数据库

openEuler是面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的开源服务器Linux操作系统。

cgqyw的专栏 3736

vue视频播放插件vue-video-player的具体使用方法

vue视频播放插件vue-video-player的具体使用方法

dyx001007的博客 8566

智能织梦:基于Rokid AR眼镜的家庭情感记忆增强系统设计与实践

本文介绍了基于Rokid AR眼镜的'智能织梦'系统,通过增强现实技术捕捉和重现家庭情感记忆。系统利用多模态传感器和轻量级情感识别模型,自动记录家庭互动中的情感峰值时刻,并生成沉浸式记忆片段。测试数据显示,该系统显著提升了家庭情感互动的频率和质量,特别适用于多代同堂家庭和记忆唤醒场景。

sre5engineer的博客 536

vue实现rtsp视频流浏览器实时播放

因为video标签只能播放特定格式的视频,比如MP4、WebM和Ogg格式,而对于这种视频流文件则需要通过转码实现,而vue-video-player也只能播放特定格式的视频,所以要播放监控的实时视频,除了在浏览器的地址栏直接打开摄像头的地址,还可以通过webrtc-streamer和video标签在页面实现监控实时播放。

mullerpp的博客 1万+

在Jetson Orin (Arm64)上从Ubuntu22.04回退至20.04的完整指南及ROS-noetic适配方案

本文提供了在Jetson Orin (Arm64)设备上将Ubuntu 22.04系统回退至20.04 LTS版本的完整操作指南。针对机器人开发中ROS-noetic对Ubuntu20.04的官方最佳支持,详细阐述了从关键备份、软件源与APT优先级配置、系统降级执行到后续问题排查的全过程,并附带了在Arm64架构上成功安装和验证ROS-noetic的适配方案,旨在为开发者构建稳定可靠的机器人开发环境。

flower的专栏 577

利用Cesium引擎实现大疆智图B3DM三维模型的高效加载与可视化

本文详细介绍了如何利用Cesium引擎高效加载与可视化大疆智图B3DM三维模型。通过性能优化实战和典型应用场景分析,帮助开发者掌握模型预处理、渲染参数调优及高级功能实现技巧,提升大规模倾斜摄影数据的网页端展示效率。

weixin_29231725的博客 218

vue实现视频流播放

vue实现视频流播放~

Think_and_work的博客 7472

从Transformer到蛋白质结构预测:手把手解读ESM系列模型的核心原理与实战价值

本文深入解析了ESM系列模型如何将Transformer架构创新应用于蛋白质结构预测,揭示了其从氨基酸序列到三维结构的高效预测机制。通过掩码语言模型预训练和注意力机制,ESM模型不仅捕捉蛋白质序列的远程相互作用,还在蛋白质工程改造、药物发现等领域展现出巨大实战价值,显著提升了结构预测速度和精度。

weixin_28744423的博客 318

【vue】视频流播放

vue 视频流播放

小菜张的博客 1万+

ABB机器人ModbusTCP通信实战:如何高效传输Float数据到PLC(附完整代码)

本文详细介绍了ABB机器人通过ModbusTCP协议高效传输Float数据到PLC的实战方法,包括底层逻辑解析、RAPID程序架构设计、PLC服务器配置及现场调试技巧。特别针对浮点数据传输中的字节顺序问题提供了解决方案,并附有完整代码示例,助力工程师快速实现工业自动化设备间的高精度数据交互。

weixin_30836759的博客 482

基于STM32、HAL库、I2C接口的姿态传感器/陀螺仪之ICM-42670-P驱动 C语言程序设计

/ 设置加速度计和陀螺仪的工作模式。// 读取加速度计和陀螺仪数据。

corlin6688的博客 1179

vue在网页上播放h265编码的视频(内附github不能访问的解决办法)

vue在网页上播放h265编码的视频(内附github不能访问的解决办法)

qq_45634989的博客 1万+

在轻量化与精度之间取得平衡:YOLOv8 + GhostNet 的设计与实验分析

摘要: GhostNet系列(GhostNet、GhostNetv2、GhostNeXt)通过“幽灵特征图”技术,以极低计算量生成丰富特征,为YOLOv8提供轻量化改造方案。该技术能在减少参数量与计算量的同时保持或提升检测精度,适用于边缘设备部署。实现时需替换YOLOv8的Backbone为GhostNet模块,并通过消融实验验证其有效性。实验数据表明,改造后的模型在参数量降低30%的同时,推理速度提升28.6%,mAP@0.5最高提升1.9个百分点,平衡了轻量化与精度,为毕设提供技术创新性与工程落地性的双

m0_64661770的博客 194

vue.js视频播放器组件-vue-dplayer-02

安装 npm install vue-dplayer -S 导入使用 //在main.js中导入: import VueDPlayer from 'vue-dplayer'; import 'vue-dplayer/dist/vue-dplayer.css'; Vue.use(VueDPlayer); 使用vue-dplayer组件 <template> <div class='home'> <d-player ref="player" :opti

JackieDYH的博客 1119

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

web前端播放视频基础(多种格式,mp4, ogg, flv)(普通项目和vue项目)

前端播放视频(满足一般播放条件) 一,话不多说,先上代码:      以下包含我能做出来可以做出来播放的视频格式(测试ok),可能还有ogg和wmv的格式可以播放,但我没测试通过,所以不展示 if(strT == "video/mp4"||//.mp4文件 strT == "video/webm"||//.webm文件 strT == "flv"||//.flv文件 strT == "video/x-matroska"||//.mkv文件 strT

powerFulCat的博客 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

vue中使用mpegts.js播放flv的直播视频流

vue3中使用mpegts.js播放flv的直播数据

qq_53010925的博客 4567

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

vue-video-player的使用方法,vue-video-player在移动端点击画面不触发事件&&不能暂停播放的解决方法

单页面引用 import "video.js/dist/video-js.css"; import { videoPlayer } from "vue-video-player"; import VideoPlayerOption from "@/app/com/bean/VideoPlayerOption"; html <div class="video"> <video-player class="video-player vjs-custom-skin"

insgo的博客 8473

vue播放rtsp视频流

一、WebRtcStreamer.js。三、videoItem.vue。二、webrtc.js。四、webrtc.vue。

qq_43787947的博客 5173

VUE3+TS+VITE+webrtc-streamer实现实时视频播放(监控设备-rtsp,进来保你成)

DOCTYPE "... is not valid JSON关键句查询很久,发现得到的答案与我的情况并不相符,然后觉得可能是编码出错了,后来仔细看代码,确实是下图中的代码出错了,没有指明请求的协议以及ip地址前面没加 `//`推流后如果显示不出来,可以尝试在mediamtx或者webrtc两个控制台使用ctrl+c去结束可能的组设的进程,正常情况下,webrtc中会打印非常多no frame,但此时是能够播放的。因为目前没有在项目现场,无法接入摄像头,所以我是使用。启动一个流媒体服务器,使用。

2201_75875170的博客 1万+

Vue3+TS手写音乐播放器

最后,播放音乐 audio.play() 自带的api。iconPark字体图标库 npm 下载。四、点击左侧菜单时的样式:router里设置。九、Pinia 状态管理,数据持久化存储。六、axios 封装 .ts。十、点击播放,暂停按钮,切换状态。七、发送请求 api.ts。五、轮播图 swiper。index.vue初始化。二、循环遍历左侧菜单列表。点击轮播图片发送请求。八、点击轮播,音乐播放。

admin12345671的博客 974

07. vue-video-player使用

vue-video-player的使用一、安装二、引入1、全局使用, 在main.js里面导入并引用2、组件内引用三、使用1、html部分2、js部分四、视频格式五、控制播放和暂停 一、安装 npm install vue-video-player --save 二、引入 可以全局引入插件,也可以在需要用到该插件的组件内单独引入(二选一) 1、全局使用, 在main.js里面导入并引用 import VideoPlayer from 'vue-video-player' import 'vue-video

梅开二度,异常绚烂 321

尝试实现了国外大佬用Web做出来跨窗口渲染动画效果_跨窗口渲染的交互效果(1)

整体思路就是先用**canvas**里获取其它窗口的坐标信息,然后在自己窗口里画出连接线以及其它窗口的圆。本文只是提供个思路,把多窗口实时移动、互动效果实现出来了,其它银河系云图粒子效果、以及移动窗口时的阻尼缓冲效果,还需要其它大佬启发了。

2401_84411767的博客 209

关于vue播放flv,m3u8视频流(监控)的方法

3.还需要在public/index.html 引入EasyPlayer-lib.min.js,可以直接在node_modules里找到@easydarwin下的dist/compent/EasyPlayer-lib.min.js复制到pubilc目录下,还有需要EasyPlayer.wasm同样放到public目录下。其中实时播放监控的需求逐步增加,视频流格式也是有很多种,用到最多的.flv、.m3u8。2.在index.html文件里面引入 index.js文件(直接引入即可)如有想要文件的请私聊。

qq_47629187的博客 1万+

vue视频播放插件vue-video-player

安装 npm install vue-video-player --save 引入 可以全局引入插件,也可以在需要用到该插件的组件内单独引入(二选一) 【1】全局引用,在main.js里面导入并引用 import VideoPlayer from 'vue-video-player' import 'vue-video-player/src/custom-theme.css' i...

越努力,越幸运! 6870

在vue项目中使用TS

/ 类型})

pika___chew的博客 1645

【Vue2 + webrtc-steamer】rtsp流在Web端实时播放

海康威视:需要申请accessKey、ip、port等,有专门的管理平台(太麻烦,没有研究,简单了解了下)。(1)支持:WebRTC、FLV、HLS的直播流地址,以及HLS、FLV、MP4等格式的点播播放地址。vue-video-player+video.js:只支持flash插件的浏览器。(2)不支持:RTSP、RTMP流地址。(2)支持:FLV格式的点播播放地址。(3)不支持:非FLV格式的地址。(1)原理:RTSP转FLV。⑤ 播放rtsp流结果如下。腾讯云TCPlayer。

weixin_47375144的博客 7503
上一篇: 字幕标签<track存在跨域问题
下一篇: unity 预览代码是乱码的
BigData-0
博客等级 码龄7年 341粉丝 309原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData-0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值