🍫 An open source alternative to the video cloud encoding services.
Switch branches/tags
Nothing to show
Clone or download


Build Status codecov Go Report Card

Snickers is an open source alternative to the existent cloud encoding services. It is a HTTP API that encode videos.

Setting Up

First make sure you have Go and FFmpeg with --enable-shared installed on your machine. If you don't know what this means, look at how the dependencies are being installed on our Dockerfile.

Download the dependencies:

$ make build

You can store presets and jobs on memory or MongoDB. On your config.json file:

  • For MongoDB, set DATABASE_DRIVER: "mongo" and MONGODB_HOST: "your.mongo.host"
  • For memory, just set DATABASE_DRIVER: "memory" and you're good to go.

Please be aware that in case you use memory, Snickers will persist the data only while the application is running.


$ make run

Running tests

Make sure you have mediainfo installed and a local instance of MongoDB running.

$ make test

Using the API

Check out the Wiki to learn how to use the API.


  1. Fork it
  2. Create your feature branch: git checkout -b my-awesome-new-feature
  3. Commit your changes: git commit -m 'Add some awesome feature'
  4. Push to the branch: git push origin my-awesome-new-feature
  5. Submit a pull request


This code is under Apache 2.0 License.