Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/macropower/prometheus_video_renderer
Render videos using Prometheus and Grafana, e.g. Bad Apple.
https://github.com/macropower/prometheus_video_renderer
bad-apple grafana grafana-dashboard prometheus
Last synced: about 3 hours ago
JSON representation
Render videos using Prometheus and Grafana, e.g. Bad Apple.
- Host: GitHub
- URL: https://github.com/macropower/prometheus_video_renderer
- Owner: MacroPower
- License: apache-2.0
- Created: 2021-05-17T00:59:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-08-13T00:05:12.000Z (about 3 years ago)
- Last Synced: 2024-06-18T23:15:46.013Z (5 months ago)
- Topics: bad-apple, grafana, grafana-dashboard, prometheus
- Language: Go
- Homepage: https://www.youtube.com/watch?v=ApJxFprSTqA
- Size: 4.99 MB
- Stars: 103
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# prometheus_video_renderer
Encode media into [Prometheus](https://prometheus.io/) metrics, display/render through the Prometheus UI or [Grafana](https://grafana.com/).
Works with: PNG, WAV, and PNG sequences (aka Video)!
## Modes
Currently 3 different modes are supported.
### Bitmap
The bitmap mode either creates a sample or does not, depending on the brightness of the source image. It is the only mode compatible with the Prometheus UI.
![bitmap-preview](docs/img/demo/bitmap.gif)
Example: https://www.youtube.com/watch?v=ApJxFprSTqA
### Grayscale
The grayscale mode creates a metric and sets a brightness label matching an override for each unique brightness.
![grayscale-preview](docs/img/demo/grayscale.png)
### RGB
The RGB mode creates offset metrics for red, green, and blue, and sets a brightness label matching an override for each unique color/brightness.
![rgb-preview](docs/img/demo/rgb.gif)
Example: https://www.youtube.com/watch?v=aLvh0oId3Go
## Audio
You can store and stream wave files using prometheus_jukebox.
Example: https://www.youtube.com/watch?v=psk20qGVF10
## Inspiration
A while back I thought [giedrius's blog post on storing ascii art in Prometheus](https://giedrius.blog/2019/09/21/is-it-a-good-idea-to-use-prometheus-for-storing-ascii-paintings/) and the corresponding [source code](https://github.com/GiedriusS/prometheuspainter) were really fun. After seeing some of [kevinjycui](https://github.com/kevinjycui/bad-apple)'s bad apple videos I thought combining these two ideas could be an interesting (and hilariously terrible) idea!
## Installation / Usage
See docs on the [renderer](docs/renderer.md) and [jukebox](docs/jukebox.md).