Skip to content

MacroPower/prometheus_video_renderer

Repository files navigation

prometheus_video_renderer

Encode media into Prometheus metrics, display/render through the Prometheus UI or Grafana.

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

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

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

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 and the corresponding source code were really fun. After seeing some of kevinjycui'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 and jukebox.