[Home]Building Transcode

Difference (from prior major revision) (no other diffs)

Changed: 121c121
libmpeg2 (mpeg2dec) >= 0.4.0b http://mpeg2.sourceforge.net/
libmpeg2 (mpeg2dec) >= 0.4.0b http://libmpeg2.sourceforge.net/

Introduction

Transcode compiles even if you do not have all additional libs installed. You do not *need* to have a "yes" on every configure check. Transcode comes with a library for AVI files, avilib, and a library for decoding ac3 audio, libac3.

You will need to have libavcodec (also known as ffmpeg libraries) installed somewhere on your computer. Without libavcodec transcode doesn't compile. The best way to accomplish this is to get ffmpeg from cvs (www.ffmpeg.org), configure it with at least --enable-shared, compile and install it. A package of some kind that includes libavcodec.so and the headers will do as well. If the files are installed in a non-default location (transcode assumes prefix: /usr), then you will need to tell transcode where they live. Very important: you _need_ both the header files _and_ libavcodec.so files. The libavcodec.a file won't do!

It is recommended, that you have a recent version of lame installed, as audio encoding defaults to mp3. You will probably also want to have libdvdread installed if you intend to transcode DVDs.

Depending on what you want to do with transcode you may need additional packages installed.

Lets start

Before actually trying to build transcode, run:

 ./configure --help

To get some idea of the many optional packages that can be incorporated. Note the --enable-$$$ and --with-$$$ flags. The --enable-$$$ flags tell the configure script which packages transcode should be built with, and the --with-$$$ flags tell configure where the files for those packages can be found.

If you're using CVS, there won't be a configure script in the top directory; you'll need to run autoreconf -i first. If you encounter any problems at this step, make sure that you have the most recent versions of autoconf and automake.

ONLY PACKAGES THAT ARE ENABLED EXPLICITLY USING CONFIGURE ARE ACTUALLY USED TO BUILD MODULES.

If you have any optimisations your C compiler supports and you want to use, put them in the environment configure is run in. It pays off to study all the optimisation flags your C compiler offers. Some of these may be useful, and some may cause problems, that is why transcode itself does not use any optimization flags unless absolutely necessary. For instance, if you are going to be running transcode on a Pentium4 system and building with gcc, you can invoke configure like this:

 $ env CFLAGS="-O3 -march=pentium4" ./configure ...

to create an optimised build.

Don't forget the relevant configure options, described below.

then:

  make
  make install

If your libraries/packages are not installed in standard places, use the respective --with-$$$-prefix=, --with-$$$-includes= and --with-$$$-libs= options, where $$$ is the package name.


Configure options for transcode

For the options described below, the default value is in parenthesis after the option.

Configure will not test for a package unless support is enabled. For example, configure will not look for SDL unless the option '--enable-sdl' is used. If a package distributes pkg-config information, or if a package distributes it's own -config script (like libquicktime's lqt-config), configure will use information from pkg-config or the package's script to find the package's includes and libraries. Otherwise, configure will look for each package's includes in /usr/include and each package's libraries in /usr/lib. The options dealing with file locations, such as '--with-a52-libs' can optionally be used to tell configure to look in other locations for includes and libraries. If these options are used, configure will use the paths given with those options, and will not use paths from pkg-config or a package's -config script. If configure is unable to find support for a mandatory or optionally enabled package, configure will terminate with an error and display a message about the error.

General options

  --enable-statbuffer (enabled)
      enable internal static framebuffer support
  --enable-netstream (disabled)
      enable network streaming support
  --enable-xio (disabled)
      link to the xio library
  --enable-warnings-as-errors (disabled)
      treat warnings as errors
  --with-x (with)
      use the X Window System
  --with-default-xvid=<default xvid> (xvid4)
      Default xvid version.  Valid options: xvid2, xvid3, xvid4
  --with-mod-path (${prefix}/lib/transcode)
      directory where export/import modules are installed

Mandatory packages

  libz
  libm
    (these generally come with any and all OSes)

  libavcodec (FFmpeg) >= 0.4.9-pre1  http://ffmpeg.sourceforge.net/
    related options:
      --with-libavcodec-prefix=PFX (/usr)
          prefix where libavcodec is installed
      --with-libavcodec-includes=DIR (/usr/include)
          prefix where libavcodec headers are installed
      --with-libavcodec-libs=PFX (/usr/lib)
          directory where libavcodec libraries are installed
      --enable-libavcodec-static (disabled)
          link binaries and modules statically to libavcodec
        WARNING: creates huge binaries
        WARNING: only tested on linux x86

  libmpeg2 (mpeg2dec) >= 0.4.0b http://libmpeg2.sourceforge.net/
    related options:
      --with-libmpeg2-prefix=PFX (/usr)
          prefix where libmpeg2 is installed
      --with-libmpeg2-includes=DIR (/usr/include)
          directory where libmpeg2 headers [mpeg2dec/mpeg2.h] are installed
      --with-libmpeg2-libs=DIR (/usr/lib)
          directory where libmpeg2 libraries [libmpeg2.so] are installed

OS dependent packages

  v4l
    related options:
      --enable-v4l (disabled)
          if enabled, builds v4l and v4l2 modules, which imports video
          from video capture hardware on Linux using the Video4Linux(2)
          API.
            please note: use import_v4l2 if possible; v4l is deprecated.
    affected modules: import_v4l.so import_v4l2.so

  bktr
    related options:
      --enable-bktr (disabled)
          if enabled, builds bktr inport module, which imports video
          from video capture hardware on *BSD using the bktr(4)
          API.
    affected modules: import_bktr.so

  sunau
    related options:
      --enable-sunau (disabled)
          if enabled, builds sunau import modules, which imports raw PCM
          audio from hardware on *BSD using the audio(4) API.
    affected modules: import_sunau.so

Optional packages

  libpostproc (FFmpeg) http://www.ffmpeg.org/
    related options:
      --enable-libpostproc (disabled)
          if enabled, add libpostproc support for video processing
      --with-libpostproc-prefix=PFX (/usr)
          prefix where libpostproc is installed
      --with-libpostproc-includes=DIR (/usr/include)
          directory where libpostproc headers [postprocess.h] are installed
      --with-libpostproc-libs=DIR (/usr/lib)
          directory where libpostproc libraries [libpostproc.so] are installed
    affected modules: filter_pp.so

  FreeType2  http://freetype.sourceforge.net/
    related options:
      --enable-freetype2 (enabled)
          if enabled, add FreeType2 support, which is used to render
          text
      --with-freetype2-prefix=PFX (/usr)
          Prefix where FreeType2 is installed
      --with-freetype2-includes=DIR (/usr/include)
          directory where FreeType2 headers [ft2build.h] are installed
      --with-freetype2-libs=DIR (/usr/lib)
          directory where FreeType2 libraries [libfreetype.so] are installed
    affected modules: filter_text.so, filter_subtitler.so

  avifile  http://avifile.sourceforge.net/
    related options:
      --enable-avifile (disabled)
          build avifile dependent modules
      --with-avifile-prefix=PFX (/usr)
          prefix where avifile is installed
      --with-avifile-includes=DIR (/usr/include)
          directory where avifile headers [avifile.h] are installed
      --with-avifile-libs=DIR (/usr/lib)
          directory where avifile libs [libaviplay.so] are installed
    affected modules: export_af6.so, af6_decore.so

  lame  http://www.mp3dev.org/
    related options:
      --enable-lame (enabled)
          if enabled, transcode will use libmp3lame for
          encoding MPEG audio layer III
      --with-lame-prefix=PFX (/usr)
          prefix where lame is installed
      --with-lame-includes=DIR (/usr/include)
          directory where lame headers are installed
      --with-lame-libs=DIR (/usr/lib)
          directory where lame libs [libmp3lame.so] are installed
    affected modules: export_af6.so, export_dv.so, export_raw.so,
      export_divx4.so, export_divx4raw.so, export_divx5.so,
      export_divx5raw.so, export_debugppm.so, export_ppm.so,
      export_ffmpeg.so, export_lame.so, export_pvn.so,
      export_yuv4mpeg.so, export_mpeg2enc.so, export_mp2enc.so,
      export_mjpeg.so, export_xvid2.so, export_xvid3.so,
      export_xvid4.so, import_mp3.so

  ogg  http://www.xiph.org/ogg/
    related options:
      --enable-ogg (disabled)
          if enabled, adds support for importing OGG audio
      --with-ogg-prefix=PFX (/usr)
          prefix where ogg is installed
      --with-ogg-includes=DIR (/usr/include)
          directory where ogg headers [ogg/ogg.h] are installed
      --with-ogg-libs=DIR (/usr/lib)
          directory where ogg libs [libogg.so] are installed
    affect modules: none

  vorbis  http://www.xiph.org/ogg/vorbis/
    related options:
      --enable-vorbis (disabled)
          if enabled, adds support for importing Vorbis audio
      --with-vorbis-prefix=PFX (/usr)
          prefix where vorbis is installed
      --with-vorbis-includes=DIR (/usr/include)
          directory where vorbis headers [vorbis/codec.h] are installed
      --with-vorbis-libs=DIR (/usr/lib)
          directory where vorbis libraries [libvorbis.so] are installed
      affected modules: none

  theora  http://www.theora.org/
    related options:
      --enable-theora (disabled)
          if enabled, adds support for importing theora audio
      --with-theora-prefix=PFX (/usr)
          prefix where local theora is installed
      --with-theora-includes=DIR (/usr/include)
          directory where local theora headers [theora/theora.h] are installed
      --with-theora-libs=DIR (/usr/lib)
          directory where local theora libraries [libtheora.so] are installed
      affected modules:

  libdvdread  http://www.dtek.chalmers.se/groups/dvd/
    related options:
      --enable-libdvdread (enabled)
          if enabled, adds support for reading DVDs
      --with-libdvdread-prefix=PFX (/usr)
          prefix where dvdread is installed
      --with-libdvdread-includes=DIR (/usr/include)
          directory where dvdread headers are installed
      --with-libdvdread-libs=DIR (/usr/lib)
          directory where dvdread libraries [libdvdread.so] are installed
    affected modules: import_dvd.so

  PVM3  http://www.netlib.org/pvm3/
    related options:
      --enable-pvm3 (disabled)
          if enabled, build and use pvm3 code
      --with-pvm3-prefix=PFX (/usr)
          prefix where pvm3 is installed
      --with-pvm3-includes=DIR (/usr/include)
          directory where pvm3 headers [pvm3.h] are installed
      --with-pvm3-lib=DIR (/usr/lib)
          directory where pvm3 libraries [libpvm3.so] are installed
    affected modules: export_pvm.so

  libdv  http://libdv.sourceforge.net/
    related options:
      --enable-libdv (disabled)
          if enabled, build libdv dependent modules
      --with-libdv-prefix=PFX (/usr)
          prefix where libdv is installed
      --with-libdv-includes=DIR (/usr/include)
          directory where libdv headers [libdv/dv.h] are installed
      --with-libdv-libs=DIR (/usr/lib)
          directory where libdv libraries [libdv.so] are installed
    affected modules: export_dvraw.so, export_dv.so, filter_preview.so

  libquicktime  http://libquicktime.sourceforge.net/
    related options:
      --enable-libquicktime (disabled)
          if enabled, build libquicktime dependent modules
      --with-libquicktime-prefix=PFX (/usr)
          prefix where libquicktime is installed
      --with-libquicktime-includes=DIR (/usr/include)
          directory where libquicktime headers [quicktime/lqt.h] are installed
      --with-libquicktime-libs=DIR (/usr/lib)
          directory where libquicktime libraries [libquicktime.so] are installed
    affected modules: export_mov.so, import_mov.so

  lzo  http://www.oberhumer.com/opensource/lzo/
    related options:
      --enable-lzo (disabled)
          if enabled, build liblzo dependent modules
      --with-lzo-prefix=PFX (/usr)
          prefix where lzo is installed
      --with-lzo-includes=DIR (/usr/include)
          directory where lzo headers [lzo1x.h] are installed
      --with-lzo-libs=DIR (/usr/lib)
          directory where local lzo libraries [liblzo.so] are installed
    affected modules: export_lzo.so, import_lzo.so

  liba52  http://liba52.sourceforge.net/
    related options:
      --enable-a52 (disabled)
          if enabled, builds liba52 audio decoder module
      --with-a52-prefix=PFX (/usr)
          prefix where liba52 is installed
      --with-a52-includes=DIR (/usr/include)
          directory where liba52 headers [a52dec/a52.h] are installed
      --with-a52-libs=DIR (/usr/lib)
          directory where liba52 libraries [liba52.so] are installed
      --enable-a52-default-decoder (disabled)
          if enabled, and --enable-a52 is also enabled, uses liba52 as
          default audio decoder, otherwise, libac3 is used as the
          default audio decoder
    affected modules: a52_decore.so

  libmpeg3  http://heroinewarrior.com/libmpeg3.php3
    related options:
      --enable-libmpeg3 (disabled)
          if enabled, builds libmpeg3 dependent module
      --with-libmpeg3-prefix=PFX (/usr)
          prefix where libmpeg3 is installed
      --with-libmpeg3-includes=DIR (/usr/include)
          directory where libmpeg3 headers are installed
      --with-libmpeg3-libs=DIR (/usr/lib)
          directory where libmpeg3 libraries [libmpeg3.so] are installed
    affected modules: import_mpeg3.so

  libxml2  http://xmlsoft.org/
    related options:
      --enable-libxml2 (disabled)
          if enabled, add libxml2 support
      --with-libxml2-prefix=PFX (/usr)
          prefix where libxml2 is installed
      --with-libxml2-includes=DIR (/usr/include)
          directory where libxml2 headers [libxml/parser.h] are installed
      --with-libxml2-libs=DIR (/usr/lib)
          directory where libxml2 libraries [libxml2.so] are installed
    affected modules: import_xml.so

  mjpegtools  http://mjpeg.sourceforge.net/
    related options:
      --enable-mjpegtools (disabled)
          if enabled, builds mjpegtools dependent plugins
      --with-mjpegtools-prefix=PFX (/usr)
          prefix where mjpegtools is installed
      --with-mjpegtools-includes=DIR (/usr/include)
          directory where mjpegtools headers [mjpegtools/yuv4mpeg.h] are installed
      --with-mjpegtools-libs=DIR (/usr/lib)
          directory where mjpegtools libraries [libmjpegutils.so] are installed
    affected modules: export_yuv4mpeg.so, export_mpeg2enc.so,
      export_mp2enc.so

  SDL  http://www.libsdl.org/
    related options:
      --enable-sdl (disabled)
          if enabled, adds support for graphical display via SDL
      --with-sdl-prefix=PFX (/usr)
          prefix where SDL is installed
      --with-sdl-includes=DIR (/usr/include)
          directory where SDL headers [SDL.h] are installed
      --with-sdl-libs=DIR (/usr/lib)
          directory where SDL libraries [libSDL.so] are installed
    affected modules: filter_preview.so

  gtk  http://www.gtk.org/
    related options:
      --enable-gtk (disabled)
          if enabled, adds support for graphical display via gtk
      --with-gtk-prefix=PFX (/usr)
          prefix where gtk is installed
      --with-gtk-includes=DIR (/usr/include)
          directory where gtk headers [gtk/gtk/h] are installed
      --with-gtk-libs=DIR (/usr/lib)
          directory where gtk libraries [libgtk.so] are installed
    affected modules: filter_preview.so

  libfame  http://fame.sourceforge.net/
    related options:
      --enable-libfame (disabled)
          if enabled, build libfame dependent module
      --with-libfame-prefix=PFX (/usr)
          prefix where libfame is installed
      --with-libfame-includes=DIR (/usr/include)
          directory where libfame headers [fame.h] are installed
      --with-libfame-libs=DIR (/usr/lib)
          directory where libfame libraries [libfame.so] are installed
    affected modules: export_fame.so

  ImageMagick  http://www.imagemagick.com/
    related options:
      --enable-imagemagick (disabled)
          if enabled, build ImageMagickdependent modules
      --with-imagemagick-prefix=PFX (/usr)
          prefix where imagemagick is installed
      --with-imagemagick-includes=DIR (/usr/include)
          directory where imagemagick headers [magick/api.h] are installed
      --with-imagemagick-libs=DIR (/usr/lib)
          directory where imagemagick libraries [libMagick.so] are installed
    affected modules: export_im.so, import_im.so, import_imlist.so,
      filter_logo.so, filter_logoaway.so, filter_compare.so

  libjpeg  http://www.ijg.org/
    related options:
      --enable-libjpeg (enabled)
          if enabled, build libjpeg dependent modules
      --with-libjpeg-prefix=PFX (/usr)
          prefix where libjpeg is installed
      --with-libjpeg-includes=DIR (/usr/include)
          directory where libjpeg headers [jpeglib.h] are installed
      --with-libjpeg-libs=DIR ()
          directory where libjpeg libraries [libjpeg.so] are installed
    affected modules: export_mjpeg.so, export_jpg.so

  bsdav http://www.jakemsr.com/bsdav/
    related options:
      --enable-bsdav (disabled)
          if enabled, build with bsdav import support
      --with-bsdav-prefix=PFX (/usr)
          prefix where bsdav is installed
      --with-bsdav-includes=DIR (/usr/include)
          directory where bsdav headers [bsdav.h] are installed
      --with-bsdav-libs=DIR (/usr/lib)
          directory where bsdav libraries [libbsdav.so] are installed
    affected modules: import_bsdav.so

  iconv http://www.gnu.org/software/libiconv/
    related options:
      --enable-iconv (enabled)
          if enabled, build with iconv support
      --with-iconv-prefix=PFX (/usr)
          prefix where iconv is installed
      --with-iconv-includes=DIR (/usr/include)
          directory where iconv headers [iconv.h] are installed
      --with-iconv-libs=DIR (/usr/lib)
          directory where iconv libraries are installed
    affected modules: import_bsdav.so

  LoRS/IBP  http://loci.cs.utk.edu/
    related options:
      --enable-ibp (disabled)
          if enabled, build ibp support
      --with-libfdr=DIR ()
          base directory for libfdr
      --with-libibp=DIR ()
          base directory for libibp
      --with-libexnode=DIR ()
          base directory for libexnode
      --with-liblbone=DIR ()
          base directory for liblbone
      --with-libend2end=DIR ()
          base directory for libend2end
      --with-liblors=DIR ()
          base directory for liblors
    affected modules: none?

Transcode Wiki | Recent Changes | Preferences
Password required to edit | View other revisions
Last edited November 8, 2006 5:14 pm by tarazed.ligo.caltech.edu (diff)
Search: