FFmpeg

Last updated on
30 April 2025

For Blue Droplet Video to play videos in the browser, it needs to convert them into a format that is compatible with Flash. It can also be necessary to scale down and reduce the bandwidth requirements of the video. This process is called transcoding.

To transcode your videos locally on your server, Blue Droplet Video uses FFmpeg. This is free software, like Drupal.

If you are using the transcoder at bluedroplet.com (paid service), then you do not require FFmpeg.

Installation

These instructions are specific to unix systems like Linux / OS X. It is recommend that Blue Droplet Video (and Drupal in general) be deployed on a unix system.

The important thing when installing FFmpeg is ensuring that it supports the codecs you require. The FFmpeg packaged with your distro may have poor codec support. It is therefore recommend that FFmpeg be compiled from source.

Note: if you have multiple cores, compilation times can be reduced by using the make -j parameter, e.g. for a dual-core processor:

make -j2

Installing x264

FFmpeg needs external libraries for some of its codec support. Most of these can normally be provided by your distribution. The exception is x264 support for encoding H.264, which should be the very latest version.

Make sure you have Git installed. If you are using Linux, your distro will be able to provide it for you.

git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix=/usr --disable-avs --disable-lavf --disable-ffms --disable-gpac --disable-swscale --enable-shared
make
sudo make install
cd ..

Installing FFmpeg

Checkout FFmpeg from its repository:

git clone git://git.videolan.org/ffmpeg.git
cd ffmpeg

You then need to configure FFmpeg. Below is the recommend configure command. However, it will probably detect that you do not have all the specified libraries in place. Try to install them using your distro's package manager. You will need the 'dev' or 'devel' packages.

./configure --prefix=/usr --enable-gpl --enable-version3 --enable-nonfree --disable-ffplay --disable-ffserver --enable-postproc --disable-network --disable-devices --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --disable-debug

Some libraries are non-essential. The following harder-to-get libraries can be left out of the configure options if they cannot be installed successfully:

  • libopencore-amrnb / libopencore-amrwb / libgsm - these are typically used for decoding audio from mobile phones
  • libmp3lame - encoding audio to MP3 is only necessary for the older FLV format
  • libvpx - encoding to the new VP8 codec

Check the 'enabled encoders' section of the output from configure. If 'png' is not present, then the zlib dev package must be installed and configure re-run.

You then need to build FFmpeg and install it:

make
sudo make install

Installing qt-faststart

FFmpeg also comes with a utility that needs to be installed separately:

make tools/qt-faststart
sudo cp tools/qt-faststart /usr/bin/

Testing

Administer › Site configuration › Blue Droplet Video will interrogate your FFmpeg installation to determine if it is installed correctly.

Help improve this page

Page status: Not set

You can: