0.0
No commit activity in last 3 years
No release in over 3 years
Backed by ActiveJob and FFMpeg
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10
~> 10.0
>= 0

Runtime

 Project Readme

Shingoncoder

A asynchronous system for handling video transcoding backed by FFMpeg.

Installation

Include this gem in your Gemfile

gem 'shingoncoder'

Create the necessary tables:

rails console
Shingoncoder::Backend::JobRegistry.create_tables!

The asynchronous behavior is handled by ActiveJob, so you need only start your workers in the usual manner.

Configuration

TODO

Shingoncoder::Backend::TranscodeService.config.ffmpeg_path = '/usr/bin/ffmpeg'

Usage

Shingoncoder::Job.create(input: 'file:///opt/originals/full.mov')
Shingoncoder::Job.create(input: 'file:///opt/originals/full.mov',
                         outputs: [{ label: 'vp8 for the web',
                                     url: 'file:///opt/derivatives/output.webm'}])

This returns a Shingoncoder::Response object which contains a Job ID and one or more Output IDs (one per output file).

Output options

url - where to put the file, (Must be a file URI for now)
size - The resolution of the output video (WxH, in pixels). Defaults to 320x240.
label - optional label

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jcoyne/shingoncoder. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.