# lalserver-java-sdk **Repository Path**: joelive/lalserver-java-sdk ## Basic Information - **Project Name**: lalserver-java-sdk - **Description**: ⚡ 用 Java 快速接入 LAL 的全部能力:推流、拉流、鉴权、代理、统计——零依赖、零配置、三分钟跑通,支持 RTMP、RTSP、HLS、HTTP-FLV、WebRTC 等主流协议. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-09-12 - **Last Updated**: 2025-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🚀 LAL Server Java SDK **企业级流媒体服务器 Java 开发套件** [![Java](https://img.shields.io/badge/Java-8+-orange.svg)](https://www.oracle.com/java/) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7.0-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Maven](https://img.shields.io/badge/Maven-3.6+-blue.svg)](https://maven.apache.org/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) *基于 LAL (Live And Live) 流媒体服务器的高性能 Java SDK* [快速开始](#-快速开始) • [核心特性](#-核心特性) • [架构设计](#-架构设计) • [API 文档](#-api-文档)
--- ## 为什么选择 LAL Server Java SDK? ### LAL 流媒体服务器的技术优势 **LAL (Live And Live)** 是新一代高性能流媒体服务器,具备以下核心优势: - **极致性能**: 基于 Go 语言开发,单机支持万级并发连接 - **协议全覆盖**: 原生支持 RTMP、RTSP、HLS、HTTP-FLV、WebRTC 等主流协议 - **超低延迟**: WebRTC 毫秒级延迟,HLS 可配置 1-3 秒延迟 - **零配置启动**: 开箱即用,无需复杂配置 - **实时监控**: 内置丰富的统计和监控接口 - **云原生**: 支持容器化部署,完美适配微服务架构 ### 本 SDK 的独特价值 本 SDK 不仅仅是简单的 API 封装,而是为企业级应用量身打造的完整解决方案: ## ✨ 核心特性 ### 企业级安全代理 - **Token 认证机制**: 基于时效性 Token 的访问控制 - **IP 白名单**: 精确的客户端 IP 绑定验证 - **会话管理**: 自动清理过期会话,防止资源泄露 - **防盗链保护**: 多层安全验证,确保流媒体资源安全 ### 微服务架构设计 - **Spring Boot 集成**: 开箱即用的 Web 应用框架 - **RESTful API**: 标准化的 HTTP 接口设计 - **模块化架构**: 清晰的分层设计,易于扩展和维护 - **配置外部化**: 支持多环境配置管理 ### 多协议流媒体支持 ``` String flvUrl = client.getFlvUrl("live_stream"); // HTTP-FLV String hlsUrl = client.getHlsUrl("live_stream"); // HLS String webrtcUrl = client.getWebRtcUrl("live_stream"); // WebRTC String secureFlv = client.getSecureFlvUrl("live_stream", clientIp); ``` ### 智能流管理 - **RTSP 拉流**: 支持从 IP 摄像头、NVR 等设备拉取流 - **流状态监控**: 实时获取流的连接数、码率等统计信息 - **自动重连**: 网络异常时的智能重连机制 - **负载均衡**: 支持多实例部署和负载分发 ## 🚀 快速开始 ### 环境要求 - **Java**: JDK 8 或更高版本 - **Maven**: 3.6+ - **LAL Server**: 运行中的 LAL 流媒体服务器实例 ### ⚡ 一键启动 ```bash # 克隆项目 git clone https://github.com/your-org/lalserver-java-sdk.git cd lalserver-java-sdk # 启动 Spring Boot 应用 mvn spring-boot:run ``` **就是这么简单!** 访问 http://localhost:8081 即可看到管理界面 ### Web 管理界面 我们提供了直观的 Web 界面,让您无需编写代码即可: - 📺 **流管理**: 启动/停止 RTSP 拉流 - 🔍 **实时监控**: 查看流状态和统计信息 - 🔗 **URL 生成**: 一键生成各种格式的播放地址 - 🛡️ **安全配置**: 管理访问令牌和权限 ![管理界面](imgs/img.png) ![流监控](imgs/img1.png) ![URL管理](imgs/img_2.png) ## 📚 API 文档 ### 🎬 流管理 API #### 启动 RTSP 拉流 ```http POST /api/lalserver/start-pull Content-Type: application/json { "streamName": "camera01", "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1" } ``` #### 获取流播放地址 ```http GET /api/lalserver/urls/camera01 ``` 响应示例: ```json { "success": true, "data": { "flv": "http://localhost:8080/proxy/secure/camera01.flv?token=abc123&expires=1640995200", "hls": "http://localhost:8080/proxy/secure/camera01/playlist.m3u8?token=def456&expires=1640995200", "webrtc": "http://localhost:8080/proxy/secure/webrtc/play?stream_name=camera01&token=ghi789&expires=1640995200" } } ``` ### 🔐 安全 API #### Token 验证 ```http POST /api/lalserver/validate-token Content-Type: application/json { "token": "your-token-here", "streamName": "camera01", "clientIp": "192.168.1.100" } ``` ## 🛠️ 高级配置 ### 📝 application.yml 配置 ```yaml lalserver: # LAL 服务器配置 api-url: http://localhost:8080 # LAL HTTP API 地址 stream-url: http://localhost:8080 # 流媒体访问地址 proxy-base-url: http://localhost:8081 # 代理服务地址 enable-security-proxy: true ``` ### 🔧 编程式配置 ```java @Configuration public class LalConfig { @Bean public LalServerClient lalServerClient() { return new LalServerClient( "http://lal-server:8080", // LAL API 地址 "http://proxy-server:8081", // 代理服务地址 "http://lal-server:8080" // 流媒体地址 ); } } ``` ## 🎯 使用场景 ### 📹 视频监控系统 - IP 摄像头接入和管理 - 多路视频流的统一分发 - 移动端和 Web 端的跨平台播放 ### 📡 直播平台 - RTMP 推流接收和转码 - 多格式流媒体分发 - CDN 加速和负载均衡 ### 🏢 企业内训 - 会议直播和录制 - 培训视频点播 - 多终端同步观看 ### 🎮 游戏直播 - 超低延迟的 WebRTC 传输 - 弹幕和互动功能集成 - 高并发观众支持 ## 🔧 开发指南 ### 🧪 单元测试 ```bash # 运行所有测试 mvn test # 运行特定测试类 mvn test -Dtest=LalServerClientTest ``` ### 📦 构建部署 ```bash # 构建 JAR 包 mvn clean package # Docker 部署 docker build -t lalserver-java-sdk . docker run -p 8081:8081 lalserver-java-sdk ``` ### 🐛 调试模式 ```bash # 启用调试日志 mvn spring-boot:run -Dspring.profiles.active=debug ```
**⭐ 如果这个项目对您有帮助,请给我们一个 Star!**