/snickers

:chocolate_bar: An open source alternative to the video cloud encoding services.

Primary LanguageGoApache License 2.0Apache-2.0



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.

Run!

$ 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.

Contributing

  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

License

This code is under Apache 2.0 License.