FFmpeg Converter

This module automatically converts media files to different destination formats, and allows you to change a number of properties such as pixel size, frame rate, bitrate etc. It is designed as an extension of the FFmpeg Wrapper module. A common use for a module like this would be to convert video files to FLV or H264 in order to be able to embed them in a browser.

How does it work?

FFmpeg Converter takes files from CCK file fields and converts them with FFmpeg using a conversion preset of your choice. In order for this to work, you need a functional installation of FFmpeg on your web server and cron to be running. Share hosts don't usually have FFmpeg installed.

FFmpeg Converter doesn't provide any sort of video playback functionality. Support for video players etc. can be added through the theme and/or by use of a module designed for that task.

Note: This module is not for beginners, since FFmpeg requires rather complicated server configuration. A good alternative is to use a service like Vimeo instead, and include your media with Emfield.

Dependencies & integration

Version guide

6.x-1.x 6.x-2.x
Conversion setup Configuration happens in file field settings (jobs are triggered by hook_nodeapi()). Only one destination format is supported. Configuration happens in Rules. Jobs can be triggered by any events and conditions. Any number of conversions can be setup to run for a given source file.
Conversion job processing Processed by Job queue. Processed by Drupal queue.
File storage The original file as well as the converted file(s) are all stored in the same file field. Each variant of a file is stored in a separate field.
Theming/output Special Imagecache integration, theming using the ffmpeg_converter_video.tpl.php template file. Using regular theming with multiple standard file fields.
Exportability Conversion setup is exportable with the node type. Configuration presets are possible to export in one big chunk with Strongarm. Conversion setup is exportable in with Rules. Configuration presets are exportable as individual objects.
Status Not actively maintained. In beta, needs testing.

About the 6.x-2.x version

The new major version of this module shifts focus to provide a file field conversion action in Rules. This means that instead of configuring individual file fields to use FFmpeg Converter directly, you use Rules to create an action which converts a source file field to a destination file field using a conversion preset of your choice.

This new approach uses a different schema for storing files: one field for each format, rather than all formats in one field with multiple values. To migrate existing content to the new version, you can use the included FFmpeg Converter Migrate module.

This version depends on the 6.x-2.x version on FFmpeg Wrapper, and we are now using Drupal queue instead of Job Queue.

Another big change is that configuration presets now are exportable, which means you can create a module (feature) that encapsulates everything related to a certain use case in code.

Lastly, in order to keep things nice and separated, the new version does not deal with the presentation of media files at all. However, since the files are stored in different standard file fields, it will be possible for other modules or themes to create any kind of presentation that is desired.

The 2.x version is considered stable, and will only include minor additional features and bug fixes.

Credits

Written by zoo33 / SthlmConnection. Rules integration written by markusbroman and Kleve, supported by henrrrik and zoo33.

Project Information

Downloads