# media-kit
**Repository Path**: sun-jiawang/media-kit
## Basic Information
- **Project Name**: media-kit
- **Description**: 个人使用
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-21
- **Last Updated**: 2026-05-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Media Server
一个轻量级的RTSP流媒体拉流代理服务,支持将RTSP流转换为浏览器可直接播放的FLV/HLS格式。
## 功能特性
- RTSP流拉取与代理
- 格式转换:RTSP → HTTP-FLV / WebSocket-FLV / HLS / RTMP
- 支持动态配置媒体服务IP
- 提供RESTful API接口
## 技术栈
- Java 8
- Spring Boot 2.7.x
- ZLMediaKit (zlm4j)
- Lombok
- Hutool
## 快速开始
### 环境要求
- JDK 8+
- Maven 3.6+
### 构建运行
```bash
# 编译
mvn clean package -DskipTests
# 运行
java -jar target/media-server.jar
```
## API接口
### 1. 添加拉流代理
**请求**:
```
POST /index/api/addStreamProxy
Content-Type: application/json
{
"app": "live",
"stream": "camera01",
"url": "rtsp://192.168.1.100:554/stream",
"mediaIp": "10.0.0.10"
}
```
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| app | String | 是 | 应用名称,默认live |
| stream | String | 是 | 流名称 |
| url | String | 是 | RTSP源地址 |
| mediaIp | String | 否 | 媒体服务对外IP,默认使用配置文件 |
| enableHls | Integer | 否 | 是否开启HLS(1/0),默认1 |
| enableRtsp | Integer | 否 | 是否开启RTSP(1/0),默认1 |
| enableRtmp | Integer | 否 | 是否开启RTMP(1/0),默认1 |
**响应**:
```json
{
"code": 200,
"msg": "success",
"data": {
"key": "abc123xyz",
"app": "live",
"stream": "camera01",
"hlsUrl": "http://10.0.0.10:7080/live/camera01/hls.m3u8",
"rtspUrl": "rtsp://10.0.0.10:7554/live/camera01",
"rtmpUrl": "rtmp://10.0.0.10:7935/live/camera01",
"wsFlvUrl": "ws://10.0.0.10:7080/live/camera01.live.flv",
"httpFlvUrl": "http://10.0.0.10:7080/live/camera01.live.flv"
}
}
```
### 2. 关闭拉流代理
**请求**:
```
POST /index/api/delStreamProxy?key=abc123xyz
```
**响应**:
```json
{
"code": 200,
"msg": "success",
"data": true
}
```
## 配置说明
`application.yml` 主要配置项:
```yaml
server:
port: 8899
media:
media_ip: 192.168.150.118 # 媒体服务IP
http_port: 7080 # HTTP/FLV端口
rtmp_port: 7935 # RTMP端口
rtsp_port: 7554 # RTSP端口
enable_hls: 1 # 开启HLS
enable_rtsp: 1 # 开启RTSP
enable_rtmp: 1 # 开启RTMP
```
## 前端播放示例
### 使用HTTP-FLV
```html
```
### 使用HLS
```html
```
## 端口说明
| 端口 | 协议 | 用途 |
|------|------|------|
| 8899 | HTTP | REST API |
| 7080 | HTTP | HTTP-FLV / HLS |
| 7935 | RTMP | RTMP推流/播放 |
| 7554 | RTSP | RTSP播放 |