Skip to content

daansystems/groovy.video

Repository files navigation

Groovy.Video

Groovy.Video

Create cool videos from your music.

Description

Groovy.Video is a commandline tool to render a visuals video from an input audio file. It uses offscreen OpenGL rendering and hardware accelerated encoding of a MP4 video in VP9/Opus format.

Generate Video Online

I've created an online service to generate a video at https://groovy.video

If you'd like to support the project you can pay a small amount to generate a Full HD video online.

Building yourself

Dependencies

  • This has only been tested on Arch Linux.
  • The visuals are generated by projectM using the Cream of the Crop presets.
  • It uses the VAAPI interface of FFmpeg to do hardware accelerated video encoding of VP9. It only works on Intel Graphics.
  • It uses the Mesa OpenGL drivers and EGL libary to create an offscreen hardware accelerated rendering context.
  • It uses libva-cpp to wrap the FFmpeg API.
  • It uses argparse to parse commandline arguments.
  • it Uses CRC++ to encode the CRC32 of presets.

Installing (Arch Linux)

pacman -S ffmpeg mesa libva-intel-driver intel-media-driver
git clone --recurse-submodules https://github.com/daansystems/groovy.video
make

Executing program

  • Please note on Intel architectures earlier than Icelake you need to set the LIBVA_DRIVER_NAME=i965 environment variable. Otherwise VP9 encoding will not be available.
Usage: ./groovy.video [options...]
Options:
    -i, --input            input audio file        (Required)
    -o, --output           output video file       (Required)
    -w, --width            video width (default 1280)
    -h, --height           video height (default 720)
    -d, --duration         preset duration in seconds (default 15)
    -p, --presets          presets (comma separated crc32 of filename)
    -l, --layer            filename of overlay image
    -m, --watermark        filename of watermark image

Example:

./groovy.video -i test/stereo-test.mp3 -o stereo-test.mp4 -p 2948676508 -m test/groovy.video.png

Support

If you have an issue please create one on the Github project. If you'd like to contribute please create a Pull Request.

Authors

DaanSystems

Version History

  • 0.1
    • Initial Release

License

This project is licensed under the GPLv2 License - see the LICENSE file for details

About

Create cool videos from your music

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published