# tylive-srs-sdk
**Repository Path**: gdty/tylive-srs-sdk
## Basic Information
- **Project Name**: tylive-srs-sdk
- **Description**: 流媒体 Java SRS SDK,用于支持实时流媒体服务(SRS)的集成和管理。
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-09-27
- **Last Updated**: 2026-01-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Gitea
## README
# tylive-srs-sdk
## 介绍
这是一个流媒体 Java SRS SDK,用于支持实时流媒体服务(SRS)的集成和管理。
## SRS 服务端口说明
- **RTMP 直播流服务器:** `tcp://1935`
- **HTTP API 服务器:** `tcp://1985`(支持 HTTP API、WebRTC 等)
- **HTTP 流媒体服务器:** `tcp://8099`(HTTP-FLV、HLS 等)
- **WebRTC 媒体服务器:** `udp://8000`
- **流转换器(推 SRT 媒体服务器):** `udp://10080`
- **GB28181 协议支持:** `tcp://9000`, `tcp://5060`(需将配置文件中的 `$CANDIDATE` 改为外网 IP)
- **WS-HLV 服务:** `tcp://8100`
## GO 服务
- 提供 **HTTP-FLV 转 WS-HLV** 的功能。
## 配置方式
在你的 `pom.xml` 文件中添加以下配置以引入 SDK:
### Maven 仓库配置
```xml
gdteyu-maven
public
https://maven.cnb.cool/gdty/maven/-/packages/
true
true
```
### SDK 依赖配置
```xml
org.gdty.srs
tylive-srs-sdk
xxx
```
请将 `xxx` 替换为你需要的具体版本号。
## 使用说明
### 初始化 SRS
SDK 提供了 `Application` 类用于初始化和启动 SRS 服务:
```java
Application.initSRS();
```
### 启动 SRS
你可以通过以下方式启动 SRS:
```java
Application.startSRS();
```
或者指定配置文件路径启动:
```java
Application.startSRS("your_config_path");
```
### 停止 SRS
停止 SRS 服务:
```java
Application.stopSRS();
```
## 工具类说明
### CmdUtils
用于执行命令行操作,支持同步和异步执行:
- `exec(CommandLine commandLine, String cmdpath)`
- `execAsync(File executable, String[] addArguments, String cmdpath)`
- `execAsync(String cmd, String cmdpath)`
### CopyUtils
用于文件和目录的复制操作:
- `init(String SOURCESTRING, String TARGETSTRING, String sourceDir)`
- `chmod(File file)`
- `copyFile(File sourceFile, File targetFile)`
- `copyDirectory(String sourcePathString, String targetPathString)`
- `copyJarResourcesFileToTemp(URI path, String tempPath, String filePrefix)`
- `readJarFile(JarFile jarFile, String prefix)`
### FileUtils
提供文件路径和类型相关的工具方法:
- `getTypeByFilename(String fileName)`
- `getClasspath()`
- `getPath(String path)`
- `getStream(String path)`
- `getRootPath()`
- `getArch()`
## 资源文件说明
SDK 包含了 SRS 的相关资源文件,如配置文件、HTML 页面、CSS 样式、JavaScript 脚本等,用于支持 Web 控制台、播放器、发布器等功能。
## 开源许可
本项目遵循开源许可协议,请参考项目中的 `LICENSE` 文件获取详细信息。