springBoot视频在线播放,支持快进,分片播放

视频流上传播放功能】前后端分离用springboot-vue简单实现视频流上传和播放功能【详细注释版本,包含前后端代码】 我是前端程序猿一枚,不是后端的,如有写的有不规范的地方别介意哈,自己摸索了两天算是把这个功能做出来了,网上看了很多帖子没注释说实话,我看的基本是懵逼的。毕竟没有系统学过,所以现在做出来了就总结一下,自己多写点注释解释一下逻辑,让前端的小伙伴们如果也想自己做一个这个功能,可以参考参考。... 阅读详情

1、主要是通过ResourceHttpRequestHandler类来实现,ResourceHttpRequestHandler本身支持分片加载,前端在请求头中携带Range: bytes = 0-5001,就可以从后台自动截取对应大小视频内容。

第一步,先自定义实现一个ResourceHttpRequestHandler。代码如下:

package com.tec666.moviebar.config;

import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;

import javax.servlet.http.HttpServletRequest;

/**
 * @author longge93
 */
@Component
public class NonStaticResourceHttpRequestHandler extends ResourceHttpRequestHandler {

    public final static String ATTR_FILE = "NON-STATIC-FILE";

    @Override
    protected Resource getResource(HttpServletRequest request) {
        String filePath =  (String) request.getAttribute(ATTR_FILE);
        return new FileSystemResource(filePath);
    }
}

第二步,在视频播放controller中,把本地文件路径传入ResourceHttpRequestHandler。代码如下:

@Controller
@RequestMapping(value = "/api/baseResource")
public class BaseSourceApiController {

  
    @Autowired
    private NonStaticResourceHttpRequestHandler nonStaticResourceHttpRequestHandler;


    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @RequestMapping(value = "/video", method = RequestMethod.GET)
    public void video(
            HttpServletRequest request,
            HttpServletResponse response
    ) {
        try {
            String path = "D:/abc.mp4";
            File file = new File(path);
            if (file.exists()) {
                request.setAttribute(NonStaticResourceHttpRequestHandler.ATTR_FILE, path);
                nonStaticResourceHttpRequestHandler.handleRequest(request, response);
            } else {
                response.setStatus(HttpServletResponse.SC_NOT_FOUND);
                response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
            }
        } catch (Exception e) {

        }
    }
}

 

Spring Boot视屏上传播放详解 视屏播放在浏览器是一个很重要的模块。我们可以用 html自带的video标签进行播放后端可以直接存储到服务器文件夹中。但,今天我将详细的介绍,在网站开发中,视屏上传播放的做法。 阅读详情

相关推荐

SpringBoot整合FFmpeg进行视频分片上传

SpringBoot整合FFmpeg进行视频分片上传------>Windows 分片上传的核心思路: 将文件按一定的分割规则(静态或动态设定,如手动设置20M为一个分片),用slice分割成多个数据块。 为每个文件生成一个唯一标识Key,用于多数据块上传时区分所属文件。 所有分片上传完成,服务端校验合并标识为Key的所有分片为一个最终文件。 分片上传的意义: 将文件分片上传,在网络环境不佳时,可以对文件上传失败的部分重新上传,避免了每次上传都需要从文件起始位置上传的问题。分片的附带好处还能很方便

qq_54673740的博客 1458

springboot+h5写的简单的视频播放demo

一个简单的例子,前端使用一个h5video标签,向服务端请求视频文件并进行播放。 服务端采用springboot,maven。

SpringBoot + MinIO 实战:5分钟搞定视频播放功能(附完整源码)

本文详细介绍了如何利用SpringBoot快速集成MinIO对象存储,实现视频播放功能。通过部署MinIO服务、集成官方客户端、开发上传与流式读取接口,并配合前端HTML5播放器,可在5分钟内构建一个完整的视频流服务Demo。文章还探讨了预签名URL、安全性及生产环境部署等进阶优化方案。

weixin_29300931的博客 107

React + SpringBoot实现图片预览和视频在线播放,其中视频实现切片保存和分段播放

实现播放视频的需求时,往往是前端直接加载一个mp4文件,这样做法在遇到视频文件较大时,容易造成卡顿,不能及时加载出来。播放一点加载一点,这样同一时间内只会加载一小部分的视频,不容易出现播放卡顿的问题。当点击视频时,前端会拿到当前的文件ID请求上面定义好的接口,此时 fielId 肯定不是以 ts 结尾,所以会根据这个 fileId 查询数据库中保存的这条记录,然后调用。文件夹中对视频进行了分片处理,每一片都是以文件ID开头,方便加载分片时找到分片对应的位置。对视频切片使用的是 ffmpeg,可查看我的。

SongZhengxing_的博客 2316

Spring Boot 视频流和音频流(预加载效果)接口

正常编写的文件上传和下载,利用 HttpServletResponse 对象的 OutputStream 流,去输出文件内容的接口是无法完成网页上的视频播放、音频播放的预加载效果,这个预加载效果是我自己创的一个词吧,实际的问题是:当你在播放视频或音频的时候,你点击进度条,无法实现指定位置进行播放,莫名的不爽,这是因为后台接口写的有问题! 实际效果: 实现代码:基于 Spring Boo...

assiduous_me的博客 1万+

springboot编写mp4视频播放接口

直接读取指定文件,用文件流读取视频文件,输出到响应中这种方式很尴尬,可以播放视频,然而你会发现视频自带的进度条无法拖动。。。。。。。,只能暂停播放,没办法前进,也没办法后退。。。。。。

学习使我快乐_玉祥 6566

Spring Boot实现HTTP大文件断点续传分片下载-大视频分段渐进式播放

服务端如何将一个大视频文件做切分,分段响应给客户端,让浏览器可以渐进式地播放Spring-Boot实现HTTP分片下载断点续传,从而实现H5页面的大视频播放问题,实现渐进式播放,每次只播放需要播放的内容就可以了,不需要加载整个文件到内存中。

简放视野的专栏 5108

Springboot 实现大文件上传(支持断点续传)+渐进式视频播放+限速

Springboot 实现大文件上传(支持断点续传)+渐进式视频播放+限速 参考链接: https://www.jianshu.com/p/aa44eb96c7b6 参考链接: https://www.jianshu.com/p/c449dec43099 以下仅作个人代码记录,若有不正确之处,希望大佬指出。 实现方式最近浏览的看到以下3种,自己总结了下分别做了demo放到了git中。下载即可运行...

xiaoashuo的博客 6217

SpringBoot整合FFmpeg进行视频分片上传(Linux)

SpringBoot整合FFmpeg进行视频分片上传分片上传的核心思路:分片上传到意义:分片上传的原理:准备工作:一:下载、解压代码展示:pom文件yml配置工具类controller调用Url转换MultipartFile的工具类如controller中参数传的是URL 使用以下工具类转换一下即可 分片上传的核心思路: 1.将文件按一定的分割规则(静态或动态设定,如手动设置20M为一个分片),用slice分割成多个数据块。 2.为每个文件生成一个唯一标识Key,用于多数据块上传时区分所属文件。 3.所有分

weixin_44446784的博客 4729

SpringBoot 整合 MinIO 实现视频分片上传/断点续传(亲测可行)

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 Elast...

weixin_44421461的博客 1066

Spring boot集成ffmpeg实现视频极速播放

本文介绍了如何在 Spring Boot 应用中集成 FFmpeg 来实现视频切片播放的功能。视频切片技术,如 HLS,能够提高用户体验,减少服务器负载,并适应不同的网络条件。文章详细阐述了集成 FFmpeg 的步骤,包括项目结构的设置、所需依赖的添加、配置类的编写、工具类的实现、控制器的补充以及前端代码的编写。此外,还提供了如何生成视频切片文件的方法和前端播放器的实现示例。文章还讨论了跨域问题的解决方案,包括使用 @CrossOrigin 注解或 WebConfig 类来配置 CORS。最后,文章通过一个

weixin_74905854的博客 4638

springboot 视频分段加载在线播放

单个视频分段在线播放

大数据开发 705

SpringBoot + 阿里云OSS:构建企业级视频点播与安全播放方案

本文详细介绍了如何利用SpringBoot与阿里云OSS构建企业级视频点播系统,实现安全高效的在线视频播放。通过分片上传、客户端直传等技术优化上传效率,结合防盗链、临时URL和HLS加密等多重安全措施保障视频内容安全。文章还提供了性能优化技巧和常见问题解决方案,助力企业快速搭建高可用的视频点播平台。

weixin_33868027的博客 365

SpringBoot结合Vue 播放 m3u8 格式视频

SpringBoot项目需集成。

tjF_r8lb的博客 233

java视频播放网站

rocketmq是作为服务解耦的消息队列,把项目拆成两个服务,一个uplaod,负责上传分片的保存、过期的清理、全部视频的获取和返回播放,一个process,负责分片的合并、视频封面的生成、.m3u8格式的转换、合并完成的分片处理;这是一个简单的视频播放网站,由springboot+redis+mysql+rocketmq来构建服务(项目的名称vedio拼写打错,正确的应该是video)。mysql是作为成功上传的记录,当再次上传时,如果在数据库检索出相同的哈希,则直接提示上传成功(秒传)。

weixin_60864619的博客 640

SpringBoot视频流开发:如何用FFmpeg实现RTMP转HLS适配浏览器播放(2024最新版)

本文详细介绍了在SpringBoot应用中利用FFmpeg将RTMP流转为HLS流,以适配现代浏览器播放的完整实战方案。内容涵盖核心原理、SRS流媒体服务器配置、SpringBoot集成FFmpeg的动态转码引擎实现、前端播放集成以及关键的性能调优与避坑指南,为2024年开发视频流应用提供最新实践参考。

b3n4m5q6w7的博客 707

SpringBoot 与 MinIO 整合实战:大文件分片上传与合并完整方案

本文介绍了基于SpringBoot与MinIO实现大文件分片上传与合并的完整方案。该方案通过将大文件拆分为100MB的小分片独立传输,支持断点续传和并发上传,显著提升大文件传输的稳定性和效率。文章详细讲解了功能特点、应用场景(如视频平台、企业备份、设计文件上传等)和核心代码实现,包括MinIO配置、分片上传和自动合并功能。该方案可有效解决传统大文件上传中的网络中断、超时等问题,适用于各类需要处理大文件上传的业务场景。

月色真美 风也温柔 1213
上一篇: linux修改jar包中的配置文件
下一篇: Mybatis-Plus多租户,配合@DS动态切换数据源
wsfzj123
博客等级 码龄9年 170粉丝 34原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值