[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