{"id":27998484,"url":"https://github.com/illixion/streamdeck-animated-screensaver","last_synced_at":"2025-05-08T22:53:34.243Z","repository":{"id":213562971,"uuid":"734403039","full_name":"illixion/StreamDeck-Animated-Screensaver","owner":"illixion","description":"Convert videos to Elgato Stream Deck preset files to be used as a screensaver","archived":false,"fork":false,"pushed_at":"2024-09-27T13:53:50.000Z","size":33,"stargazers_count":17,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T22:53:29.750Z","etag":null,"topics":["elgato","stream-deck","streamdeck","wallpaper"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/illixion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-21T15:37:28.000Z","updated_at":"2025-04-30T16:41:22.000Z","dependencies_parsed_at":"2023-12-21T18:52:27.626Z","dependency_job_id":"673b4f85-04a8-45bc-a419-7ec99e0d1892","html_url":"https://github.com/illixion/StreamDeck-Animated-Screensaver","commit_stats":null,"previous_names":["illixion/streamdeck-animated-screensaver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illixion%2FStreamDeck-Animated-Screensaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illixion%2FStreamDeck-Animated-Screensaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illixion%2FStreamDeck-Animated-Screensaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illixion%2FStreamDeck-Animated-Screensaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/illixion","download_url":"https://codeload.github.com/illixion/StreamDeck-Animated-Screensaver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253160818,"owners_count":21863624,"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":["elgato","stream-deck","streamdeck","wallpaper"],"created_at":"2025-05-08T22:53:33.562Z","updated_at":"2025-05-08T22:53:34.207Z","avatar_url":"https://github.com/illixion.png","language":"Shell","readme":"# Stream Deck Animated Screensaver\n\nThis project allows you to create an animated wallpaper that you can set up on your Elgato Stream Deck as a preset, and switch to it using a button. This is the same as the screensavers that you can get on the [Elgato Marketplace](https://marketplace.elgato.com/stream-deck/screensavers), but you can use your own videos with this project.\n\nAny video format that ffmpeg understands is supported. Any video height or width should work, however the script is designed to work best with 5:3 aspect ratio (or 1:2 on StreamDeck XL). I've tested as many edge cases as I could think of, but if you have a video that is failing to process, please let me know by opening an issue.\n\n## How this works\n\nThis script generates a fully compatible Stream Deck preset file where each key is a \"Switch Preset\" action that's set to switch to the next preset, and each key's icon is an animated `.webp` file that's taken from the source video. `.webp` is used as that's what the Elgato app converts `.gif` files to, meaning we can achieve a much higher quality for the resulting video and remove unnecessary conversions.\n\n**Please note** that pressing any buttons while the screensaver is active will automatically switch to the next preset, so you'll want to ensure that the screensaver is last in the preset list.\n\nIf this isn't desired, you can manually change which preset is used for each key in the Stream Deck app. Advanced users can also modify all `ProfileUUID` values in `template/91EBCF7F-C727-43EF-BE2F-58EE5B617867.sdProfile/Profiles/CS3KF237953I337M0QTB32DD3KZ/manifest.json` to contain the ProfileUUID of your preferred preset, which you can find by exporting a preset that contains a \"Switch Profile\" button with your desired preset. The presets that the Elgato app saves are just ZIP archives with JSON files inside.\n\n## Usage\n\n### Windows (and Linux)\n\n[Set up WSL and install Ubuntu from the Windows Store](https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview), then once that's done, run these commands:\n\n```sh\nsudo apt update\nsudo apt install --no-install-recommends wslu\nsudo apt install ffmpeg p7zip-full git\ngit clone https://github.com/illixion/StreamDeck-Animated-Screensaver.git\ncd StreamDeck-Animated-Screensaver\n\n# Put the video on your desktop and change video.mp4 to the correct file name\n./elgatoscreensaver.sh \"$(wslpath \"$(wslvar USERPROFILE)\")/Desktop/video.mp4\"\n\n# To move the resulting file back to your Desktop:\nmv *.streamDeckProfile $(wslpath \"$(wslvar USERPROFILE)\")/Desktop/\n```\n\nTo generate a screensaver for Stream Deck XL, add the `XL` argument at the end of the command like this:\n```sh\n./elgatoscreensaver.sh \"$(wslpath \"$(wslvar USERPROFILE)\")/Desktop/video.mp4\" XL\n```\n\n### macOS\n\nInstall [Homebrew](https://brew.sh), then run these commands:\n\n```sh\nbrew install ffmpeg 7z git\ngit clone https://github.com/illixion/StreamDeck-Animated-Screensaver.git\ncd StreamDeck-Animated-Screensaver\n\n./elgatoscreensaver.sh /path/to/video.mp4\n\n# You can also drag the file into the terminal window to paste the path\n\n# To open the resulting file:\nopen *.streamDeckProfile\n```\n\nTo generate a screensaver for Stream Deck XL, add the `XL` argument at the end of the command like this:\n```sh\n./elgatoscreensaver.sh /path/to/video.mp4 XL\n```\n\nThe resulting preset file will be saved in the **same folder as the script**, which you can then open using the Elgato Stream Deck software, and assign a \"Switch Profile\" action to switch to the preset containing the screensaver.\n\n## Licensing\n\nThis project is licensed under [Affero GPL](https://github.com/illixion/StreamDeck-Animated-Screensaver/blob/main/LICENSE.txt). We also offer to provide this software under an MIT license upon request.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fillixion%2Fstreamdeck-animated-screensaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fillixion%2Fstreamdeck-animated-screensaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fillixion%2Fstreamdeck-animated-screensaver/lists"}