• Stefy Lanza (nextime / spora )'s avatar
    feat: Add comprehensive screen casting system with Chromecast integration · ee74dc06
    Stefy Lanza (nextime / spora ) authored
    - 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
    ee74dc06
Name
Last commit
Last update
assets Loading commit data...
mbetterclient Loading commit data...
packages Loading commit data...
uploads Loading commit data...
.gitignore Loading commit data...
CHANGELOG.md Loading commit data...
DOCUMENTATION.md Loading commit data...
LICENSE Loading commit data...
PyQt6_UPGRADE_SUMMARY.md Loading commit data...
PyQt6_VIDEO_PLAYER_DOCUMENTATION.md Loading commit data...
README.md Loading commit data...
build.bat Loading commit data...
build.py Loading commit data...
build.sh Loading commit data...
main.py Loading commit data...
requirements.txt Loading commit data...
test_ffmpeg.py Loading commit data...
test_persistent_dirs.py Loading commit data...
test_screen_cast_integration.py Loading commit data...