Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flamendless/peeker
Multi-threaded screen recorder for LOVE, made in LOVE, for LOVE.
https://github.com/flamendless/peeker
gamedev lib love love2d lua module recorder screen
Last synced: 3 months ago
JSON representation
Multi-threaded screen recorder for LOVE, made in LOVE, for LOVE.
- Host: GitHub
- URL: https://github.com/flamendless/peeker
- Owner: flamendless
- License: mit
- Created: 2021-12-06T13:09:43.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-16T06:52:36.000Z (almost 3 years ago)
- Last Synced: 2023-03-08T10:14:15.307Z (almost 2 years ago)
- Topics: gamedev, lib, love, love2d, lua, module, recorder, screen
- Language: Lua
- Homepage:
- Size: 24.4 KB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PEEKER
Multi-threaded screen recorder for [LOVE](https://love2d.org), made in LOVE, for LOVE.
## FEATURES
* Multi-threaded
* Can record multiple videos in a single launch of love
* Can use different resolution/quality for recorded output
* Supports mp4, mkv, webm formats
* No audio## USAGE
Run [main.lua](main.lua).
This will create a folder `awesome_video` or `recorder_xxxx` (if `out_dir` is
not passed) that contains the captured frames and the output video in the [save
directory](https://love2d.org/wiki/love.filesystem) of your game.## CONFIGS
Here are the options/flags you can pass in `Peeker.start`:
* `w` - **width** of the output. Defaults to size of the window.
* `h` - **height** of the output. Defaults to size of the window.
* `scale` - this overrides the `w` and `h` flags and is preferred to keep the aspect ratio of the output.
* `fps` - **fps** of the output video. Defaults to `30`.
* `out_dir` = name of the directory where the frames will be saved. Refer to the [wiki](https://love2d.org/wiki/love.filesystem) for the save directory location. Defaults to `recorder_xxxx` where `xxxx` is `os.time`.
* `format` - either `"mp4"`, `"mkv"`, or `"webm"` for the format of the output video. Defaults to `mp4`
* `overlay` - either `"text"` or `"circle"` to display when recording status is on.
* `post_clean_frames` - if **true**, the `out_dir` will be deleted after the vide output is successfully encoded.## DEPENDENCIES
[FFMPEG](https://ffmpeg.org/) is required.
## NOTES
* Only Linux and Windows are supported for now. PRs for other OS are welcome :)