Months ago we wrote about video converting with CarrierWave. Implementation with Voyeur gem is pretty outdated at the moment, so I though that I could write something more up to date. This time I have used streamio-ffmpeg. However, this may not work with the latest ffmpeg builds. ffmpeg itself is required and needs to be installed manually, for example with homebrew on OSX. I have used the following code with ffmpeg version 2.4.4.
Add to your gemfile:
Custom processor will look like this (lib/carrierwave_processing/):
and your CarrierWave uploader will be something like:
You also need an initializer that will load your custom processor (
If you also need to use different formats of uploaded file in views you need to add some code to uploader mounted in your model. In my case, I have post model.
And now you are ready to convert some media files ;)
This is first part of bigger series about CarrierWave and video conversion. Stay tuned for more!
Sample app, that illustrates this blog post can be found here: prograils/video-converter-test
Photo by: startupstockphotos.com