# webui **Repository Path**: laterlove/webui ## Basic Information - **Project Name**: webui - **Description**: 用于ipc摄像头UI - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RTSP流媒体转Web播放系统 ## 项目概述 这是一个完整的RTSP流媒体转Web播放系统,支持在浏览器中实时播放嵌入式设备的RTSP视频流。 ## 技术方案 - **传输协议**: HTTP-FLV(流式传输,不分片) - **延迟**: 1-3秒 - **服务端**: C++ + cpp-httplib + FFmpeg - **客户端**: HTML + flv.js - **安装程序**: Inno Setup ## 项目结构 ``` c:\work\web\ ├── rtsp_stream_service.cpp # Windows服务进程源码 ├── index.html # Web前端页面 ├── CMakeLists.txt # CMake构建配置 ├── setup.iss # Inno Setup安装脚本 ├── build.bat # 编译脚本 ├── test.bat # 测试脚本 ├── bin\Release\ # 编译输出目录 │ ├── rtsp_stream_service.exe │ ├── ffmpeg.exe │ └── *.dll # FFmpeg依赖库 ├── cpp-httplib-0.30.2\ # HTTP库 └── ffmpeg-8.0.1\ # FFmpeg库 ``` ## 快速开始 ### 1. 编译项目 ```bash cd c:\work\web build.bat ``` ### 2. 测试运行 ```bash test.bat ``` 或手动运行: ```bash cd bin\Release rtsp_stream_service.exe --run ``` 然后在浏览器中访问: http://localhost:55352/index.html ### 3. 安装为Windows服务 ```bash cd bin\Release rtsp_stream_service.exe --install ``` 卸载服务: ```bash rtsp_stream_service.exe --uninstall ``` ## 使用说明 ### Web界面操作 1. 打开浏览器访问 http://localhost:55352/index.html 2. 页面会自动检查服务状态 3. 输入RTSP流地址(例如: `rtsp://admin:admin@192.168.1.100:554/stream`) 4. 点击"开始播放"按钮 5. 视频将通过本地服务实时转换并播放 ### RTSP地址格式 支持以下格式: - `rtsp://ip:port/stream` - `rtsp://username:password@ip:port/stream` - `rtsp://username:password@ip:port/stream?params` ### URL参数 可以通过URL参数传递RTSP地址: ``` http://localhost:55352/index.html?rtsp=rtsp://admin:admin@192.168.1.100:554/stream ``` ## API接口 ### 健康检查 ``` GET http://localhost:55352/health ``` 响应: ```json {"status":"ok"} ``` ### 获取视频流 ``` POST http://localhost:55352/stream?rtsp= ``` 参数: - `rtsp`: RTSP流地址(需要URL编码) 响应: - Content-Type: `video/x-flv` - 流式传输FLV格式视频 ## 系统要求 - Windows 10/11 - Visual Studio 2022或更高版本 - CMake 3.15+ - Inno Setup(用于创建安装包) ## 编译依赖 - cpp-httplib 0.30.2 - FFmpeg 8.0.1 ## 安装包制作 使用Inno Setup编译器打开 `setup.iss`,点击编译即可生成 `setup.exe`。 安装包会: 1. 复制所有文件到 `C:\Program Files\RTSPStreamService\` 2. 安装为Windows服务(自动启动) 3. 创建开始菜单快捷方式 ## 故障排除 ### 服务无法启动 1. 检查55352端口是否被占用 2. 以管理员身份运行 3. 查看Windows事件日志 ### 视频无法播放 1. 确认RTSP地址正确 2. 检查网络连接 3. 确认FFmpeg可访问 4. 查看浏览器控制台错误信息 ### 编译错误 1. 确保安装了Visual Studio 2022 2. 确保CMake版本 >= 3.15 3. 检查FFmpeg库路径是否正确 ## 技术特点 1. **低延迟**: 使用HTTP-FLV流式传输,延迟仅1-3秒 2. **不分片**: 实时流式传输,无需等待分片生成 3. **跨浏览器**: 支持所有现代浏览器(Chrome、Firefox、Edge等) 4. **自动重连**: flv.js支持断线自动重连 5. **服务管理**: 支持安装为Windows服务,自动启动 ## 工作原理 ``` 浏览器 → 访问嵌入式设备80端口 → 加载Web页面 ↓ 检查Windows服务(localhost:55352) ↓ 存在 → 发送RTSP地址 → 服务转FLV → 浏览器播放 不存在 → 提示安装服务 ``` ## 许可证 本项目仅供学习和研究使用。 ## 联系方式 如有问题,请联系开发团队。