Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

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: ""
  • 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.