Friday, June 28, 2013

How to build ffmpeg shared objects

Simple way of building ffmpeg shared objects.
Refer This tutorial. https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
This will build only static libraries.

So use --enable-shared option in commandline like below.

git clone --depth 1 git://git.videolan.org/x264.git
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-shared --disable-asm
make
make install
make distclean

cd ..
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --enable-shared
make
make install
make distclean
cd ..

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --enable-shared
make
make install
make distclean
cd ..

wget http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz
tar xzvf opus-1.0.2.tar.gz
cd opus-1.0.2
./configure --prefix="$HOME/ffmpeg_build" --enable-shared
make
make install
make distclean
cd ..

git clone --depth 1 http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --enable-shared
make
make install
make clean
cd ..

cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
  --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --disable-libvpx \
  --enable-libx264 --enable-nonfree --enable-x11grab --enable-shared --disable-asm

make
make install
make distclean
hash -r
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/ffmpeg_build/lib
export PKG_CONFIG_PATH=$HOME/ffmpeg_build/lib

http://linuxserverguide.wordpress.com/2010/10/15/ffmpeg-error-while-loading-shared-libraries-libavdevice-so-52-cannot-open-shared-object-file/

No comments:

Post a Comment