Documents Download Building Support Wiki Stuff |
Main /
FfmpegMain.Ffmpeg HistoryHide minor edits - Show changes to output Deleted line 17:
Changed lines 20-23 from:
* Download and unpack the [[ * Compile the OPAL plugins to:
* Download and unpack the [[http://sourceforge.net/projects/opalvoip/files/FFmpeg_x264_DLLs.zip | pre-compiled ZIP file]] to your applications directory, or C:\PTLib_PlugIns for global use. * Compile the OPAL plugins solution, e.g ...\opal\plugins\plugins_2010.sln. Deleted line 34:
Added lines 6-7:
The x264 library is only the H.264 encoder, the decoder is in FFmpeg. Note that this is GPL and is not compatible with the MPL license of PTLib/OPAL. As a work around a GPL application "x264plugin_helper" was created and OPAL talks to it via a socket. While in breach of the spirit of GPL, it is legal. And don't get us started on licensing issues ... Changed lines 18-21 from:
If you simply must compile it yourself, then read on below... to:
Changed lines 21-24 from:
* Download and unpack the * Copy the contents of ...\opal\plugins\video\H.263=1998\ffmpeg\bin to:
* Download and unpack the [[https://sourceforge.net/projects/opalvoip/files/FFmpeg_x264_DLLs.zip | pre-compiled ZIP file]] to C:\PTLib_PlugIns Deleted line 36:
Changed lines 6-7 from:
!!Building and installing FFmpeg on Linux to:
!!Building and installing FFmpeg/x264 on Linux Changed lines 10-13 from:
!!Building and installing FFmpeg on Windows Most importantly, don't try to compile FFMpeg for Windows unless you enjoy pain. to:
!!Building and installing FFmpeg/x264 on Windows Most importantly, don't try to compile FFMpeg or x264 for Windows unless you enjoy pain. Changed lines 16-17 from:
The recommended version is r16537, which is also [[ http://files.opalvoip.org/bin/ffmpeg-r16537-gpl-lshared-win32.tar.bz2 | available to download from here]] to:
The recommended version or FFmpeg is r16537, which is also [[ http://files.opalvoip.org/bin/ffmpeg-r16537-gpl-lshared-win32.tar.bz2 | available to download from here]] Changed lines 20-23 from:
!!Using a !!!!Method 1 to:
!!!Using a pre-compiled version of FFmpeg Changed lines 26-38 from:
* Compile the * Download and unpack the pre-compiled tarball. The recommended location is C:\FFMPEG. The remainder of these instructions will refer to this directory as %FFMPEG% * Add the directory %FFMPEG%\BIN to the PATH environment variable * Open MSVC and add the directory %FFMPEG%\LIB to the VC++ Lib directories in the Tools->Options menu * Compile the H.263-1998 project in the Opal plugins solution !!For hard-core fanatics only. to:
* Compile the OPAL plugins solution. !!!For hard-core fanatics only. Changed lines 4-9 from:
Instructions on how to obtain or build FFmpeg for Linux can be [[FFMpegOnLinux|found here]] Instructions on how to obtain or build FFmpeg for Windows can be [[FFMpegOnWindows|found here]] to:
The [[http://ffmpeg.mplayerhq.hu | FFmpeg]] library is used by several of the OPAL video plugin codecs. The history of FFmpeg is long and torturous, and there are many API breaks along the way. That said it is the best game in town for performance and interoperability. !!Building and installing FFmpeg on Linux FFmpeg and x264 are usually available as packages in the distribution. Installing the package and running OPAL configure is usually sufficient. It will be detected and compiled as required. The exact name of the package varies depending on the distribution. For example, on Red Hat it is "sudo yum install ffmpeg-devel x264-devel". !!Building and installing FFmpeg on Windows Most importantly, don't try to compile FFMpeg for Windows unless you enjoy pain. Seriously. Many have tried and failed. The recommended version is r16537, which is also [[ http://files.opalvoip.org/bin/ffmpeg-r16537-gpl-lshared-win32.tar.bz2 | available to download from here]] If you simply must compile it yourself, then read on below... !!Using a precompiled version of FFmpeg !!!!Method 1 * Download and unpack the pre-compiled tarball into ...\opal\plugins\video\H.263=1998\ffmpeg * Copy the contents of ...\opal\plugins\video\H.263=1998\ffmpeg\bin to C:\PTLib_PlugIns * Compile the H.263-1998 project in the Opal plugins solution !!!!Method 2 * Download and unpack the pre-compiled tarball. The recommended location is C:\FFMPEG. The remainder of these instructions will refer to this directory as %FFMPEG% * Add the directory %FFMPEG%\BIN to the PATH environment variable * Open MSVC and add the directory %FFMPEG%\LIB to the VC++ Lib directories in the Tools->Options menu * Compile the H.263-1998 project in the Opal plugins solution !!For hard-core fanatics only. FFmpeg can only be built on Windows using the Msys+MingW toolchain. The [[http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page|FFMpeg on Windows Wiki]] gives detailed instructions on how to do this. '''IMPORTANT''': You will need to add "c:\msys" to the VSNET2005_PWLIB_CONFIGURE_EXCLUDE_DIRS environment variable to avoid Opal configure from attempting to use the new header files. '''Note 1''': If you experience a "hang" while running the "./configure" for FFmpeg, try opening the Task Manager and killing the "lvprcsrv.exe" process. This is apparently a known issue when compiling with the MingW toolchain. '''Note 2''': If the compile fails with errors relating to "vfw", add the "--disable-devices" option when confguring FFmpeg Changed lines 4-8 from:
The [[http://ffmpeg.mplayerhq.hu | FFmpeg]] library is used by several of the We recommend using We used to recommend version 15621, but that version of FFmpeg no longer compiles to:
The [[http://ffmpeg.mplayerhq.hu | FFmpeg]] library is used by several of the OPAL video plugin codecs. The history of FFmpeg is long and torturous, and there are many API breaks along the way. Changed lines 5-6 from:
We recommend using FFmpeg revision to:
We recommend using FFmpeg revision 19088, although more recent versions will probably also work. We used to recommend version 15621, but that version of FFmpeg no longer compiles. Changed lines 2-3 from:
% to:
%width=200% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png Added line 3:
Deleted lines 10-115:
!!Building and installing FFmpeg on Linux 1. Check to see if your system has the correct version of FFmpeg installed using the pkg-config program: $ pkg-config --modversion libavcodec libavformat libavdevice libavutil 51.71.0 52.22.1 52.1.0 49.10.0 If the version numbers differ, we strongly suggest you uninstall FFmpeg and install the recommended version as described below. If pkg-config does not know about FFmpeg, check for the existence of the following files - probably in /usr/local/lib: libavcodec.so libavformat.so libavdevice.so libavutil.so Remove these files if they exist. Also check for the existence of the following include directories - probably in /usr/local/include libavcodec libavformat libavdevice libavutil Remove these directories (and their contents) if they exist 2. Extract the recommended revision of FFmpeg using the Subversion command below, or download this [[http://files.opalvoip.org/bin/ffmpeg-v15261.tar.gz | tarball ]] svn checkout -r15261 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg 3. Configure and build the shared library version of FFmpeg. cd ffmpeg ./configure --enable-shared make '''NOTE:''' it may be necessary to add options depending on the architecture of the system. For example, it has been found that some Intel Core Duo systems require --disable-mmx to prevent a crash in the H.263 codec at run-time. 4. Install FFmpeg. The default install location is /usr/local - if you want to use a different location then you will need to use different configure options. sudo make install 5. Add the directory /usr/local/lib/pkgconfig to the search path for pkg-config. Without this, Opal will not be able to locate FFmpeg when running configure. This is usually done by setting the PKG_CONFIG_PATH environment variable For bash/sh export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig For tcsh/csh setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig Test this by running the pkg-config command described in step 1 above. 6. Add the directory /usr/local/lib to both the LD_LIBRARY_PATH and PTLIBPLUGINDIR environment variables. Without this, Opal will not be able to locate the libavcodec.so file and it's dependencies at run time. For bash/sh export LD_LIBRARY_PATH=/usr/local/lib export PTLIBPLUGINDIR=/usr/local/lib For tcsh/csh setenv LD_LIBRARY_PATH /usr/local/lib setenv PTLIBPLUGINDIR /usr/local/lib 7. Configure Opal. For the release version ./configure For the debug version ./configure --enable-debug The status of the codecs will be displayed at the end of the configure process. If FFmpeg was detected correctly, it will show the following: =================== Plugin configuration ====================== ..deleted H.263 : yes H.263+ : yes 8. Build Opal For the release version make opt For the debug version make debug Changed lines 4-10 from:
FFmpeg changed Build instructions are provided below for Linux. We've not yet managed to put together a coherent set of instructions for Windows - if anyone manages to do this then please contact me at craigs@postincrement.com to:
We recommend using FFmpeg revision 15621, as the API for FFmpeg changes after this. Instructions on how to obtain or build FFmpeg for Linux can be [[FFMpegOnLinux|found here]] Instructions on how to obtain or build FFmpeg for Windows can be [[FFMpegOnWindows|found here]] Added lines 51-53:
'''NOTE:''' it may be necessary to add options depending on the architecture of the system. For example, it has been found that some Intel Core Duo systems require --disable-mmx to prevent a crash in the H.263 codec at run-time. Changed lines 11-12 from:
!!Building and to:
!!Building and installing FFmpeg on Linux Changed lines 11-12 from:
!!Building and installin to:
!!Building and installin FFmpeg on Linux Changed lines 13-14 from:
1. Check to see if your system to:
1. Check to see if your system has the correct version of FFmpeg installed using the pkg-config program: Changed lines 21-24 from:
If the version numbers differ, we strongly suggest you uninstall FFmpeg and install the version If to:
If the version numbers differ, we strongly suggest you uninstall FFmpeg and install the recommended version as described below. If pkg-config does not know about FFmpeg, check for the existence of the following files - probably in /usr/local/lib: Changed lines 30-31 from:
to:
Remove these files if they exist. Also check for the existence of the following include directories - probably in /usr/local/include Changed line 39 from:
to:
Remove these directories (and their contents) if they exist Changed line 51 from:
4. Install to:
4. Install FFmpeg. The default install location is /usr/local - if you want to use a different location then Changed line 57 from:
Without this, to:
Without this, Opal will not be able to locate FFmpeg when running configure. Changed lines 68-69 from:
to:
Test this by running the pkg-config command described in step 1 above. Changed lines 85-86 from:
For release version to:
For the release version Changed lines 89-90 from:
For debug version to:
For the debug version Changed lines 106-107 from:
For release version to:
For the release version Changed lines 110-111 from:
For debug version to:
For the debug version Changed lines 39-40 from:
2. Extract the recommended revision of FFmpeg using Subversion to:
2. Extract the recommended revision of FFmpeg using the Subversion command below, or download this [[http://files.opalvoip.org/bin/ffmpeg-v15261.tar.gz | tarball ]] Changed line 1 from:
%lfloat to:
%lfloat width=200% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png Changed lines 20-21 from:
If the version to:
If the version numbers differ, we strongly suggest you uninstall FFmpeg and install the version listed below. Changed lines 38-39 from:
2. Extract the to:
2. Extract the recommended revision of FFmpeg using Subversion. There are no tarballs - this is the only way to get the code. Deleted lines 109-113:
!!Windows Changed line 1 from:
%lfloat thumb% http://ffmpeg.mplayerhq.hu/ffmpeg-logo. to:
%lfloat thumb% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png Changed line 1 from:
%lfloat% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | '''FFmpeg''' to:
%lfloat thumb% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | '''FFmpeg''' Added line 1:
%lfloat% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | '''FFmpeg''' Changed lines 9-10 from:
!!Linux to:
!!Building and installin FFMpeg on Linux Added lines 5-8:
Build instructions are provided below for Linux. We've not yet managed to put together a coherent set of instructions for Windows - if anyone manages to do this then please contact me at craigs@postincrement.com Changed lines 52-56 from:
5. Add the directory /usr/local/lib/pkgconfig to the search path for pkg-config. PKG_CONFIG_PATH environment variable to:
5. Add the directory /usr/local/lib/pkgconfig to the search path for pkg-config. Without this, the configure process for Opal will not be able to locate FFmpeg. This is usually done by setting the PKG_CONFIG_PATH environment variable For bash/sh Changed lines 60-61 from:
to:
For tcsh/csh Changed lines 64-69 from:
./configure. This will display the status of the codecs at the end. If FFmpeg was detected, it will show the following: to:
To test this, run the command described above in step 1. 6. Add the directory /usr/local/lib to both the LD_LIBRARY_PATH and PTLIBPLUGINDIR environment variables. Without this, Opal will not be able to locate the libavcodec.so file and it's dependencies at run time. For bash/sh export LD_LIBRARY_PATH=/usr/local/lib export PTLIBPLUGINDIR=/usr/local/lib For tcsh/csh setenv LD_LIBRARY_PATH /usr/local/lib setenv PTLIBPLUGINDIR /usr/local/lib 7. Configure Opal. For release version ./configure For debug version ./configure --enable-debug The status of the codecs will be displayed at the end of the configure process. If FFmpeg was detected correctly, it will show the following: Changed lines 100-101 from:
to:
8. Build Opal For release version make opt For debug version make debug Changed lines 112-113 from:
!! to:
!!Windows Changed lines 53-54 from:
export to:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig For tcsh/csh setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig 6. Configure Opal. ./configure. This will display the status of the codecs at the end. If FFmpeg was detected, it will show the following: =================== Plugin configuration ====================== ..deleted H.263 : yes H.263+ : yes Changed line 77 from:
!! to:
!!Windows Changed lines 7-10 from:
TODO to:
1. Check to see if your system already has a usable version of FFmpeg installed. This can be done with the pkg-config program: $ pkg-config --modversion libavcodec libavformat libavdevice libavutil 51.71.0 52.22.1 52.1.0 49.10.0 If the version number differ, we strongly suggest you uninstall FFmpeg and install the version listed below. If no FFmpeg is found, double check for the existence of the following files - probably in /usr/local/lib: libavcodec.so libavformat.so libavdevice.so libavutil.so If they exist, remove them. Also check for the existence of the following include directories - probably in /usr/local/include libavcodec libavformat libavdevice libavutil Also remove them if they exist Changed lines 48-54 from:
to:
5. Add the directory /usr/local/lib/pkgconfig to the search path for pkg-config. This is usually done by setting the PKG_CONFIG_PATH environment variable For bash/sh export Added lines 1-29:
The [[http://ffmpeg.mplayerhq.hu | FFmpeg]] library is used by several of the Opal video plugin codecs. These codecs have all been tested with versions of FFmpeg up to revision 15621, at which point the API for FFmpeg changed !!Linux 1. Check to see if your system already has a version of FFmpeg installed. TODO 2. Extract the current revision of FFmpeg using Subversion. There are no tarballs - this is the only way to get the code. svn checkout -r15261 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg 3. Configure and build the shared library version of FFmpeg. cd ffmpeg ./configure --enable-shared make 4. Install the code. The default install location is /usr/local - if you want to use a different location then you will need to use different configure options. sudo make install !!Window |