48 lines
943 B
Markdown
48 lines
943 B
Markdown
# screen_cast
|
|
|
|
A native Linux peer-to-peer screencast application.
|
|
|
|
- **Send** your desktop or a window to another Linux machine.
|
|
- **Receive** a stream and render it in a window.
|
|
- Built with **C++20**, **Meson**, **PipeWire**, **FFmpeg**, **RTP/UDP**, and
|
|
**SDL**.
|
|
|
|
> This project is in early development. Only the skeleton exists so far.
|
|
|
|
## Quick start
|
|
|
|
Requirements:
|
|
|
|
- C++20 compiler (GCC 12+, Clang 16+)
|
|
- Meson >= 0.63
|
|
- Ninja
|
|
- (later phases) FFmpeg dev packages, PipeWire dev, SDL2/3 dev
|
|
|
|
Build and run tests:
|
|
|
|
```sh
|
|
meson setup build
|
|
meson compile -C build
|
|
meson test -C build --print-errorlogs
|
|
```
|
|
|
|
Run with verbose test output:
|
|
|
|
```sh
|
|
meson test -C build -v
|
|
```
|
|
|
|
## Architecture
|
|
|
|
See `docs/ARCHITECTURE.md` for module boundaries and design rules.
|
|
|
|
## Roadmap
|
|
|
|
Development is split into phases in `docs/PHASES.md`.
|
|
|
|
Current phase: **Phase 2 — software H.264 encode / decode**.
|
|
|
|
## License
|
|
|
|
MIT — see `LICENSE` (to be added).
|