17 thoughts to “Installing ffmpeg 0.7 on debian squeeze”

  1. The following extra packages will be installed:
    The following NEW packages will be installed:
    libx264-112 libx264-dev

    Following your guide, any ideas on this?

    root@server:~/nut/ffmpeg-0.7.5# ./configure –enable-gpl –enable-nonfree –enable-postproc –enable-pthreads –enable-x11grab –enable-swscale –enable-version3 –enable-shared –disable-yasm –enable-filter=movie –enable-frei0r –enable-libdc1394 –enable-libfaac –enable-libmp3lame –enable-libx264 –enable-libdirac –enable-libxvid –enable-libfreetype –enable-libvorbis –enable-libgsm –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libnut –enable-libopenjpeg –enable-librtmp –enable-libschroedinger –enable-libspeex –enable-libtheora

    ERROR: libx264 version must be >= 0.115.

    1. Hi Chris,

      Thanks for reporting this issue. I’ve completely forgot something here (can’t remember why)! I’ve updated the post above.

      The problem was, that as of version 0.7.1 ffmpeg needs libx264-115 or newer. The squeeze repository only has libx264-112. Adding the backports repository to your sources.list and then install libx264-116 and libx264-dev from the backport repository will fix the problem.

    1. 0.8 has a new API and uses newer versions of libav libraries. I haven’t followed the ffmpeg project for a while now and i also notice they started 2 new branches, 0.9 and 0.10 I’ll have a look into those and create a new how-to for them, or update the existing ones.

      You can use 0.7.11 with Debian squeeze if you like.

      1. Thanks for the quick replay! I really appreciate it.
        Another question if you please, Installing the related packages adds an extra of 26Mb. I’m installing ffmpeg on an embedded system with a limited flash size. Is it possible to maybe exclude some packages? Maybe some rarely used formats/coders?

        Thanks again and best regards,


  2. You can loose some of the libraries that you won’t be using, this how-to installs almost everything.

    You can shorten it down to, say: apt-get install libmp3lame-dev libxvidcore4-dev

    and configure with: ./configure –enable-gpl –enable-nonfree –enable-postproc –enable-pthreads –enable-x11grab –enable-swscale –enable-version3 –enable-shared –disable-yasm –enable-filter=movie –enable-libmp3lame –enable-libxvid

    For mp3/xvid support only .. if the embedded device is powerful enough, you could add h264

  3. Thanks’ for guide unfortunately following error is raised when I make ffmpeg.
    Any ideas on this ?
    /usr/bin/ld: /usr/local/lib/libnut.a(muxer.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libnut.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [libavformat/libavformat.so.52] Error 1

    1. Hi Pavel,

      I think you forgot a “–enable-shared” somewhere in the process.

      I’ve been trying to reproduce your error, but wasn’t able to. I installed a clean Debian system and followed the instructions above and ran through it without any problem. Note that we’re using nut and xavs from svn, so it can be that the current revision is broken. I run nut from revision 676.

      Optionally you can open config.mak in the nut dir and change
      CFLAGS += -Os -fomit-frame-pointer -g -Wall
      CFLAGS += -Os -fomit-frame-pointer -g -Wall -fPIC

      Your problem mostly occurs when you mix up shared and statically build objects. Make sure you build everything “shared”.

      1. Translation for noobs:

        1. go to directory where you downloaded the source of libnut, in my case /etc/nut/
        2. enter make uninstall
        3. enter make clean
        4. change the config.mak as suggested by mark
        5. type make
        6. type make install

        After that you can go ahead and compile ffmpeg

  4. Good day for me after you make make install command throws me

    localhost:~/nut/xavs/ffmpeg-0.7.11# make install
    INSTALL libavdevice/libavdevice.a
    LD libavformat/libavformat.so.52
    /usr/bin/ld: /usr/local/lib/libnut.a(muxer.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libnut.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [libavformat/libavformat.so.52] Error 1

    1. Hi Fastman,

      You might want to read the comments above. Someone else ran into the same problem and I already supplied a solution to the problem.


      1. Jan, that thread is almost 2.5 years old. I’ve been using this setup on our work environment for at least 2 years and we convert A LOT of movies to and from all sorts of codecs, without any problems. We’re only using the compiled libs, and compile our own ffmpeg against it (to add more codec support). Thank you for pointing it out, i appreciate it, but that issue is not at hand anymore.

Leave a Reply

Your email address will not be published.