Recent Changes - Search:

Documents

Download

Building

Support

Wiki Stuff

edit SideBar

Ffmpeg

Main.Ffmpeg History

Hide minor edits - Show changes to markup

Deleted line 17:
Changed lines 20-23 from:
  • Download and unpack the pre-compiled ZIP file to C:\PTLib_PlugIns
  • Compile the OPAL plugins solution.
to:
  • Download and unpack the 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 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 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 available to download from here

to:

The recommended version or FFmpeg is r16537, which is also 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 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 found here

Instructions on how to obtain or build FFmpeg for Windows can be found here

to:

The 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 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 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 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 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:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png

to:

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 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 found here

Instructions on how to obtain or build FFmpeg for Windows can be 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 tarball

Added line 1:

(:notitle:)

Changed line 1 from:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png

to:

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:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | FFmpeg

to:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png

Changed line 1 from:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | FFmpeg

to:

http://ffmpeg.mplayerhq.hu/ffmpeg-logo.png | FFmpeg

Added line 1:

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 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