How ilyap358/fluxcast works
FluxCast is a Linux desktop-to-TV streaming application. Its primary workflow selects a monitor and Wi-Fi Direct peer, negotiates a Miracast/WFD session, captures and encodes desktop media, then sends it to the TV over RTP. DLNA and Cast are separate fallback/experimental routes. The README documents these product paths; sampled source confirms parts of WFD media, RTSP, capture, tray, and Cast behavior, so uncertain internal wiring is omitted.
Main entry points: main.py CLI orchestrator · session.py WFD session · pipeline.py Media pipeline · server.py HTTP stream server
Components 20
App entry
- CLI orchestrator
src/main.py - Diagnostics
src/diagnostics.py
WFD streaming
- WFD session
src/wfd/session.py - Wi-Fi Direct
src/wfd/p2p - NetworkManager backend
src/wfd/p2p/nm.py - Supplicant backend
src/wfd/p2p/wpas.py - RTSP server
src/wfd/rtsp/rtsp_server.py - WFD negotiation
src/wfd/rtsp/handler.py - Media pipeline
src/wfd/media/pipeline.py - Capture backends
src/wfd/media - Input backchannel
src/drivers/uibc.py
Other protocols
- DLNA sender
src/dlna/dlna.py - Cast sender
src/cast/cast.py - HTTP stream server
src/server.py
Desktop interaction
- System tray
src/ui/tray.py - Monitor capture
src/capture/capture.py - Portal capture
src/capture/portal_capture.py
Other components
- Desktop user
- WFD receiver
- TV or receiver
Connections 24
- Desktop user → CLI orchestrator: chooses mode
- Desktop user → System tray: uses controls
- System tray → CLI orchestrator: launches mode
- CLI orchestrator → Diagnostics: runs checks
- CLI orchestrator → WFD session: starts WFD
- WFD session → Monitor capture: selects monitor
- WFD session → Wi-Fi Direct: connects peer
- Wi-Fi Direct → NetworkManager backend: uses backend
- Wi-Fi Direct → Supplicant backend: uses backend
- WFD session → RTSP server: starts session server
- WFD receiver → RTSP server: opens session
- RTSP server → WFD negotiation: dispatches requests
- WFD negotiation → Media pipeline: starts media
- Media pipeline → Capture backends: uses capture backend
- Media pipeline → Portal capture: opens portal session
- WFD negotiation → Input backchannel: starts input channel
- Input backchannel → Desktop user: injects local input
- CLI orchestrator → DLNA sender: starts DLNA
- CLI orchestrator → Cast sender: starts Cast
- CLI orchestrator → HTTP stream server: starts stream server
- DLNA sender → HTTP stream server: serves HTTP stream
- Cast sender → HTTP stream server: plays stream URL
- HTTP stream server → TV or receiver: streams media
- Media pipeline → WFD receiver: sends RTP media