feat: Add comprehensive screen casting system with Chromecast integration
- Add ScreenCastComponent: New threaded component for screen capture and streaming - Implement FFmpeg-based cross-platform screen capture (Linux, Windows, macOS) - Add Chromecast device discovery and streaming using pychromecast - Create web-based screen cast interface at /screen_cast with real-time controls - Add HTTP streaming server for Chromecast-compatible video delivery - Integrate screen cast settings into web dashboard configuration panel - Add --no-screen-cast command line flag (enabled by default) - Update dependencies: ffmpeg-python>=0.2.0, pychromecast>=13.0.0 New Files: - mbetterclient/core/screen_cast.py: Main ScreenCastComponent implementation - mbetterclient/web_dashboard/screen_cast_routes.py: Flask API routes - mbetterclient/web_dashboard/templates/dashboard/screen_cast.html: Web interface - test_screen_cast_integration.py: Integration test suite Key Features: - Real-time device discovery and status updates - Platform-specific audio/video input sources - Quality settings (resolution, frame rate, bitrate) - Network stream URL generation for Chromecast access - Proper component lifecycle management and cleanup - Message bus integration with WEB_ACTION support Documentation: - Updated README.md with screen casting features and usage - Added comprehensive CHANGELOG.md entry for v1.2.4 - Extended DOCUMENTATION.md with complete screen casting guide Architecture Enhancement: - Extended from 4 to 5 threaded components - Added ScreenCastConfig to settings with database persistence - Enhanced web dashboard navigation with screen cast section
Showing
| ... | ... | @@ -33,6 +33,10 @@ watchdog>=3.0.0 | 
| opencv-python>=4.5.0 | ||
| Pillow>=9.0.0 | ||
| # Screen capture and streaming (optional dependencies) | ||
| ffmpeg-python>=0.2.0 | ||
| pychromecast>=13.0.0 | ||
| # Logging | ||
| loguru>=0.7.0 | ||
| ... | ... | 
test_ffmpeg.py
0 → 100644
Please
register
or
sign in
to comment