Thursday, January 22, 2009

FFMpeg to convert 3GP to FLV

Did you know, default FFMPEG binary can't convert 3GP to FLV ? You will need to compile back again.

I'm using Linux Centos 5.1 ( upgraded overnight using yum -y )

Step 1: Install Subversion and Checkinstall thru YUM
yum install subversion
yum install checkinstall
yum install git

Step 2: Create SRC directory, and Download the sourcecode
mkdir /root/src/
cd /root/src/
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
git clone git://git.videolan.org/x264.git
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz

Step 3 : Untar
tar -xjvf amrnb-7.0.0.2.tar.bz2
tar -xjvf amrwb-7.0.0.3.tar.bz2
tar -xzvf yasm-0.7.2.tar.gz


Step 4 : Compile
$ cd yasm-0.7.2
$ ./configure
$ make
$ sudo checkinstall
$ cd ..
Libamr is the audio encoder/decoder for 3gp format
$ cd amrnb-7.0.0.2
$ ./configure –prefix=/usr
$ make
$ sudo make install
$ cd ..

$ cd amrwb-7.0.0.3
$ ./configure –prefix=/usr
$ make
$ sudo make install
$ cd ..

From Wikipedia: x264 is a free software library for encoding H.264/MPEG-4 AVC video streams
$ cd x264
$ ./configure –prefix=/usr –enable-shared
$ make
$ sudo checkinstall –pkgname=x264 –pkgversion “1:0.svn`date +%Y%m%d`-0.0ubuntu1″
$ sudo ldconfig
$ cd ..

$ cd ffmpeg
$ ./configure –enable-gpl –enable-swscale –enable-pthreads –enable-libvorbis –enable-libtheora –enable-libvorbis –enable-libgsm –enable-libdc1394 –disable-debug –enable-shared –enable-libmp3lame –enable-libfaad –enable-libfaac –disable-vhook –enable-libxvid –enable-libx264 –enable-postproc –enable-libamr-nb –enable-libamr-wb –enable-avfilter –enable-nonfree –prefix=/usr
$ make
$ sudo checkinstall or make install ( either one )

No comments:

Post a Comment