Recent Changes - Search:

Documents

Download

Building

Support

Wiki Stuff

edit SideBar

Ffmpeg

Main.Ffmpeg History

Hide minor edits - Show changes to output

Deleted line 17:
Changed lines 20-23 from:
* Download and unpack the [[https://sourceforge.net/projects/opalvoip/files/FFmpeg_x264_DLLs.zip | pre-compiled ZIP file]] to C:\PTLib_PlugIns

* Compile the OPAL plugins
solution.
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:
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]]

If you simply must compile it yourself, then read on below...

to:
Changed lines 21-24 from:
* 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
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 precompiled version of FFmpeg

!!!!Method 1

to:
!!!Using a pre-compiled version of FFmpeg
Changed lines 26-38 from:
* 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.
to:
* Compile the OPAL plugins solution.

!!!For hard-core fanatics only.
Changed lines 4-9 from:
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.

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 Opal video plugin codecs.
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
.
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.
August 11, 2009, at 07:52 AM by 115.64.157.126 -
Changed lines 5-6 from:
We recommend using FFmpeg revision 15621, as the API for FFmpeg changes after this.
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
.
November 26, 2008, at 05:25 AM by 123.243.254.105 -
November 26, 2008, at 05:25 AM by 123.243.254.105 -
Changed lines 2-3 from:
%lfloat width=200% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png
to:
%width=200% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png
November 26, 2008, at 05:23 AM by 123.243.254.105 -
November 26, 2008, at 05:22 AM by 123.243.254.105 -
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
November 26, 2008, at 05:22 AM by 123.243.254.105 -
Changed lines 4-10 from:
These codecs have all been tested with versions of FFmpeg up to revision 15621, at which point the API for
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 installin FFmpeg on Linux
to:
!!Building and installing FFmpeg on Linux
Changed lines 11-12 from:
!!Building and installin FFMpeg on Linux
to:
!!Building and installin FFmpeg on Linux
Changed lines 13-14 from:
1. Check to see if your system already has a usable version of FFmpeg installed. This can be done with the pkg-config program:
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 listed below.

If no FFmpeg is found, double check for the existence of the following files - probably in /usr/local/lib:
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:
If they exist, remove them. Also check for the existence of the following include directories - probably in /usr/local/include
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:
Also remove them if they exist
to:
Remove these directories (and their contents) if they exist
Changed line 51 from:
4. Install the code. The default install location is /usr/local - if you want to use a different location then
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, the configure process for Opal will not be able to locate FFmpeg.
to:
Without this, Opal will not be able to locate FFmpeg when running configure.
Changed lines 68-69 from:
To test this, run the command described above in step 1.
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. There are no tarballs - this is the only way to get the code.
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 ]]
Added line 1:
(:notitle:)
Changed line 1 from:
%lfloat thumb% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png
to:
%lfloat width=200% http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png
Changed lines 20-21 from:
If the version number differ, we strongly suggest you uninstall FFmpeg and install the version listed below.
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 current revision of FFmpeg using Subversion. There are no tarballs - this is the only way to get the code.
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.png | '''FFmpeg'''
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. This is usually done by setting the
PKG_CONFIG_PATH environment variable

 
For bash/sh
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:
   For tcsh/csh
to:
For tcsh/csh
Changed lines 64-69 from:
6. Configure Opal.

  ./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:
!!Windows
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:
!!Window
to:
!!Windows
Changed lines 7-10 from:
1. Check to see if your system already has a version of FFmpeg installed.

  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
Edit - History - Print - Recent Changes - Search
Page last modified on November 28, 2012, at 12:06 AM