# webrtc **Repository Path**: lx20171401132/webrtc ## Basic Information - **Project Name**: webrtc - **Description**: 基于webrtc的视频通话功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 3 - **Created**: 2024-08-08 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebRTC一对一视频通话 Vue 3 + TypeScript + Vite + nodejs ## 说明 - client为客户端前端代码 - server为服务端后端代码 - turn服务器:[Ubuntu24.04搭建turn服务器](https://blog.csdn.net/qq_43399210/article/details/141064589) - mkcert的安装和使用:[配置https访问](https://xiaoshen.blog.csdn.net/article/details/135893188) - 启动项目时先在本地使用`mkcert`生成自签证书然后替换前端和后端`ssl`文件夹中的文件, ## 项目运行环境说明 ### 开发环境 1. node: v20.9.0 (建议使用nvm管理node版本,nvm不会的自行百度,windows需要使用管理员权限打开终端执行nvm的命令) [下载windows安装包](https://github.com/coreybutler/nvm-windows/releases) 2. npm: v10.1.0 3. pnpm: v9.4.0 ### 前端依赖安装 ```shell cd client ``` ```shell pnpm i ``` ### 启动 ```shell pnpm dev ``` ### 后端依赖安装 ```shell cd server ``` ```shell pnpm i ``` ### 启动 ```shell pnpm dev ``` ## 实现效果 ### 待完善功能 - 记录通话时长 - 切换音频输出设备 - 向系统发送来电通知 ### 已实现功能 - 拨打电话 - 接听电话 - 挂断电话 - 拖拽本地视频窗口 - 检测对方是否在通话中 - 切换摄像头 - 关闭/开启麦克风 - 来电提醒手机震动(部分安卓手机可能不支持) - 关闭/开启摄像头 ![接听电话](./docs/images/img.png) ![通话中](./docs/images/img_3.png) ![用户列表](./docs/images/img_4.png)