Compiling with libvpx support

Objective

Build ffmpeg with libvpx support, on Linux, OSX and Windows7

Dependencies

Linux and OSX

Updated 2013-05-14

Systems Tested

Tools Needed

Begin

Note: Commands preceded by # (hash) should be invoked with root privileges, perhaps using sudo.

Create a workspace in $HOME:

mkdir ~/src

yasm

cd ~/src

git clone git://github.com/yasm/yasm.git

cd yasm

./autogen.sh

make

# make install

libogg

cd ~src

wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz

tar xzvf libogg-1.3.0.tar.gz

cd libogg-1.3.0

./configure --disable-shared

make

# make install

libvorbis

cd ~/src

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

tar xzvf libvorbis-1.3.3.tar.gz

cd libvorbis-1.3.3

./configure --disable-shared

make

# make install

libvpx

cd ~/src

git clone https://chromium.googlesource.com/webm/libvpx

cd libvpx

./configure

make

# make install

libsdl (optional)

cd ~/src

wget http://www.libsdl.org/release/SDL-1.2.15.tar.gz

tar xzvf SDL-1.2.15.tar.gz

cd SDL-1.2.15

./configure

make

# make install

ffmpeg

cd ~/src

git clone git://source.ffmpeg.org/ffmpeg.git

cd ffmpeg

./configure --enable-libvpx --enable-libvorbis

make

# make install

MS Windows 7

Updated 2013-05-16

Systems Tested

Windows 7 Home Premium 64-bit (SP1)

Tools Needed

python

git

MinGW/MSYS

wget

Python

Python doesn't ship with Windows 7, and configure scripts below will require it. Download and run a current Python 2.x installer:

http://www.python.org/getit/

Install Python for all users. Choose the default components. Install to c:\python27 or similar.

Add the Python executable to your $PATH:

Computer > Properties > Advanced system settings > Environment Variables ...

Locate and edit the System variable "Path". Append a semicolon (;) followed by the path to your python executable (perhaps c:\python27).

git

Download and run a current Git installer:

http://git-scm.com/downloads

Choose the default components.

Choose "Run Git from the Windows Command Prompt".

Choose "Checkout as-is, commit Unix-style endings".

Last choice is important. FFmpeg won't build if git changes line endings to crlf.

MinGW/MSYS

Download and run the MinGW+MSYS installer mingw-get-inst:

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/

Install to c:\mingw. Choose the default C compiler, MSYS Basic System, and MinGW Developer Toolkit.

Begin

Launch a MinGW shell (Start > MinGW > MinGW Shell).

Create a workspace in $HOME:

mkdir ~/src

(This directory corresponds to C:\MinGW\msys\1.0\home\[username]\src)

wget

Install wget with the following command:

mingw-get install msys-wget

yasm

cd ~/src

git clone git://github.com/yasm/yasm.git

cd yasm

./autogen.sh --prefix=/mingw --target=x86_64-win64-gcc

make

make install

libogg

cd ~/src

wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz

tar xzvf libogg-1.3.0.tar.gz

cd libogg-1.3.0

./configure --prefix=/mingw --target=x86_64-win64-gcc

make

make install

libvorbis

cd ~/src

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

tar xzvf libvorbis-1.3.3.tar.gz

cd libvorbis-1.3.3

./configure --prefix=/mingw --target=x86_64-win64-gcc

make

make install

libvpx

cd ~/src

git clone https://chromium.googlesource.com/webm/libvpx

cd libvpx

./configure --prefix=/mingw --target=x86_64-win64-gcc

make

make install

libsdl (optional)

cd ~/src

wget http://www.libsdl.org/release/SDL-1.2.15.tar.gz

tar xzvf SDL-1.2.15.tar.gz

cd SDL-1.2.15

./configure --prefix=/mingw --target=x86_64-win64-gcc

make

make install

ffmpeg

cd ~/src

git clone git://source.ffmpeg.org/ffmpeg.git

cd ffmpeg

./configure --prefix=/mingw --target=x86_64-win64-gcc --enable-libvpx --enable-libvorbis

make

make install