{"id":21996708,"url":"https://github.com/nstechbytes/lpv","last_synced_at":"2025-03-23T04:43:00.472Z","repository":{"id":260100527,"uuid":"861667801","full_name":"NSTechBytes/Lpv","owner":"NSTechBytes","description":"A Python-based application to set a video as your Windows desktop wallpaper. This project leverages PyQt5, ffpyplayer, and the Windows API to provide a seamless experience of playing videos directly on your desktop background.","archived":false,"fork":false,"pushed_at":"2024-09-23T10:15:39.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T11:24:45.053Z","etag":null,"topics":["automation","desktop-customization","ffplay","multimedia","pillow","pyqt5","python","video","videowallpaper","window","windows","winreg"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NSTechBytes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-23T10:09:06.000Z","updated_at":"2024-10-12T16:04:51.000Z","dependencies_parsed_at":"2024-10-29T15:09:32.679Z","dependency_job_id":null,"html_url":"https://github.com/NSTechBytes/Lpv","commit_stats":null,"previous_names":["nstechbytes/lpv"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NSTechBytes%2FLpv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NSTechBytes%2FLpv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NSTechBytes%2FLpv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NSTechBytes%2FLpv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NSTechBytes","download_url":"https://codeload.github.com/NSTechBytes/Lpv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245056902,"owners_count":20553854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","desktop-customization","ffplay","multimedia","pillow","pyqt5","python","video","videowallpaper","window","windows","winreg"],"created_at":"2024-11-29T22:12:20.037Z","updated_at":"2025-03-23T04:43:00.443Z","avatar_url":"https://github.com/NSTechBytes.png","language":"Python","readme":"# LPV - Live Video Wallpaper\n\nA Python-based application to set a video as your Windows desktop wallpaper. This project leverages PyQt5, ffpyplayer, and the Windows API to provide a seamless experience of playing videos directly on your desktop background.\n\n## Features\n\n- **Live Video Wallpaper**: Play a video as your desktop background.\n- **Command Interface**: Control playback via command-line input (play, pause, volume control, frame rate adjustments, etc.).\n- **Auto Looping**: Videos automatically loop when they reach the end.\n- **Volume and Frame Rate Control**: Dynamically adjust video volume and frame rate through commands.\n- **Wallpaper Restoration**: Automatically restores the original wallpaper when the video stops or the application exits.\n\n## Requirements\n\n- Python 3.x\n- PyQt5\n- ffpyplayer\n- Pillow (PIL)\n- Windows OS (uses Windows APIs and registry to set and restore wallpapers)\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/NSTechBytes/Lpv.git\n   ```\n\n2. Install the required Python packages:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Ensure you are running on a Windows environment since this project uses the Windows API to manage wallpapers.\n\n## Usage\n\nTo run the application and set a video as wallpaper:\n\n```bash\npython lpv.py \u003cpath_to_video_file\u003e\n```\n\n### Available Commands\n\nOnce the application is running, you can use the following commands via stdin to control playback:\n\n- **play**: Resume video playback and restore audio.\n- **pause**: Pause video playback and mute audio.\n- **volume `\u003clevel\u003e`**: Adjust the volume (e.g., `volume 0.5` sets the volume to 50%).\n- **frames `\u003crate\u003e`**: Adjust the frame rate (e.g., `frames 30` sets the playback to 30 fps).\n- **remove**: Remove the video wallpaper and restore the original wallpaper.\n- **exit**: Exit the application and restore the original wallpaper.\n\n### Example\n\nTo set a video located at `C:\\Videos\\myvideo.mp4` as your wallpaper, run:\n\n```bash\npython lpv.py \"C:\\Videos\\myvideo.mp4\"\n```\n\nOnce the application is running, you can control playback by typing commands in the terminal, like:\n\n```bash\nplay\npause\nvolume 0.8\nframes 60\nremove\nexit\n```\n\n## How It Works\n\n- The script uses **PyQt5** to create a windowless desktop overlay that displays the video.\n- **ffpyplayer** handles video playback, while **Pillow** processes video frames for rendering as QPixmap images.\n- The app interacts with the Windows **WorkerW** window to set the video beneath the icons on the desktop.\n- Commands can be issued through stdin to control the video playback, including play, pause, volume, and frame rate adjustments.\n- When the app exits, the original desktop wallpaper is restored automatically.\n\n## Contributing\n\nIf you’d like to contribute to this project, feel free to open issues or submit pull requests. Any contributions are welcome!\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnstechbytes%2Flpv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnstechbytes%2Flpv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnstechbytes%2Flpv/lists"}