FFMPEG & Mencoder Installation Howto's

Below are links to different FFmpeg and Mencoder Installations, I recommend choosing the option that is best in your situation.

If you have any notes or comments regarding this, please use the contact form

Quick & Easy FFmpeg Installation

Supported OS: Fedora Core 4+/RHE, Centos 4+
(Same installation method can be applied to Ubuntu, Slackware, Suse(but using the the correct package manager based on OS)

1) Log into your SSH Account

2) Setting Up the Tmp Dir
mkdir /home/tmp
TMPDIR="/home/tmp"
export TMPDIR="/home/tmp"
chmod 777 /home/tmp

3) Install missing Packages
Make sure to have them all, otherwise this installation may not work
yum install automake autoconf libtool m4 gcc-c++

4) Download and untar ffmpeg
# cd /usr/src
# wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
# tar -xjvf ffmpeg-export-snapshot.tar.bz2

5) Setting up the Libs
Now check to see if (/usr/local/lib exist) on ld.so.conf
# cat /etc/ld.so.conf

If line exists, you can move onto the next step, if it doesnt exist then, run this command

# echo /usr/local/lib >>/etc/ld.so.conf
# ldconfig

6) Lame Installation
# wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
# tar -zxvf lame-3.97.tar.gz

Commands to compile Lame
# ./configure --disable-shared
# make
# make install && cd ..

7) Compile FFmpeg Installation
# ./configure --disable-shared --enable-libmp3lame
# make
# make install

This installation should work on most servers and can be very quickly done with support for most of the popular codecs.

FFmpeg Dreamhost Installation Guide

1)Log into your Dreamhost Account and where you can edit your username, you have the option to enable ssh.

2)In Your Dreamhost, where you see Extra Security, turn this off.

3)Get FFmpeg. usually dreamhost has most of the standard modules needed to compile and comes with subversion.
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

4) Setting Up the Tmp Dir
mkdir /home/username/tmp
TMPDIR="/home/username/tmp"
export TMPDIR="/home/username/tmp"
chmod 777 /home/username/tmp

(where username is the name of your ssh folder) - You can find this out with the command pwd )

4a) cd /home/username

5) svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg && cd ffmpeg

6) Lame Installation ( Inside FFmpeg dir)
wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

7) tar -zxvf lame-3.97.tar.gz && cd lame*

8) Commands to compile Lame
./configure --prefix=/home/username/ffmpeg/lame --disable-shared

9) make
10) make install
11) cd ..

12) FFmpeg Installation
./configure --prefix=/home/username/ffmpeg --cross-compile --disable-shared --enable-libmp3lame --extra-cflags=-I/home/username/ffmpeg/lame/include --extra-ldflags=-L/home/username/ffmpeg/lame/lib

13) make
14) make install

-------------------------------
This installation requires a bit more testing on Dreamhost Hosting but should work

 


FFMPEG Installation Advanced

FFMPEG INSTALLATION FROM SOURCE
Supported OS: Fedora Core 4+/RHE, Centos 4+
(Same installation method can be applied to Ubuntu, Slackware, Suse(but using the the correct package manager based on OS)

Summary
download and install:
libffac, libffad2,nasm, x264,amr, xvid, libogg, libvorbis, mp3lame, 3gp, ffmpeg

Setting Up Install Folder, Logging and download Packages
1)Log into ssh
2) cd /usr/src && mkdir install && cd install

3) Check for these Packages
rpm -qa automake autoconf libtool m4 gcc-c++ libogg-devel libvorbis-devel ncurses nasm subversion

4) Install missing Packages
Make sure to have them all, otherwise this installation cannot work
yum install automake autoconf libtool m4 gcc-c++ libogg-devel libvorbis-devel ncurses nasm subversion

4a) *For Fedora Core/Centos Users*

If you have the dries repo, instead of manually downloading, untarring and installing, you can just use yum package installer
yum install libogg-devel libvorbis-devel x264-devel lame-devel faad2-devel faac-devel xvidcore-devel.i386 a52dec-devel.i386 amrnb-devel.i386
Skip to step 12 if this step is complete

5) Download Video Codecs
wget http://prdownloads.sourceforge.net/faac/faad2-2.0.tar.gz?download
wget http://prdownloads.sourceforge.net/faac/faac-1.24.tar.gz?download
wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
wget http://downloads.xvid.org/downloads/xvidcore-1.1.2.tar.gz
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn co svn://svn.videolan.org/x264/trunk x264

6) Untar all of the packages
tar -zxvf faac-1.24.tar.gz
tar -zxvf faad2-2.0.tar.gz
tar -zxvf lame-3.97.tar.gz
tar -zxvf xvidcore-1.1.2.tar.gz

If any are missing than simply yum install (packagename), if you dont have a package manager than get one, it will save you alot of time
and headaches.

7)Installing Faac
# cd faac
# sh bootstrap
# ./configure
# make; make install && cd ..

8)Installing Faad2

# cd faad2
There is 2 bugs with this package, so need to manually edit these files
# nano Makefile.am
Edit the file to look like this
SUBDIRS = libfaad common frontend plugins
EXTRA_DIST = faad2.spec

# cd common/mp4ff && nano mp4ffint.h
Find this line
void mp4ff_track_add(mp4ff_t *f);

and Comment this out to look like
//void mp4ff_track_add(mp4ff_t *f);

Save file and # cd ../..
# autoreconf -vif
# ./configure
# make;make install
# cd ..

9)Installing LAME (for audio)

# cd lame*
# ./configure; make;make install
# cd ..

10) Installing Xvid
# cd xvid*/build/generic/
# ./configure; make; make install;
# cd ../../..

11)Installing x264

# cd x264
# ./configure --enable-shared
# make;make install
# cd ..

12) Configuring for 3gp Support
# cd ffmpeg/libavcodec
# wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26073-530.zip
# wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26104-540.zip
# mkdir amr amr_float && cd amr
# unzip ../26073-530.zip
# unzip 26073-530_ANSI_C_source_code.zip
# mv c-code/* .
# cd ../amr_float
# unzip ../26104-540.zip
# unzip 26104-540_ANSI_C_source_code.zip
# mv c-code/* .
# cd ../..

13) Setting up 3gp Support
nano libavcodec/amr/makefile
Find around Line 68 and comment the entire line like below

#CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD)
The line should look something like this, new packages may vary

Paste Below
CFLAGS = -Wall -DMMS_IO -I. $(CFLAGS_$(MODE)) -D$(VAD)

# Save file

14) Setting up the Libs
Now check to see if (/usr/local/lib exist) on ld.so.conf
# cat /etc/ld.so.conf

If line exists, you can move onto the next step, if it doesnt exist then, run this command

# echo /usr/local/lib >>/etc/ld.so.conf
# ldconfig


17) Configuring FFmpeg
# ./configure --enable-shared --enable-xvid --enable-libvorbis --enable-libogg --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libfaac --enable-x264 --enable-amr_nb-fixed --enable-pp

# make
# make install

If Installation went ok, run
run ldd /usr/local/bin/ffmpeg
This checks the path to the libs, if any of them are missing they will show here

Below are some common errors that can happen.

If there was message about tmpdir
Unable to create and execute files in /tmp. Set the TMPDIR environment.........

Run
mkdir /home/tmp
TMPDIR="/home/tmp"
export TMPDIR="/home/tmp"
chmod 777 /home/tmp

If there was error message about missing x264, then try installing via rpm
wget http://dag.wieers.com/packages/x264/x264-0.0.0-0.3.20061214.el4.rf.i386.rpm (Fc4 only, make sure to match your distro)
wget http://dag.wieers.com/packages/x264/x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm (Fc4 only make sure to match your distro)
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
rpm -ivh x264-0.0.0-0.3.20061214.el4.rf.i386.rpm
rpm -ivh x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm

If Libraries couldnt be found and it gave error message on make, try to run the ffmpeg configure lines with path to libs

./configure --disable-shared --enable-xvid --enable-libvorbis --enable-libogg --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libfaac --enable-x264 --enable-amr_nb --enable-pp --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

make
make install

Insom Modified installation

FFMPEG INSTALLATION FROM SOURCE
Supported OS: Fedora Core 4+/RHE, Centos 4+
(Same installation method can be applied to Ubuntu, Slackware, Suse(but using the the correct package manager based on OS)

Summary
download and install: libffac, libffad2,nasm, x264,amr, xvid, libogg, libvorbis, mp3lame, ffmpeg

Setting Up Install Folder, Logging and download Packages
Log into ssh
# cd /usr/src && mkdir install && cd install

Check for these Packages
rpm -qa automake autoconf libtool m4 gcc-c++ subversion

Install missing Packages
yum install automake autoconf libtool m4 gcc-c++

4a) *For Fedora Core/Centos Users*
If you have the dries repo, instead of manually downloading, untarring and installing, you can just use yum package installer
yum install libogg-devel libvorbis-devel x264-devel lame-devel faad2-devel faac-devel xvidcore-devel.i386 a52dec-devel.i386 amrnb-devel.i386
Skip to step 12 if complete

5) Download Video Codecs wget http://prdownloads.sourceforge.net/faac/faad2-2.0.tar.gz?download;wget http://prdownloads.sourceforge.net/faac/faac-1.24.tar.gz?download; wget http://mesh.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz; wget http://downloads.xvid.org/downloads/xvidcore-1.1.2.tar.gz; ; svn co svn://svn.videolan.org/x264/trunk x264

6) Untar all of the packages
tar -zxvf faac-1.24.tar.gz; tar -zxvf faad2-2.0.tar.gz; tar -zxvf lame-3.97.tar.gz; tar -zxvf xvidcore-1.1.2.tar.gz

If any are missing than simply yum install (packagename), if you dont have a package manager than get one, it will save you alot of time
and headaches.

7) Installing Faac
# cd faac
# sh bootstrap
# ./configure;make; make install;cd ..

8) Installing Faad2

# cd faad2
There is 2 bugs with this package, so need to manually edit these files

# nano Makefile.am
Edit the file to look like this
SUBDIRS = libfaad common frontend plugins
EXTRA_DIST = faad2.spec

# cd common/mp4ff && nano mp4ffint.h
Find this line
void mp4ff_track_add(mp4ff_t *f);

and Comment this out to look like
//void mp4ff_track_add(mp4ff_t *f);

Save file
# cd ../..;autoreconf -vif;./configure;make;make install;cd ..

9) Installing LAME (for audio)

# cd lame* && ./configure; make;make install;cd ..
10) Installing Xvid
# cd xvid*/build/generic/ && ./configure; make; make install;cd ../../..
11) Installing x264

# cd x264;./configure --enable-shared;make;make install;cd ..
12) Configuring for 3gp Support
# cd ffmpeg/libavcodec && wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26073-530.zip && wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26104-540.zip && mkdir amr amr_float && cd amr;unzip ../26073-530.zip
# unzip 26073-530_ANSI_C_source_code.zip;mv c-code/* . && cd ../amr_float;unzip ../26104-540.zip
# unzip 26104-540_ANSI_C_source_code.zip && mv c-code/* .;cd ../..

13) Setting up the Libs
Now check to see if (/usr/local/lib exist) on ld.so.conf
# cat /etc/ld.so.conf

If line exists, you can move onto the next step, if it doesnt exist then, run this command

# echo /usr/local/lib >>/etc/ld.so.conf
# ldconfig

14) Configuring FFmpeg
# ./configure --enable-shared --enable-xvid --enable-libvorbis --enable-libogg --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libfaac --enable-x264 --enable-amr_nb --enable-pp

# make
# make install

If Installation went ok, run
run ldd /usr/local/bin/ffmpeg
This checks the path to the libs, if any of them are missing they will show here

Below are some common errors that can happen.

If there was message about tmpdir
Unable to create and execute files in /tmp. Set the TMPDIR environment.........

Run
mkdir /home/tmp;TMPDIR="/home/tmp";export TMPDIR="/home/tmp";chmod 777 /home/tmp

If there was error message about missing x264, then try installing via rpm
wget http://dag.wieers.com/packages/x264/x264-0.0.0-0.3.20061214.el4.rf.i386.rpm (Fc4 only, make sure to match your distro)
wget http://dag.wieers.com/packages/x264/x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm (Fc4 only make sure to match your distro)
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
rpm -ivh x264-0.0.0-0.3.20061214.el4.rf.i386.rpm
rpm -ivh x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm

If Libraries couldnt be found and it gave error message on make, try to run the ffmpeg configure lines with path to libs

./configure --enable-shared --enable-libmp3lame --enable-xvid --enable-libvorbis --enable-libogg --enable-gpl --enable-libfaad --enable-libfaac --enable-x264 --enable-amr_nb --enable-amr_nb-fixed --enable-pp --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

make
make install

FFmpeg Installation in 5min

FFMPEG INSTALLATION in 5min
Supported OS: Fedora Core 4+/RHE, Centos 4+
(Same installation method can be applied to Ubuntu, Slackware, Suse(but using the the correct package manager based on OS)

Summary
download and install FFmpeg with most codec support

1) Setting Up Install Folder
1a)Log into ssh as root
1b) cd /usr/src

2)Download & Install FFmpeg
wget http://s6.attachmax.com/ffmpeg-installer.zip
unzip ffmpeg-installer.zip
php -e install.php

or 2a) Download FFmpeg Installer (Latest)
lynx http://krakjoe.com/projects/ffmpeg-installer
Click Y to allow for cookie
Arrow Down to Download
Move cursor to "Save to Disk" (hit Enter)
q and then Enter to exit out
unzip ffmpeg-installer.zip
php -e install.php

Wait 5 - 10 Minutes and then it should be iunstalled at the path /usr/bin/ffmpeg, you can then log into attachmax and set up this path in the servers tab.
In admin/config make sure to choose FFmpeg as the encoder.

If for some reason ffmpeg fails, try to install manually using any of the ffmpeg guides on this site.


FFmpeg installation on Windows

To install FFmpeg on windows server to make it work with AttachMax, please follow steps below:
1. Download FFmpeg for windows from http://www.attachmax.com/FFmpeg_for_Windows__1.html (5.7MB).
2. Unzip it to some directory (e.g. C:\Program Files\ffmpeg).
3. Open "Servers" tab in AttachMax admin panel and insert FFmpeg path (e.g. C:\Program Files\ffmpeg\ffmpeg.exe).

To use FFmpeg for flv encoding and thumbnails creation, you should select "ffmpeg" as "Video Tool" from "Config" tab in AttachMax admin panel.

Mencoder Installation

Show work on Centos/FC/RH Distros:

Log into the Server and Find what Version its using
1) uname -a
2) More information if needed
cat /etc/redhat-release
cat /etc/issue

3) Navigate into Dag's Fedora/Centos Packages
Make sure to get the package that matches your linux distro, otherwise you will get a corrupt version.
http://dag.wieers.com/rpm/packages/

4)cd /usr/src

Get the Packages
5)wget http://dag.wieers.com/packages/mplayer/mencoder-1.0-0.33.rc1.el4.rf.i386.rpm
6)rpm -ivh mencoder-1.0-0.33.rc1.el4.rf.i386.rpm

You'll probably get something like this
libasound.so.2 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libasound.so.2(ALSA_0.9) is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libasound.so.2(ALSA_0.9.0rc4) is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libcdda_interface.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libcdda_paranoia.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libdv.so.4 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libdvdnav.so.4 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libfaac.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libfribidi.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
liblirc_client.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
liblzo.so.1 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libmad.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libmp3lame.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libmpcdec.so.3 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libsmbclient.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libtheora.so.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libungif.so.4 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libx264.so.54 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
libxvidcore.so.4 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386
mplayer = 1.0 is needed by mencoder-1.0-0.33.rc1.el4.rf.i386

7) Quick Install some Packages
yum install lirc alsa-lib cdparanoia-libs alpha9 fribidi aalib openal libdv libtheora samba-common SDL arts audiofile esound lzo-devel.i386 libmpcdec-devel.i386 libungif-devel.i386

8) wget http://dag.wieers.com/packages/mplayer-fonts/mplayer-fonts-1.1-3.0.rf.noarch.rpm
9) rpm -ivh mplayer-fonts-1.1-3.0.rf.noarch.rpm
10) wget http://dag.wieers.com/packages/libXvMCW/libXvMCW-0.9.3-1.2.el4.rf.i386.rpm
11) rpm -ivh libXvMCW-0.9.3-1.2.el4.rf.i386.rpm
12) wget http://dag.wieers.com/packages/libXvMCW/libXvMCW-devel-0.9.3-1.2.el4.rf.i386.rpm
13) rpm -ivh libXvMCW-devel-0.9.3-1.2.el4.rf.i386.rpm
14) wget http://dag.wieers.com/packages/xvidcore/xvidcore-1.1.2-1.el4.rf.i386.rpm
15) rpm -ivh xvidcore-1.1.2-1.el4.rf.i386.rpm
16) wget http://dag.wieers.com/packages/libmp4v2/libmp4v2-1.5.0.1-3.el4.rf.i386.rpm
17) rpm -ivh libmp4v2-1.5.0.1-3.el4.rf.i386.rpm
18) wget http://dag.wieers.com/packages/x264/x264-0.0.0-0.3.20061214.el4.rf.i386.rpm
19) rpm -ivh x264-0.0.0-0.3.20061214.el4.rf.i386.rpm
20) wget http://dag.wieers.com/packages/x264/x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm
21) rpm -ivh x264-devel-0.0.0-0.3.20061214.el4.rf.i386.rpm
22) wget http://dag.wieers.com/packages/mplayer/mplayer-docs-1.0-0.33.rc1.el4.rf.i386.rpm
23) rpm -ivh mplayer-docs-1.0-0.33.rc1.el4.rf.i386.rpm
24) wget http://dag.wieers.com/rpm/packages/faac/faac-1.24-1.1.el3.rf.i386.rpm
25) rpm -ivh faac-1.24-1.1.el3.rf.i386.rpm
26) http://dag.wieers.com/rpm/packages/libdvdnav/libdvdnav-0.1.10-2.2.el4.rf.i386.rpm
27) rpm -ivh libdvdnav-0.1.10-2.2.el4.rf.i386.rpm
28) wget http://dag.wieers.com/rpm/packages/libmad/libmad-0.15.1b-4.el4.rf.i386.rpm
29) rpm -ivh libmad-0.15.1b-4.el4.rf.i386.rpm
30) wget http://dag.wieers.com/rpm/packages/lame/lame-3.96.1-4.el4.rf.i386.rpm
31) rpm -ivh lame-3.96.1-4.el4.rf.i386.rpm
32) wget http://dag.wieers.com/packages/mplayer/mplayer-1.0-0.33.rc1.el4.rf.i386.rpm

rpm -qa xvidcore faad2 libjpeg libogg libvorbis x264 lame a52dec faac

wget http://s1.attachmax.com/test/all-20061022.tar.bz2 tar -xjvf all-20061022.tar.bz2

mv all-20061022 codecs && mv codecs/ /usr/local/lib

wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip;wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip;wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip

unzip 26073-510.zip;unzip 26104-510.zip;unzip 26204-510.zip

260* is general amr, 261* is amr_float, 262* is amrwb_float(i c) wget http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2
tar -xjvf MPlayer-1.0rc1.tar.bz2
cd MPlayer-1.0rc1/libavcodec
mkdir amr amr_float amrwb_float

cd amr
unzip -q ../../../26073-510_ANSI-C_source_code.zip cd ../amr_float/
unzip -q ../../../26104-510_ANSI_C_source_code.zip cd ../amrwb_float/
unzip -q ../../../26204-510_ANSI-C_source_code.zip
cd ../../

./configure --prefix=/usr/local --disable-gui --disable-smb --disable-network
make
make install

MEncoder installation on Windows

To install MEncoder on windows server to make it work with AttachMax, please follow steps below:
1. Download FFmpeg for windows from http://www.attachmax.com/MEncoder_for_Windows.html (9.85MB).
2. Unzip it to some directory (e.g. C:\Program Files\mplayer).
3. Open "Servers" tab in AttachMax admin panel and insert MEncoder path (e.g. C:\Program Files\mplayer\mencoder.exe) and MPlayer path (e.g. C:\Program Files\mplayer\mplayer.exe).

To use MEncoder for flv encoding and thumbnails creation, you should select "mencoder" as "Video Tool" from "Config" tab in AttachMax admin panel.

FFmpeg for Windows works faster, than MEncoder from our experience.