Sunday, October 28, 2012

How to Compile ffmpeg,libvpx and x264


Make sure you don't have ffmpeg or x264 installed:

sudo apt-get remove ffmpeg x264 libx264-dev

Update your system:

sudo apt-get update

Install all of the packages required for compilation & Installation:


sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev

x264

cd

git clone git://git.videolan.org/x264

cd x264

./configure --enable-static

make -j 32

sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default

libvpx

cd

git clone http://git.chromium.org/webm/libvpx.git

cd libvpx

./configure

make -j 32

sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

ffmpeg

cd

git clone --depth 1 git://source.ffmpeg.org/ffmpeg

cd ffmpeg

./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab

make -j 32

sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

hash x264 ffmpeg ffplay ffprobe

6 comments:

  1. Hi, Enjoyed your screencasting video on YouTube. I am new to screencasting and want to be able to copy TV programs from my computer (Linux). Your script seems simple enough. BTW, did you see Onryo's video, on YouTube at http://www.youtube.com/watch?v=L0IDV6r-bCI ? His script is at http://pastebin.com/NHXrsBxm It is interesting. Jim b. 1938.

    ReplyDelete
  2. anu@Personal ~/ffmpeg $ ./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab
    ERROR: libx264 not found

    If you think configure made a mistake, make sure you are using the latest
    version from Git. If the latest version fails, report the problem to the
    ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
    Include the log file "config.log" produced by configure as this will help
    solving the problem.
    anu@Personal ~/ffmpeg $ make -j 32
    Makefile:2: config.mak: No such file or directory
    Makefile:49: /common.mak: No such file or directory
    Makefile:92: /libavutil/Makefile: No such file or directory
    Makefile:92: /library.mak: No such file or directory
    Makefile:178: /doc/Makefile: No such file or directory
    Makefile:179: /tests/Makefile: No such file or directory
    make: *** No rule to make target `/tests/Makefile'. Stop.
    anu@Personal ~/ffmpeg $ sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

    checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
    This software is released under the GNU GPL.


    The package documentation directory ./doc-pak does not exist.
    Should I create a default set of package docs? [y]: y

    Preparing package documentation...OK

    *****************************************
    **** Debian package creation selected ***
    *****************************************

    This package will be built according to these values:

    0 - Maintainer: [ root@Personal ]
    1 - Summary: [ Package created with checkinstall 1.6.2 ]
    2 - Name: [ ffmpeg ]
    3 - Version: [ 5:201302161711-git ]
    4 - Release: [ 1 ]
    5 - License: [ GPL ]
    6 - Group: [ checkinstall ]
    7 - Architecture: [ amd64 ]
    8 - Source location: [ ffmpeg ]
    9 - Alternate source location: [ ]
    10 - Requires: [ ]
    11 - Provides: [ ffmpeg ]
    12 - Conflicts: [ ]
    13 - Replaces: [ ]

    Enter a number to change any of them or press ENTER to continue:

    Installing with make install...

    ========================= Installation results ===========================
    Makefile:2: config.mak: No such file or directory
    Makefile:49: /common.mak: No such file or directory
    Makefile:92: /libavutil/Makefile: No such file or directory
    Makefile:92: /library.mak: No such file or directory
    Makefile:178: /doc/Makefile: No such file or directory
    Makefile:179: /tests/Makefile: No such file or directory
    make: *** No rule to make target `/tests/Makefile'. Stop.

    **** Installation failed. Aborting package creation.

    Cleaning up...OK

    Bye.

    anu@Personal ~/ffmpeg $ hash x264 ffmpeg ffplay ffprobe
    bash: hash: x264: not found

    ReplyDelete
  3. hi i have project in ASOP Jelly Bean , to be Develop without User Interface or GUI mode (without Home Screen), Also Guide me how to create Service in init.rc.My Project is ASOP without UI which finds some example.xml file to start my example.apk file or application file there is no xml file it should display the blank screen,guide me how to start.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Why make -j 32 ... the rule of thumb is keeping j as many as threads in your pc!
    So it should be 4 for i5 processor and so on.

    ReplyDelete