{"id":13562451,"url":"https://github.com/synap5e/obs-screenshot-plugin","last_synced_at":"2025-04-13T06:37:26.672Z","repository":{"id":43109299,"uuid":"188004499","full_name":"synap5e/obs-screenshot-plugin","owner":"synap5e","description":"An OBS Studio filter plugin to save screenshots of a source/scene","archived":false,"fork":false,"pushed_at":"2024-09-03T22:15:35.000Z","size":144,"stargazers_count":149,"open_issues_count":19,"forks_count":25,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-26T23:06:36.364Z","etag":null,"topics":["c","obs","obs-studio","screen-capture"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synap5e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2019-05-22T09:17:54.000Z","updated_at":"2025-03-26T13:44:18.000Z","dependencies_parsed_at":"2024-01-16T18:37:36.391Z","dependency_job_id":"8dc01b6b-41d2-46d1-953b-8cdc48da3cb0","html_url":"https://github.com/synap5e/obs-screenshot-plugin","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synap5e%2Fobs-screenshot-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synap5e%2Fobs-screenshot-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synap5e%2Fobs-screenshot-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synap5e%2Fobs-screenshot-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synap5e","download_url":"https://codeload.github.com/synap5e/obs-screenshot-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675350,"owners_count":21143763,"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":["c","obs","obs-studio","screen-capture"],"created_at":"2024-08-01T13:01:08.783Z","updated_at":"2025-04-13T06:37:26.649Z","avatar_url":"https://github.com/synap5e.png","language":"CMake","funding_links":[],"categories":["CMake"],"sub_categories":[],"readme":"# screenshot-filter\n\nThis [OBS Studio](https://obsproject.com) filter saves images of the attatched source. Images can be RGBA32 .png files or raw bytes. Images can be saved to a local file, local directory, PUT to a web server, or written to a named shared memory. The plugin can be triggered on a timer or on a hotkey.\n\n**Note for users updating from version 1.2.2 and lower**\nVersion 1.3 changes the default behaviour from using a timer to using hotkeys for non-shmem screenshot filters. If you are using file/HTTP destinations on a timer, you will need to \"Enable timer\" on the filter.\nNamed Shared Memory destinations can only use timer mode, and will continue to use the timer with no changes required.\n\n![demo.png](https://raw.githubusercontent.com/synap5e/obs-screenshot-plugin/readme-images/demo.png) \n![hotkeys.png](https://raw.githubusercontent.com/synap5e/obs-screenshot-plugin/readme-images/hotkeys.png) \n\n## Destinations\n\n### Output to folder\nFiles will be written on a hotkey/timer to the selected folder with a name in the format `2020-04-27_23-29-34.png`/`2020-04-27_23-29-34.raw`.\n\n### Output to file\nThe named file will be written to on a hotkey/timer. Note that this will overwrite the file each time.\n\n### Output to URL\nThe image will be PUT to the specified URL (https is not supported) on hotkey/timer. The headers `Image-Width` and `Image-Height` will be included and may be useful for raw image mode.\n\n### Output to Named Shared Memory Output\n\nTo facilitate efficient high frequency access to image data, the 'Ouput to Named Shared Memory' option may be used.\nThis method uses CreateFileMapping with INVALID_HANDLE_VALUE to create a shared memory region that may be read by other processes.\n\nThis output method forces raw image and timer mode.\n\n## Raw output\n\nIn this mode, rather than writing/posting a .png file, the screenshot filter writes the image data uncompressed.\nThe .raw format consists of 16 bytes of header information followed by the raw RGBA data to the named shared memory.\nThe header comprises of 4 uint32_t's in the format width, height, linesize, index.\nThe header is then followed by `height * linesize` bytes of image data. \nNote that the linesize and width may differ (e.g. `linesize%32=0`, width not constrained), so to get an image of size width\\*height you may need to do strided copy. \n\n## Timer\n\nIn this mode, you can select for the image to be written automatically on a timer (between 250ms and 60s) in addition to on a hotkey.\n\n# Development\n\n## Building/Running Locally\nThis plugin was developed \"in-tree\" i.e. checking the project out into the plugins directory of a correctly-building OBS. Out-of-tree builiding should also be possible.\n\n## Github Actions + Versioning\nThe plugin will build \u0026 publish releases automatically. Big thanks to @wkpark for this work.\n\nFor incrementing version numbers, remember to update `buildspec.json` to a new version, then tag HEAD with the same version.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynap5e%2Fobs-screenshot-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynap5e%2Fobs-screenshot-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynap5e%2Fobs-screenshot-plugin/lists"}