[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80882":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},80882,"fluxcast","IlyaP358\u002Ffluxcast","IlyaP358","Stream your Linux desktop to a Smart TV via Miracast\u002FWFD, DLNA, or Cast.","https:\u002F\u002Ffluxcast.secweb.cloud\u002F",null,"Python",58,5,3,10,0,6,21,24,18,2.33,"GNU General Public License v3.0",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37],"cast","gnome","hyprland","kde-plasma","linux","miracast","pipewire","python","screencast","screensharing","screensharing-tool","xdg-portal","2026-06-12 02:04:08","# FluxCast\n\n\u003Cimg src=\"https:\u002F\u002Ffluxcast.secweb.cloud\u002Fflcast_logo_512x512.png\" width=\"150\" display=\"block\">\n\nFluxCast streams a Linux desktop to a TV.\n\n## Demo\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fce01804c-2f86-4a5d-8ecf-d6f2a72f55d1\n\n## Project Status\n\nFluxCast is currently in **early $\\mathbf{\\color{red}!!!BETA!!!}$ testing**. \n\nCurrent validated scope:\n\n- `wfd` is the primary path and the only mode tested as \"release-ready\".\n- `dlna` works as fallback, using `--transport hls`.\n- `cast` is experimental and currently not working in the tested Samsung setup.\n\nThe project currently focuses on **WFD\u002FMiracast on Linux (Hyprland\u002Fwlroots class setups)**.  \nDLNA and Cast are available, but they are best treated as fallback or experimental paths.\n\nCurrent limitation:\n\n- KDE\u002FGNOME Wayland desktop capture now uses `xdg-desktop-portal` in WFD mode.\n- For portal mode, install Python dependency `dbus-next` and allow screen-share in the desktop picker dialog.\n\n## Quick Start\n\nDefault WFD run (interactive monitor\u002Fpeer selection):\n\n```bash\npython3 src\u002Fmain.py\n```\n\nWFD with latency\u002Fsession JSONL log:\n\n```bash\npython3 src\u002Fmain.py --wfd-latency-log\n```\n\nDLNA fallback:\n\n```bash\npython3 src\u002Fmain.py --protocol dlna --transport hls\n```\n\nCast mode (optional, if your TV supports it):\n\n```bash\npython3 src\u002Fmain.py --protocol cast\n```\n\nForce backend manually (if auto is not suitable on your session):\n\n```bash\npython3 src\u002Fmain.py --capture-backend wf-recorder\npython3 src\u002Fmain.py --capture-backend x11grab\npython3 src\u002Fmain.py --protocol wfd --wfd-capture-backend portal\npython3 src\u002Fmain.py --protocol wfd --wfd-capture-backend wf-recorder\npython3 src\u002Fmain.py --protocol wfd --wfd-capture-backend x11grab\n```\n\n## What Works Best\n\n### WFD (Primary)\n\n```text\nscreen + audio capture -> H.264\u002FAAC RTP -> Wi-Fi Direct + RTSP -> TV WFD receiver\n```\n\nThis is the lowest-latency and most predictable path in the current codebase.\n\n### DLNA (Fallback)\n\n```text\ndesktop capture -> HTTP stream -> DLNA\u002FUPnP AVTransport -> native TV player\n```\n\n- Prefer `--transport hls` on Samsung TVs.\n- `progressive-ts` can freeze or stutter on some models.\n\n### Cast (Optional)\n\n- Requires a TV\u002Fdevice with real Google Cast support.\n- Requires `pychromecast`.\n- Not reliable on many Samsung TV models.\n\n\n## Installation\n\n### Python packages\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FIlyaP358\u002Ffluxcast.git\ncd fluxcast\npython3 -m venv venv\npip install -r requirements.txt\npython3 src\u002Fmain.py # and flags as you need\n```\n\nDLNA\u002FCast features require additional packages listed in `requirements.txt`.\n\n### System tools (important)\n\nWFD mode also depends on system binaries, not only Python packages:\n\n- `ffmpeg`\n- `wf-recorder` (Wayland\u002Fwlroots capture path)\n- `xdg-desktop-portal` (+ desktop backend: `xdg-desktop-portal-kde` \u002F `xdg-desktop-portal-gnome` \u002F `xdg-desktop-portal-wlr`)\n- `nmcli`, `gdbus`, `iw`, `wpa_cli` (Wi-Fi Direct and diagnostics)\n- `pactl` (audio monitor autodetect)\n\nUse:\n\n```bash\npython3 src\u002Fmain.py --doctor\n```\n\nto check your machine before running WFD.\n\nNote: on KDE\u002FGNOME Wayland, WFD auto backend now prefers `portal` first.\n\n\n## Documentation\n\nDetailed flags, modes, and usage examples:  \n[documentation\u002FDOCUMENTATION.md](documentation\u002FDOCUMENTATION.md)\n\n## Tested Environment\n\nHardware:\n\n- PC: ThinkBook 14 G4+ IAP\n- CPU: Intel i5-1240P (16 threads) up to 4.40 GHz\n- GPU: Intel Iris Xe Graphics\n- RAM: 16 GB\n\nSoftware:\n\n- OS: Arch Linux\n- Kernel: 7.0.8-arch1-1\n- WM: Hyprland 0.55.2\n- DE (for testing): KDE Plasma 6.6.5 | GNOME 50.1\n- Shell: zsh 5.9\n- Terminal: kitty 0.46.2\n","FluxCast 是一个用于将 Linux 桌面流传输到智能电视的工具，支持通过 Miracast\u002FWFD、DLNA 或 Cast 协议进行投屏。其核心功能包括基于 WFD\u002FMiracast 的低延迟音视频传输，并且在 Hyprland 和 wlroots 环境下表现尤为出色；同时提供 DLNA 作为备用方案及实验性的 Cast 支持。该项目使用 Python 编写，利用了 ffmpeg、wf-recorder 等开源软件来实现屏幕捕捉与编码，适合需要将桌面内容无线分享至大屏幕设备（如家庭娱乐或会议演示）的场景。目前处于测试阶段，建议主要采用 WFD 模式以获得最佳体验。",2,"2026-06-11 04:02:40","CREATED_QUERY"]