No description
Find a file
2026-02-09 22:42:52 +05:30
src Final fixes 2026-02-09 22:21:11 +05:30
.gitignore Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30
electron.vite.config.ts Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30
package-lock.json Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30
package.json chore: revert audio logic to webcodecs 2026-02-09 17:06:56 +05:30
postcss.config.js Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30
README.md Fix VideoTile bug and improve screen sharing 2026-02-08 23:26:40 +05:30
tailwind.config.js Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30
tsconfig.json Initial commit: Electron video/audio calling client 2026-02-08 15:40:22 +05:30

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

  1. Clone the Repository:

    git clone <your-client-repo-url>
    cd client-electron
    
  2. 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.in or 192.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.