# Jt1078StreamServer **Repository Path**: hootuu/jt1078-stream-server ## Basic Information - **Project Name**: Jt1078StreamServer - **Description**: jt1078流媒体服务http-flv拉流,语音对讲下发 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-18 - **Last Updated**: 2025-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JT1078 流媒体服务器 这是一个基于 Netty 和 Spring Boot 的流媒体服务器项目,用于处理 JT1078 协议的音视频数据。该项目主要用于接收来自设备的音视频流,并通过 HTTP 接口提供 FLV 和 G711 音频流。 ## 功能特性 - 支持接收 JT1078 协议的音视频数据 - 支持通过 HTTP 接口提供 FLV 视频流 - 支持通过 HTTP 接口提供 G711 音频流 - 支持设备会话管理 - 支持音视频流的推送和订阅 - 推流链接断开,拉流链接不断 推流端(设备/平台)断开时,拉流端(客户端/浏览器/VLC)不会被强制断开,重新推流后可继续拉流。 适用于多路推拉流、高可用场景和级联平台转发 ## 项目结构 - `Jt1078StreamServerApplication.java`: Spring Boot 应用启动类 - `HttpStreamController.java`: 提供 HTTP 接口以流式传输 FLV 和 G711 音频 - `FLVMuxer.java`: FLV 格式封装工具类 - `FuaAssembler.java`: 用于组装 FU-A 分片 - `JT1078FrameSplitter.java`: JT1078 协议帧拆分处理器 - `TalkDownHandler.java`: 处理语音回传数据 - `UnifiedPushHandler.java`: 统一推送处理器 - `JT1078SessionManager.java`: 管理设备会话 - `JT1078NettyServer.java`: Netty 服务器实现 - `application.properties`: 配置文件 ## 安装与运行 ### 环境要求 - Java 8 或更高版本 - Maven - Git ### 构建与运行 1. 克隆仓库: ```bash git clone https://gitee.com/lxygit0731/jt1078-stream-server.git ``` 2. 进入项目目录: ```bash cd jt1078-stream-server ``` 3. 构建项目: ```bash mvn clean package ``` 4. 运行项目: ```bash mvn spring-boot:run ``` ## 使用示例 ### 获取 FLV 视频流 访问以下 URL 获取 FLV 视频流: ``` http://:/stream//.flv ``` ### 获取 G711 音频流 访问以下 URL 获取 G711 音频流: ``` http://:/audio//.g711a ``` 其中 `` 是服务器地址,`` 是服务器端口,`` 是设备 SIM 卡号,`` 是通道号。 ## 测试工具 项目包含测试工具 `JT1078TestPusher.java`,可用于测试推送 JT1078 协议数据包。 ## 贡献者指南 欢迎贡献代码和报告问题。请遵循以下步骤: 1. Fork 仓库 2. 创建新分支 3. 提交代码更改 4. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。