930 B
930 B
Project Memory — screen_cast
Last updated: initial scaffold.
Project state
- Phase 1 complete: Meson build, C++20 module headers, agent workflow, clock utility, and a passing unit test.
- Active phase is now Phase 2 (software H.264 encode/decode).
- No implementation yet for capture/codec/network/render.
Decisions
- Language: C++20 with explicit modern-C++ guidelines in
AGENTS.mdandcpp-meson-build/SKILL.md. - Build system: Meson.
- Capture: PipeWire + xdg-desktop-portal.
- Encode/Decode: FFmpeg (libavcodec, libavutil, libswscale).
- Transport: RTP over UDP; signaling via WebSocket/JSON.
- Discovery: mDNS/Avahi.
- Rendering: SDL2 or SDL3 + OpenGL.
- Namespace:
sc.
Active blockers
None.
Open questions
- GUI framework (Qt6 vs. none / CLI only) — deferred to later phase.
- Hardware acceleration strategy (VAAPI / Vulkan Video / NVENC) — evaluate after software encode path works.