[GRASS-dev] GRASS FFMPEG support

Benjamin Ducke benjamin.ducke at oxfordarch.co.uk
Thu Jun 12 03:53:54 EDT 2008


This is how I got things to compile last time I tried (assuming you
use a similar file structure as I do in your MSYS setup):

Go to [http://ffmpeg.mplayerhq.hu/download.html] and download the ``bare 
sources'' (file ffmpeg-export-snapshot.tar.bz2).

./configure --prefix=/usr --enable-shared --disable-static 
--extra-cflags="-mno-cygwin -mms-bitfields" 
--extra-ldflags="-Wl,--add-stdcall-alias" --enable-memalign-hack 
--disable-ffserver --disable-ffplay

Berkeley MPEG Encoder: This is a little utility (aka ppmtompeg) used by 
r.out.mpeg to generate animated sequences of raster maps.

Unfortunately, the current code on the project's homepage 
[http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_encode.html] is not 
compatible with MinGW.

Thus, the easiest way to install this is to use the port of the ``NetPbm 
for Windows'' tools, of which ppmtompeg is a part. Go to 
[http://gnuwin32.sourceforge.net/packages/netpbm.htm] and download the 
``Binaries'' and ``Dependencies'' zip files (netpbm-10.27-bin.zip and 
netpbm-10.27-dep.zip) to any folder. Extract the files ppmtompeg.exe and 
libnetpbm10.dll from the first zip file to C:\msys\1.0\bin. Extract the 
file jpeg62.dll from the second zip file to C:\msys\1.0\bin.


Configure GRASS:

--with-ffmpeg --with-ffmpeg-includes="/usr/include/libavcodec 
/usr/include/libavformat" --with-ffmpeg-libs=/usr/bin

However, if I remember right, compilation then crashes for
OGSF lib and thus no NVIZ :(

However, maybe you will have better luck with the latest sources.

Good luck,

Ben

Glynn Clements wrote:
> marco.pasetti at alice.it wrote:
> 
>> I'm building ffmpeg on windows through MinGW; standard build went
>> succesfully, but I have some doubts: what does GRASS need to enable
>> ffmpeg support in it?
> 
> You need to run configure with the --with-ffmpeg switch, and possibly
> the --with-ffmpeg-includes= and/or --with-ffmpeg-libs= switches.
> 
> I would expect that you need --with-ffmpeg-includes=, as the headers
> normally get installed into a subdirectory, but the headers don't
> specify the subdirectory when they include each other.
> 
>> I built ffmpeg enabling shared and disabling static libraries, but
>> enabling shared produces only libavutil, libavcodec and libavformat as
>> DLLs, and not a ffmpeg DLL, as I roughly expected (I checked on the
>> official ffmpeg web site, that's normal, there is any ffmpeg.dll
>> mentioned)
> 
> That's correct (on Linux, I also have libpostproc, but that isn't
> required by any of the other libraries).
> 
> Configure checks for the headers avcodec.h, avformat.h and swscale.h,
> for the function avcodec_init with -lavcodec (and optionally
> -lavutil), and for the function av_set_parameters with -lavformat (and
> optionally -lavutil).
> 
> If using --with-ffmpeg results in configure errors, and you used any
> necessary --with-ffmpeg-includes= and/or --with-ffmpeg-libs= switches,
> then look in config.log for any error messages.
> 


-- 
Benjamin Ducke
Senior Applications Support and Development Officer

Oxford Archaeological Unit Limited
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.

Tel: +44 (0)1865 263 800 (switchboard)
Tel: +44 (0)1865 980 758 (direct)
Fax :+44 (0)1865 793 496
benjamin.ducke at oxfordarch.co.uk




------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.



More information about the grass-dev mailing list