Home > FFmbc > How To Install FFmbc on Debian Testing

How To Install FFmbc on Debian Testing

Every once in a while I decide to install the latest FFmpeg/FFmbc on my machine. Despite all the recent upheaval in the FFmpeg camp, it is still a fabulous open source file transcoding tool. However, I am much more interested in these tools from a professional level, and thus now use FFmbc. FFMedia Broadcast supports a number of high end formats that FFmpeg doesn’t, or at least doesn’t very well – XDCAM HD and IMX/D10 for example. The latest FFmbc-0.6-rc3 has introduced some interesting transcoding preset options to make things even easier.

FFmbc isn’t packaged. It needs to be installed manually. I’ve covered doing this for FFmpeg in the past, but options and switches are always changing, plus some of these in FFmbc are quite different. Here’s how I achieved it today…..

My build system is a fresh install of Linux Mint Debian (LMDE). It’s based on Debian Testing.

First, we need to update the sources list. Depending on your distribution, you may not need to do this. LMDE already has this repository added. I use pico as my text editor. Feel free to use nano, vi or emacs if you prefer.

Go to the Debian Multimedia repository site and download the keyring package. Follow the instructions for unpackaging it about half-way down the front page. Now update your sources list:

>sudo pico /etc/apt/sources.list

Add “deb http://www.debian-multimedia.org testing main” on a new line and save the file.

>sudo apt-get update
>sudo apt-get upgrade

Now you’re using the latest sources and packages.

I used to build x264 direct from source. I’ve found that the Debian Multimedia repository has a packaged version from February 12th, 2011 available. That’s new enough, so I just installed the library package.

Next, install all the additional libraries we’ll need:

>sudo apt-get install build-essential yasm libgpac-dev libdirac-dev libgsm1-dev libschroedinger-dev libspeex-dev libvorbis-dev libopenjpeg-dev libdc1394-22-dev libsdl1.2-dev zlib1g-dev texi2html libfaac-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libopencore-amrnb-dev libopencore-amrwb-dev frei0r-plugins-dev libcv-dev libvpx-dev libgavl1 libx264-dev

Now to configure FFmbc. There’s so many options, it’s sometimes hard to know which ones to choose. The list below is my personal preference, but do try ./configure –help to assist in choosing your own.

>./configure –enable-gpl –enable-version3 –enable-nonfree –enable-shared –enable-postproc –enable-runtime-cpudetect –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-frei0r –enable-libdc1394 –enable-libdirac –enable-libfaac –enable-libgsm –enable-libmp3lame –enable-libopenjpeg –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvorbis –enable-libvpx –enable-libx264 –enable-pthreads –enable-libxvid –enable-zlib

After a successful configuration, all the enabled decoders, encoders and muxers will be displayed. There are some configuration dependencies here. If you don’t –enable-gpl things like postproc will fail at build time. Next….

>sudo make install

“Make” will probably take quite a long time. Hopefully it will all proceed without any fatal errors.

In the past, I recommended manually building qt-faststart. A little utility that moved header atoms in mpeg4 files to allow for progressive downloads. This is not required for FFmbc as  -faststart is now a switch within the mp4 muxer.

Finally, it would still seem that simply typing “ffmbc” on the command line will throw an error regarding shared libraries (we did build FFmbc with –enable-shared). To fix this we do the following:

>sudo pico /etc/ld.so.conf

Add the line “/usr/local/lib” (without quotes) to this file and then save it. Read more about dynamically linked libraries here, specifically the fourth paragraph to explain what we just did. Then:

>sudo ldconfig

We’re finished! Next thing for you to do is learn how to use it…… Most FFmpeg tutorials will be valid, as FFmbc is regularly synchronised on FFmpeg, but also read the information on the FFmbc project pages about how to use the XDCAM HD and IMX/D10 presets.

I did strike one problem trying to install FFmbc with OpenCV support. It’s been reported and I’m sure will be addressed soon.

Categories: FFmbc
  1. Stewart Webb
    April 1, 2011 at 20:54

    First of all, I really enjoy your blog. It’s one of the few that I definitely make sure I read every post of.

    I just noticed 2 minor type-style mistakes

    “>sudo pico /etc/ls.so.conf” should be “>sudo pico /etc/ld.so.conf”

    and the ./configure command requires “–” for the flags and it would appear wordpress has managed to convert them into “–” (Let’s hope it doesn’t do it to my comment, or this will make NO sense!)

    Anyhoo, thanks again for the great blog!


    • Stewart Webb
      April 1, 2011 at 20:55

      It looks like wordpress does convert “- -” (without the space between dashes) to –… now I look like a fool!

  2. April 2, 2011 at 06:12

    Thanks for the kind comments regarding the blog Stewart, and you don’t look like a fool at all. It’s me who should have figured out how to fix the WordPress formatting before posting.

    I’ve updated the ld.so.conf line though. Thanks for pointing that out.

  1. April 1, 2011 at 20:31

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: