From 1aba8c101466315e8f28274ffdae89550f472789 Mon Sep 17 00:00:00 2001 From: xgc Date: Sun, 28 Apr 2024 22:32:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 README.en.md diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..8208e02 --- /dev/null +++ b/README.en.md @@ -0,0 +1,91 @@ + +# 📺 Easy-FLV: Java RTSP/RTMP to FLV Converter + +[![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) + +## 🌟 About Easy-FLV +Easy-FLV is a Java library that converts RTSP or RTMP video streams into FLV format for playback in web browsers. It provides an efficient, stable, and easily integrable solution for real-time video monitoring, live streaming, and video stream processing. + +### Why Choose Easy-FLV? +- **Efficient Conversion**: Quickly converts video streams to FLV format with no complex configuration required. +- **Easy Integration**: Used as a Spring Boot Starter, it can be easily integrated into any Java project. +- **Modern Browser Support**: Supports all major modern browsers without the need for additional plugins. +- **Real-time Stream Processing**: Suitable for the conversion of real-time video streams, such as security monitoring and live broadcasting. + +## 📄 Screenshots +Below are screenshots of Easy-FLV in action: + +![img_1.png](img_1.png) +![img.png](img.png) + +## 🚀 Quick Start + +### Add Maven Dependency +Include the following Maven dependency in your Spring Boot project: + +```xml + + io.github.javpower + rtsp-converter-flv-spring-boot-starter + 1.5.9.1 + +``` + +### Implement Interface +Create a service class that implements the `IOpenFLVService` interface to provide the stream address: + +```java +@Service +public class RtspDataService implements IOpenFLVService { + + @Override + public String getUrl(Integer channel) { + // Retrieve the RTSP stream address based on the channel + return "rtsp://10.11.9.251:554/openUrl/16HV8mA"; + } +} +``` + +### Configure YAML +Configure Easy-FLV in your `application.yml`: + +```yaml +easy: + flv: + host: http://localhost:8200 +``` + +### Use Interface +To get the converted stream address and play it in a browser: + +- Conversion URL: `GET http://ip:port/get/flv/hls/stream_{channel}.flv` +- Direct Browser Playback: `GET http://ip:port/flv/hls/stream_{channel}.flv` + +### Direct Usage +If you prefer not to implement an interface, you can directly encode the stream address and convert it: + +```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); +} +``` + +- Conversion URL: `GET http://ip:port/get/flv/hls/stream?url=EncodedAddress` +- Direct Browser Playback: `GET http://ip:port/flv/hls/stream?url=EncodedAddress` + +## 🛠️ Contribution +Contributions of any kind are welcome, including but not limited to reporting bugs, submitting fixes, adding new features, and improving documentation. + +## 📄 License +Easy-FLV is released under the [Apache License 2.0](LICENSE). + +## 📧 Contact +- Email: [javpower@163.com](mailto:javpower@163.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)