No description
| src | ||
| .gitignore | ||
| client_commit.txt | ||
| current_head_media.ts | ||
| electron.vite.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| previous_head_media.ts | ||
| README.md | ||
| status.txt | ||
| tailwind.config.js | ||
| tsconfig.json | ||
Meet Client (Electron)
The desktop client for the Meet application. Built with Electron, React, TypeScript, and Vite.
Features
- High Quality Video: 1080p @ 30 FPS video calling.
- Screen Sharing: Low-latency 1080p screen sharing.
- Chat: Real-time text chat.
- Protocol: Custom UDP-based media transport for minimal latency.
Prerequisites
- Node.js: v18.0.0 or higher.
- NPM: v9.0.0 or higher.
Installation
-
Clone the Repository:
git clone <your-client-repo-url> cd client-electron -
Install Dependencies:
npm install
Development
Start the app in development mode with Hot Module Replacement (HMR):
npm run dev
Building for Production
To create a distributable installer/executable for your OS:
Linux
npm run build:linux
Output: dist/*.AppImage (or configured target)
Windows
npm run build:win
Output: dist/*.exe
macOS
npm run build:mac
Output: dist/*.dmg
Configuration
Connection Settings
- Server URL: When launching the app, enter your server's domain or IP (e.g.,
meet.srtk.inor192.168.1.8). - UDP Port: The client hardcodes the target UDP port to 4000. Ensure your server's firewall allows inbound UDP on port 4000.
Troubleshooting
- Black Video: Ensure "NAT Loopback" is enabled if testing locally with a public domain, or use the local IP.
- Connection Drops: Check your router's UDP flood protection / firewall settings if video freezes after a few seconds.
Project Structure
src/main/: Electron Main process (Window creation, UDP socket handling).src/renderer/: React frontend (UI, Video rendering).src/preload/: IPC bridge between Main and Renderer.