<!-- Easy-FLV: Java RTSP/RTMP to FLV Converter -->
# 📺 Easy-FLV: Java 实现的 RTSP/RTMP 到 FLV 转换器


## 🌟 关于 Easy-FLV
Easy-FLV 是一个用 Java 实现的库，它能够将 RTSP 或 RTMP 视频流转换为 FLV 格式，以便在浏览器中播放。它为实时视频监控、直播和视频流处理提供了一个高效、稳定且易于集成的解决方案。

### 为什么选择 Easy-FLV?
- **高效转换**：快速将视频流转换为 FLV 格式，无需复杂配置。
- **易于集成**：作为 Spring Boot Starter 使用，轻松集成到任何 Java 项目。
- **现代浏览器支持**：支持所有主流浏览器，无需额外插件。
- **实时流处理**：适用于实时视频流的转换，如安防监控和直播。


## 🚀 快速开始

### 添加 Maven 依赖
在你的 Spring Boot 项目中，添加以下 Maven 依赖：

```xml
<dependency>
    <groupId>me.zhengjie</groupId>
    <artifactId>eladmin-flv</artifactId>
    <version>1.1</version>
</dependency>
```

### 实现接口
创建一个服务类来实现 `IOpenFLVService` 接口，并提供流地址：

```java
@Service
public class RtspDataService implements IOpenFLVService {

    @Override
    public String getUrl(Integer channel) {
        // 根据 channel 获取 RTSP 视频流地址
        return "rtsp://xx.xx.xx.xx/openUrl/16HV8mA";
    }
}
```

### 配置 YAML
在 `application.yml` 中配置 Easy-FLV：

```yaml
easy:
  flv:
    host: http://localhost:8200
```

### 使用接口
通过以下接口获取转换后的流地址，并在浏览器中播放：

- 转换地址：`GET http://ip:port/get/flv/hls/stream_{channel}.flv`
- 播放地址：`GET http://ip:port/flv/hls/stream_{channel}.flv`

### 直接使用
如果不使用接口，可以直接编码流地址并转换：

```java
public static void main(String[] args) throws UnsupportedEncodingException {
    String url = "rtsp://XXXXXXXX";
    String encodedUrl = java.net.URLEncoder.encode(url, "UTF-8");
    System.out.println("Encoded Stream URL: " + encodedUrl);
}
```

- 转换地址：`GET http://ip:port/get/flv/hls/stream?url=编码后的地址`
- 播放地址：`GET http://ip:port/flv/hls/stream?url=编码后的地址`

## 🛠️ 贡献
我们欢迎任何形式的贡献，包括但不限于报告 bug、提交修复、添加新功能、改进文档等。

## 📄 许可证
Easy-FLV 根据 [Apache License 2.0](LICENSE) 发布。