# tylive-zlm-sdk **Repository Path**: gdty/tylive-zlm-sdk ## Basic Information - **Project Name**: tylive-zlm-sdk - **Description**: 流媒体服务的 Java SDK,集成了 ZLM(ZLMediaKit)流媒体服务器和 SIP 服务。它支持多种流媒体协议,包括 WebRTC、HTTP-FLV、HLS 等,并提供 RTP 代理功能。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-09-27 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Gitea ## README # tylive-zlm-sdk ## 介绍 这是一个用于流媒体服务的 Java SDK,集成了 ZLM(ZLMediaKit)流媒体服务器和 SIP 服务。它支持多种流媒体协议,包括 WebRTC、HTTP-FLV、HLS 等,并提供 RTP 代理功能。 主要功能包括: - TCP 服务监听在 `9092` 端口,用于 HTTP API 和流媒体服务。 - UDP 服务监听在 `10000` 端口,用于 GB28181 RTP 代理。 - SIP 服务为外置服务。 - 提供回调函数机制,用于处理流媒体事件。 ## 配置 ### Maven 依赖配置 在 `pom.xml` 文件中添加以下依赖: ```xml gdteyu-maven public https://maven.cnb.cool/gdtyyu/maven/-/packages/ true true org.gdty.zlm tylive-zlm-sdk xxx ``` ### 启动配置 在 Spring Boot 项目中,使用以下注解启用调度和缓存功能: ```java @EnableScheduling @EnableCaching @ServletComponentScan("com") @ComponentScan(basePackages = {"com"}) ``` ## 使用方式 ### 初始化 ZLM 服务 通过 `Application` 类提供的静态方法初始化和启动 ZLM 流媒体服务: ```java Application.initZLM(); Application.startZLM(); // 或者使用 Application.startZLM("自定义配置路径") ``` ### 停止服务 使用以下方法停止 ZLM 服务: ```java Application.stopZLM(); ``` ### 主要类说明 - `Application`: 提供 ZLM 初始化、启动和停止方法。 - `CmdUtils`: 提供执行命令行工具的方法。 - `CopyUtils`: 提供文件和目录复制功能。 - `FileUtils`: 提供文件路径、文件流等工具方法。 ## 示例代码 ### 启动 ZLM 服务 ```java public static void main(String[] args) { Application.initZLM(); Application.startZLM(); } ``` ### 执行命令行操作 ```java CmdUtils.execAsync("ffmpeg -i input.mp4 output.flv"); ``` ### 文件复制 ```java CopyUtils.copyDirectory("source/path", "target/path"); ``` ## 附录 - **ZLM 配置文件**: `config.ini` - **回调函数**: 需要根据业务需求实现回调逻辑。 - **流媒体协议支持**: HTTP-FLV、HLS、WebRTC 等。 如需更详细的接口文档,请参考 Swagger UI 页面。