====== Video Conversion ======
===== Tutorial =====
* Installing ''FFmpeg'' on Mac OS X by Stephen Jungels: [[http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html]]
===== Required Programs =====
* ''LAME'': [[http://lame.sourceforge.net/]]
* ''FAAC'' and ''FAAD'': [[http://www.audiocoding.com/]]
* ''YASM'': [[http://yasm.tortall.net/]]
* ''FFmpeg'': [[http://ffmpeg.org/]]
Obtaining the source code and installation is pretty straightforward for the most part, basically just download the source code tar ball ( filename.tar.gz), decompress, untar, move to ''/usr/local/'' (optional), and follow the installation instruction in the ''INSTALL'' file included in the source code. In short, do:
sudo ./configure
sudo make
sudo make check
sudo make install
''FFmpeg'' is slightly different in that it is recommended to check out the latest version via ''svn'':
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
The version that I got working on Mac OS 10.6.1 is:
Checked out external at revision 29714.
Checked out revision 20024.
Historically, I also had revision 19667 worked on Mac OS 10.5.8 and revision 19638 worked on Mac OS 10.5.7.
To configure and install, do:
./configure --enable-shared --enable-libmp3lame
The 2 additional arguments specify the build to enable shared libraries and ''LAME'' for mp3 support.
Because Mac OS 10.6 is a 64-bit OS, some additional flags are necessary when configuring the ''FFMpeg'':
./configure --enable-shared --enable-libmp3lame --extra-cflags=-m64 --extra-ldflags=-m64 --arch=x86_64
In the case that the code can not be compiled, disable the mmx support by:
./configure --enable-shared --enable-libmp3lame --disable-mmx
This may result in slower encoding but should reduce the trouble when compiling.
===== Example =====
To use ''FFmpeg'', the simplest command is:
ffmpeg -i input_file output_file
The program will recognize the file formats based on the filename extensions.
To add more control, run ''ffmpeg -h'' to see all possible options. The most commonly used ones include:
* -b bitrate => set video bitrate (in bits/s)
* -r rate => set frame rate (Hz value, fraction or abbreviation)
* -s size => set frame size (WxH or abbreviation)
* -ab bitrate => set audio bitrate (in bits/s)
* -ar rate => set audio sampling rate (in Hz)
For example:
ffmpeg -i input.AVI -b 600k -r 24 -s 640x480 -ab 96k -ar 44100 output.FLV
===== Player =====
* [[http://www.videolan.org/vlc/|VLC]]: stand-alone media player
* [[http://www.longtailvideo.com/players/jw-flv-player//|JW FLV Player]]: media player for ''HTML''-embedded ''flash'' files