# VisionLink会议 **Repository Path**: chaoxi6888/remote-connection ## Basic Information - **Project Name**: VisionLink会议 - **Description**: 一个linux系统的会议项目,可以进行会议视频传输,消息发送等基本功能。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-14 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视频会议 项目结构 ``` . ├── CMakeLists.txt # 项目构建配置 ├── main.cpp # 应用程序入口点 ├── networkmanager.h/cpp # 网络管理类 ├── websocketserver.h/cpp # WebSocket 服务器实现 ├── videocontroller.h/cpp # 视频控制类 ├── videoimageprovider.h/cpp # 视频图像提供者 ├── userdatabase.h/cpp # 用户数据库管理 └── QML 文件: ├── Main.qml # 主窗口和导航逻辑 ├── LoginScreen.qml # 登录界面 ├── RegisterScreen.qml # 注册界面 ├── StartScreen.qml # 开始界面 ├── ConnectScreen.qml # 连接服务器界面 └── ChatScreen.qml # 聊天主界面 ``` 一个基于 Qt、QML 和 WebSocket 的实时视频聊天应用程序,支持用户注册、登录、创建会议和加入会议功能。 ## 功能特性 实时视频聊天 - 支持本地和远程视频流传输 文字聊天功能 - 实时文本消息交流 用户管理系统 - 注册、登录 双视频显示 - 同时显示本地和对方视频画面 网络通信 - WebSocket 服务器/客户端架构 现代化界面 - 响应式 QML 用户界面设计 性能优化 - 视频帧率控制和质量调整 ## 技术架构 ### 前端技术 Qt 6.8+ - 跨平台应用框架 QML - 声明式用户界面语言 Qt Quick Controls - 现代化UI组件 ### 后端技术 C++17 - 核心业务逻辑 OpenCV - 视频捕获和处理 Boost.Asio - 异步网络通信 SQLite - 用户数据存储 WebSocket - 实时双向通信 ### 网络协议 WebSocket - 主要通信协议 JSON - 消息数据格式 Binary - 视频帧数据传输 依赖安装 Ubuntu/Debian ``` sudo apt update sudo apt install qt6-base-dev qt6-quick3d-dev libopencv-dev libboost-system-dev cmake build-essential ``` ## 详细构建步骤 1. 克隆项目 ``` git clone cd video-chat-app ``` 2. 配置构建环境 ``` mkdir build cd build cmake .. -DCMAKE_PREFIX_PATH=/path/to/qt6 -DCMAKE_BUILD_TYPE=Release ``` 3. 安装软件 Qt Creator ## 运行说明 首次运行 启动应用程序后进入登录界面 点击"注册账号"创建新账户 填写用户名和密码(至少6位字符) 注册成功后返回登录界面登录 创建会议(作为主机) 登录后点击"创建会议" 系统自动启动服务器(默认端口10000) 等待其他用户加入 进入聊天界面后可以: 开启本地摄像头 开始视频流传输 发送文字消息 加入会议(作为客户端) 登录后点击"加入会议" 输入服务器信息: IP地址(本地测试可使用localhost) 端口号(默认10000) 点击"连接"加入会议 功能与创建会议相同 ## 故障排除 常见问题 摄像头无法打开 检查系统摄像头权限 尝试不同的摄像头索引(0-4) 连接失败 检查防火墙设置 确认服务器IP和端口正确 查看终端输出的错误信息 视频卡顿 降低视频分辨率或质量 检查网络带宽 编译错误 确认所有依赖已正确安装 检查Qt版本兼容性 ## API 文档 核心类说明 NetworkManager startServer(port) - 启动WebSocket服务器 startClient(host, port) - 连接WebSocket服务器 sendMessage(text) - 发送文本消息 sendVideoFrame(image) - 发送视频帧 VideoController startVideoChat() - 启动视频捕获 stopVideoChat() - 停止视频捕获 getCurrentFrame() - 获取当前视频帧 UserDatabase registerUser(username, password) - 用户注册 loginUser(username, password) - 用户登录 userExists(username) - 检查用户是否存在