FrameCast is a real-time LAN screen streaming system built with .NET. It captures the screen, compresses frames using JPEG, and streams them through a local TCP server to clients connected on the same network.
FrameCast works in a similar spirit to remote desktop tools like AnyDesk and TeamViewer, but it is focused purely on screen streaming over a local network rather than full remote control.
Tip
Click the image above to watch the full demo video
- Real-time screen capture
- JPEG frame compression
- TCP-based streaming
- Local network (LAN) support
- Multiple client connections
- desktop viewer
FrameCast
│
├── FrameCast.App # Desktop viewer (UI client)
├── FrameCast.Capture.Windows # Windows screen capture
├── FrameCast.Core # Shared core abstractions
├── FrameCast.Encoding # JPEG frame compression
├── FrameCast.Protocol # Frame message structure
├── FrameCast.Transport # TCP networking layer
└── FrameCast.Server # Streaming server
- The server captures the screen.
- Frames are compressed into JPEG.
- Frames are sent over TCP.
- The server broadcasts frames to connected clients.
- Clients receive and render the stream.
dotnet run src/FrameCast.Serverdotnet run src/FrameCast.AppConnect using the server machine's LAN IP.
Example:
Server IP: 192.168.1.6
Port: 5000
Both machines must be connected to the same local network.
This project is licensed under the MIT License - see the LICENSE file for details.