This commit is contained in:
tangzh 2025-06-11 16:37:56 +08:00
parent 6e440900e8
commit 0c6869f6b2
2 changed files with 35 additions and 50 deletions

View File

@ -1,11 +1,6 @@
<!-- Easy-FLV: Java RTSP/RTMP to FLV Converter --> <!-- Easy-FLV: Java RTSP/RTMP to FLV Converter -->
# 📺 Easy-FLV: Java 实现的 RTSP/RTMP 到 FLV 转换器 # 📺 Easy-FLV: Java 实现的 RTSP/RTMP 到 FLV 转换器
[![GitHub stars](https://img.shields.io/github/stars/javpower/easy-flv.svg)](https://github.com/javpower/easy-flv)
[![GitHub issues](https://img.shields.io/github/issues/javpower/easy-flv.svg)](https://github.com/javpower/easy-flv/issues)
[![Apache License 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Java Version](https://img.shields.io/badge/java-1.8+-orange.svg)](https://adoptopenjdk.net/)
[![Spring Boot](https://img.shields.io/badge/spring--boot-2.7.+-blue.svg)](https://spring.io/projects/spring-boot)
## 🌟 关于 Easy-FLV ## 🌟 关于 Easy-FLV
Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流转换为 FLV 格式,以便在浏览器中播放。它为实时视频监控、直播和视频流处理提供了一个高效、稳定且易于集成的解决方案。 Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流转换为 FLV 格式,以便在浏览器中播放。它为实时视频监控、直播和视频流处理提供了一个高效、稳定且易于集成的解决方案。
@ -16,11 +11,6 @@ Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流
- **现代浏览器支持**:支持所有主流浏览器,无需额外插件。 - **现代浏览器支持**:支持所有主流浏览器,无需额外插件。
- **实时流处理**:适用于实时视频流的转换,如安防监控和直播。 - **实时流处理**:适用于实时视频流的转换,如安防监控和直播。
## 📄 效果图
以下是 Easy-FLV 在行动的效果图:
![img_1.png](img_1.png)
![img.png](img.png)
## 🚀 快速开始 ## 🚀 快速开始
@ -29,9 +19,9 @@ Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流
```xml ```xml
<dependency> <dependency>
<groupId>io.github.javpower</groupId> <groupId>me.zhengjie</groupId>
<artifactId>rtsp-converter-flv-spring-boot-starter</artifactId> <artifactId>eladmin-flv</artifactId>
<version>1.5.9.1</version> <version>1.1</version>
</dependency> </dependency>
``` ```
@ -45,7 +35,7 @@ public class RtspDataService implements IOpenFLVService {
@Override @Override
public String getUrl(Integer channel) { public String getUrl(Integer channel) {
// 根据 channel 获取 RTSP 视频流地址 // 根据 channel 获取 RTSP 视频流地址
return "rtsp://10.11.9.251:554/openUrl/16HV8mA"; return "rtsp://xx.xx.xx.xx/openUrl/16HV8mA";
} }
} }
``` ```
@ -83,9 +73,4 @@ public static void main(String[] args) throws UnsupportedEncodingException {
我们欢迎任何形式的贡献,包括但不限于报告 bug、提交修复、添加新功能、改进文档等。 我们欢迎任何形式的贡献,包括但不限于报告 bug、提交修复、添加新功能、改进文档等。
## 📄 许可证 ## 📄 许可证
Easy-FLV 根据 [Apache License 2.0](LICENSE) 发布。 Easy-FLV 根据 [Apache License 2.0](LICENSE) 发布。
## 📧 联系
- Email: [javpower@163.com](mailto:your-email@example.com)
- GitHub: [https://github.com/javpower/easy-flv](https://github.com/javpower/easy-flv)
- Gitee: [https://gitee.com/giteeClass/easy-flv](https://gitee.com/giteeClass/easy-flv)

View File

@ -1,30 +1,30 @@
package com.gc.easy.flv.controller; //package com.gc.easy.flv.controller;
//
import com.gc.easy.flv.config.FlvConfig; //import com.gc.easy.flv.config.FlvConfig;
import me.zhengjie.annotation.rest.AnonymousGetMapping; //import me.zhengjie.annotation.rest.AnonymousGetMapping;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; //import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; //import org.springframework.ui.Model;
//
import java.io.UnsupportedEncodingException; //import java.io.UnsupportedEncodingException;
//
/** ///**
* FLV流转换 // * FLV流转换
* // *
* @author gc.x // * @author gc.x
*/ // */
@Controller //@Controller
public class FLVPlayController { //public class FLVPlayController {
@Autowired // @Autowired
private FlvConfig flvConfig; // private FlvConfig flvConfig;
//
@AnonymousGetMapping(value = "/flv/hls/stream") // @AnonymousGetMapping(value = "/flv/hls/stream")
public String getAppHtml1(String url, Model model) throws UnsupportedEncodingException { // public String getAppHtml1(String url, Model model) throws UnsupportedEncodingException {
String decodedUrl = java.net.URLDecoder.decode(url, "UTF-8"); // String decodedUrl = java.net.URLDecoder.decode(url, "UTF-8");
String videoPath="/api/front/flv/get/stream?url="+decodedUrl; // String videoPath="/api/front/flv/get/stream?url="+decodedUrl;
model.addAttribute("videoPath", videoPath); // model.addAttribute("videoPath", videoPath);
model.addAttribute("wight", flvConfig.getWight()); // model.addAttribute("wight", flvConfig.getWight());
model.addAttribute("height", flvConfig.getHeight()); // model.addAttribute("height", flvConfig.getHeight());
return "video"; // return "video";
} // }
} //}