Ffmpeg-devel version ${svn_rev} - How to Download and Install on Mac OS X
Sunday the 21st of March, 2010

    ffmpeg-devel  most recent diff


    version ${svn_rev}

      View the most recent changes for the ffmpeg-devel port at: ffmpeg-devel.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for ffmpeg-devel.
      The raw portfile for ffmpeg-devel ${svn_rev} is located here:
      http://ffmpeg-devel.darwinports.com/dports/multimedia/ffmpeg-devel/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/ffmpeg-devel


      # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
      The ffmpeg-devel Portfile 60613 2009-11-16 20:39:49Z jmr macports.org $

      PortSystem 1.0
      PortGroup xcodeversion 1.0

      Name: ffmpeg-devel
      conflicts ffmpeg
      set svn_rev 19824
      set swscale_rev 29665
      Version: ${svn_rev}
      Category: multimedia
      Maintainers: devans openmaintainer

      Description: Digital VCR and streaming server (new unstable API/ABI libavcodec version 52)

      Long Description: FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is currently undergoing major changes in its API/ABI in libavcodec version 52. This development release reflects those changes and may break applications coded to libavcodec version 51. For the last valid revision for libavcodec version 51 (r15261) please use port ffmpeg.

      Homepage: http://www.ffmpeg.org/
      Master Sites:
      distfiles
      Patch Files: patch-libavfilter-avfilter.h.diff patch-libswscale-Makefile.diff patch-libswscale-swscale.h.diff

      worksrcdir trunk

      use_parallel_build yes

      depends_build bin:svn:subversion port:gmake

      depends_lib port:lame port:libvorbis port:libogg port:libtheora port:dirac port:schroedinger port:faac port:faad2 port:XviD port:x264 path:lib/pkgconfig/sdl.pc:libsdl port:bzip2 port:zlib

      build.cmd gmake


      pre-fetch {
      if {[file isdirectory ${distpath}/${svn_rev}]} {
      if {![file isdirectory ${distpath}/${svn_rev}/trunk/.svn] || ![file exists ${distpath}/${svn_rev}/trunk/.complete]} {
      file delete -force ${distpath}/${svn_rev}
      }
      }
      }

      fetch {
      if {![file isdirectory ${distpath}/${svn_rev}]} {
      file mkdir ${distpath}/${svn_rev}
      system "svn co -r${svn_rev} --ignore-externals svn://svn.ffmpeg.org/ffmpeg/trunk ${distpath}/${svn_rev}/trunk"
      system "svn co -r${swscale_rev} svn://svn.ffmpeg.org/mplayer/trunk/libswscale ${distpath}/${svn_rev}/trunk/libswscale"
      system "touch ${distpath}/${svn_rev}/trunk/.complete"
      }
      }

      #
      # enable auto configure of mmx and related Intel optimizations by default
      # requires Xcode 3.1 or better on Leopard
      #
      minimum_xcodeversions {9 3.1}

      extract {
      file copy ${distpath}/${svn_rev}/trunk ${worksrcpath}
      }

      Platform: darwin

      configure.cflags-append -DHAVE_LRINTF ${configure.cppflags}
      configure.args --enable-nonfree --enable-gpl --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --mandir=${prefix}/share/man --enable-shared --enable-pthreads --disable-indevs --cc=${configure.cc}

      #add --enable-libopenjpeg when problems with openjpeg.h are resolved

      if { $build_arch != "" } {
      configure.args-append --arch=${build_arch}
      }

      test.run yes

      #
      # configure isn't autoconf and they do use a dep cache
      #

      universal_variant no

      post-destroot {
      file mkdir ${destroot}${prefix}/share/doc/ffmpeg
      file copy ${worksrcpath}/doc/APIchanges ${destroot}${prefix}/share/doc/ffmpeg
      file copy ${worksrcpath}/doc/TODO ${destroot}${prefix}/share/doc/ffmpeg
      foreach f [glob ${worksrcpath}/doc/*.txt ${worksrcpath}/doc/*.html] {
      file copy $f ${destroot}${prefix}/share/doc/ffmpeg
      }
      }

      platform darwin 10 {
      # ticket #20938 -- disable for 32 bit intel only
      if { $build_arch == "i386" } {
      if { ![variant_isset no_gpl] } {
      configure.args-delete --enable-swscale
      }
      if { ![variant_isset no_mmx] } {
      configure.args-append --disable-mmx --disable-mmx2 --disable-sse --disable-ssse3 --disable-amd3dnow --disable-amd3dnowext
      }
      }
      }

      Variant: no_mmx description {disable all x86 asm optimizations} {
      configure.args-append --disable-mmx --disable-mmx2 --disable-sse --disable-ssse3 --disable-amd3dnow --disable-amd3dnowext
      }

      Variant: no_gpl description {disallow use of GPL code, license will be LGPL if +no_nonfree is selected} {
      configure.args-delete --enable-gpl
      configure.args-delete --enable-postproc
      configure.args-delete --enable-swscale
      configure.args-delete --enable-libfaad
      depends_lib-delete port:faad2
      configure.args-delete --enable-libx264
      depends_build-delete port:x264
      configure.args-delete --enable-libxvid
      depends_lib-delete port:XviD
      }

      Variant: no_nonfree description {disallow use of nonfree code, libraries and binaries will be redistributable under GPL/LGPL} {
      configure.args-delete --enable-nonfree
      configure.args-delete --enable-libfaac
      depends_lib-delete port:faac
      }

      #
      # make speex a variant since it requires speex version 1.2
      # which is currently only available via port speex-devel
      # remove variant and make default when 1.2 is available in speex
      #

      Variant: speex description {enable Speex decoding via libspeex} {
      configure.args-append --enable-libspeex
      depends_lib-append path:lib/libspeex.dylib:speex-devel
      }

      pre-configure {
      if {[variant_isset speex]} {
      if {![file exists ${prefix}/lib/libspeexdsp.dylib]} {
      error "
      *******
      ******* Variant speex requires port speex-devel but
      ******* port speex is active. Please deactivate port speex
      ******* and install/activate port speex-devel then try
      ******* again.
      *******
      "
      }
      }
      }

      #
      # jack indev support is currently broken
      # since Darwin doesn't support memory based POSIX semaphores
      # only named ones
      #

      Variant: jack description {Enable jack input device support (currently broken)} {
      configure.args-delete --disable-indevs
      depends_lib-append port:jack
      }

      post-activate {
      if {![variant_isset no_nonfree]} {
      ui_msg "
      *******
      ******* This build of ${name} includes nonfree code as follows:
      *******
      ******* libfaac
      *******
      ******* The following libraries and binaries may not be redistributed:
      *******
      ******* ffmpeg
      ******* libavcodec
      ******* libavdevice
      ******* libavfilter
      ******* libavformat
      ******* libavutil
      *******
      ******* To remove this restriction use variant +no_nonfree
      *******
      "
      } elseif {![variant_isset no_gpl]} {
      ui_msg "
      *******
      ******* This build of ${name} includes GPLed code and
      ******* is therefore licensed under GPL.
      *******
      ******* The following modules are GPLed:
      *******
      ******* postproc
      ******* swscale
      ******* libfaad
      ******* libx264
      ******* libxvid
      *******
      ******* To include only LGPLed code use variant +no_gpl +no_nonfree
      *******
      "
      } else {
      ui_msg "
      *******
      ******* This build of ${name} includes no GPLed or nonfree
      ******* code and is therefore licensed under LGPL.
      *******
      "
      }
      }
      #
      #disable livecheck
      #

      livecheck.type none

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/ffmpeg-devel
      % sudo port install ffmpeg-devel
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching ffmpeg-devel
      ---> Verifying checksum for ffmpeg-devel
      ---> Extracting ffmpeg-devel
      ---> Configuring ffmpeg-devel
      ---> Building ffmpeg-devel with target all
      ---> Staging ffmpeg-devel into destroot
      ---> Installing ffmpeg-devel
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using ffmpeg-devel with these commands:
      %  man ffmpeg-devel
      % apropos ffmpeg-devel
      % which ffmpeg-devel
      % locate ffmpeg-devel

     Where to find more information:

    Darwin Ports



    Lightbox this page.