记录一次处理视频输出到浏览器,就像输出图片到浏览器一样效果。

如需想要图片输出到浏览器请查阅: https://blog.csdn.net/qq_16771097/article/details/124386496

第一步:添加如下设置

package com.shishi.springbootweb.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;
import java.nio.file.Path;/*** @ClassName: MedioHttpRequestHandler* @Description: 视频流和音频流加载设置* @Author: Administrator* @Date: 2022/4/15 11:38*/
@Component
public class MedioHttpRequestHandler extends ResourceHttpRequestHandler {public final static String ATTR_FILE = "NON-STATIC-FILE";@Overrideprotected Resource getResource(HttpServletRequest request) {final Path filePath = (Path) request.getAttribute(ATTR_FILE);return new FileSystemResource(filePath);}
}

第二步:调用时,添加设置

package com.shishi.springbootweb.controller.common;import com.shishi.springbootweb.config.MedioHttpRequestHandler;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;/*** @ClassName: MediaController* @Description: 视频文件处理* @Author: Administrator* @Date: 2022/4/14 18:14*/
@Api(tags = "视频文件处理API")
@RestController
public class MediaController {String url = "E:\\z-work\\media\\";@Resourceprivate MedioHttpRequestHandler medioHttpRequestHandler;/*** 获取视频* @param request* @param response* @throws Exception*/@GetMapping("/api/media/video")public void getPlayResource( HttpServletRequest request, HttpServletResponse response) throws Exception {Path path = Paths.get(url + "上海疫情播报.mp4");if (Files.exists(path)) {String mimeType = Files.probeContentType(path);if (!StringUtils.isEmpty(mimeType)) {response.setContentType(mimeType);}request.setAttribute(MedioHttpRequestHandler.ATTR_FILE, path);medioHttpRequestHandler.handleRequest(request, response);} else {response.setStatus(HttpServletResponse.SC_NOT_FOUND);response.setCharacterEncoding(StandardCharsets.UTF_8.toString());}}
}

实际效果:

SpringBoot 视频流和音频流(输出到浏览器)相关推荐

  1. OpenCV:将视频流式传输到网页浏览器/HTML页面

    在本教程中,您将学习如何通过Flask和Python使用OpenCV将视频从网络摄像头流式传输到网页浏览器/HTML页面. 您的车被偷过吗? 我的车在周末就被偷了.让我告诉您,我很生气. 我不能透露太 ...

  2. php怎么读取图片并输出,php读取图片内容并输出到浏览器的实现代码_PHP教程

    代码很简单,网上都能找到,但在我机子上就是显示不出来,显示出的一直是这个php文件路径, 费了点时间才搞定,原来是我的 网上查了下,有这样一说:如果php以图片,zip,exe等文件输出到浏览器,而前 ...

  3. 将图形以JPEG格式输出到浏览器或文件

    将图形以JPEG格式输出到浏览器或文件 JPEG格式是一种被广泛使用的失真压缩标准方法,其主要扩展有:.jpg..JPG..jpeg..jfif.JPE.使用imagejpeg()函数,可以把图形以J ...

  4. 将图形以PNG格式输出到浏览器或文件

    将图形以PNG格式输出到浏览器或文件 PNG格式的英文全称是:Portable Network Graphic Format,即流式网络图形格式,这种格式主要用于替换GIF和TIFF格式的文件,其主要 ...

  5. JQuery AJAX 加载 HTML代码“lt”形式的。怎么解析成形式,并且把img解析成图片输出到浏览器中。...

    声明:此方法目前用火狐通过验证.IE未能通过. 前台 写法:   <div  style="visibility:hidden"  id="Change" ...

  6. SpringBoot默认日志配置输出级别

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/csdn18740599042 /article/details/109031005 Springboot默认配置 我们在测试类 ...

  7. php读取url连接的图片,输出到浏览器

    header('Content-Type: application/pdf'); // PDF文件$fp = fopen($ret->url, "rb"); //二进制方式打 ...

  8. php 读取图片内容吗,php读取图片内容输出到浏览器的代码分享

    本文介绍下,用php读取图片,并输出到浏览器显示的一段代码,有需要的朋友参考下. 在php中,如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,则会出现乱码. 原因分析: 输 ...

  9. SpringBoot启动完之后自动打开浏览器网址

    SpringBoot启动完之后自动打开浏览器网址 @SpringBootApplication public class SpringBootApplication {public static vo ...

最新文章

  1. Android美工坊:Selector选择器的使用
  2. 【Android应用开发】Android Studio - MAC 版 - 快捷键详解
  3. C++对象模型学习——站在对象模型的尖端
  4. CSDN ARIMA R语言_R语言实现Fleiss#39; Kappa系数处理多个观察者一致性检验
  5. building a software for what?
  6. 首发:深度学习测试题中英对照版
  7. 车牌识别python实现ubuntu_python利用百度云接口实现车牌识别
  8. mysql csv 表头_mysql 导出CSV文件 并带表头的方法
  9. WebMvcConfigurer
  10. css 写打印样式问题
  11. uva 1617——Laptop
  12. 监听APP升级广播处理
  13. 一张图教你玩转阿里云双11上云狂欢节
  14. 电商APP商品详情页设计套路(分层PSD模板)!透析UI/UE必须懂的营销设计思维!
  15. 你真的需要 @DirtiesContext?
  16. java 拷贝属性值_Java 反射拷贝相同的属性值到指定对象中(两种实现方式)
  17. golang 解决 TCP 粘包问题
  18. linux php5.3安装教程,Linux下安装MySql+Apache2+PHP5.3.1教程_PHP教程
  19. {windows}之向 暴风一号(病毒) 学习一个注册表小知识
  20. Linux系统搭建私有CA证书服务器

热门文章

  1. 雅讯天地游java戏,手游精品不断 雅讯天地好“戏”连连
  2. 艺术家林曦老师新书《无用之美》即将发售,其中甘美提前与君共享~
  3. tensorflow中slim详解
  4. [转摘]了解 Windows Vista 内核:第三部分
  5. a的充分条件是什么意思;a的必要条件是什么意思;a是b的充分条件是什么意思;
  6. 新手如何写新闻稿?一文带你了解记者稿的写作步骤与技巧
  7. 通向沟通,通向分享!沟通无处不在,交流成就未来!
  8. 【移动开发】InfoQ 2022 年移动和物联网趋势报告
  9. 最赚钱的行业和公司排行榜(verified 版本)
  10. 关于自动完成功能的一段会话