# 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播放 |