Fix VideoTile bug and improve screen sharing
This commit is contained in:
parent
d489873060
commit
cade45d16d
7 changed files with 124 additions and 20 deletions
70
README.md
Normal file
70
README.md
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# 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**:
|
||||
```bash
|
||||
git clone <your-client-repo-url>
|
||||
cd client-electron
|
||||
```
|
||||
|
||||
2. **Install Dependencies**:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Start the app in development mode with Hot Module Replacement (HMR):
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Building for Production
|
||||
|
||||
To create a distributable installer/executable for your OS:
|
||||
|
||||
### Linux
|
||||
```bash
|
||||
npm run build:linux
|
||||
```
|
||||
Output: `dist/*.AppImage` (or configured target)
|
||||
|
||||
### Windows
|
||||
```bash
|
||||
npm run build:win
|
||||
```
|
||||
Output: `dist/*.exe`
|
||||
|
||||
### macOS
|
||||
```bash
|
||||
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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue