С установкой ffmpeg для php переодически возникают проблемы. Я тут опишу несколько моментов и порядок, в котором нужно его ставть.

Ставить ffmpeg для FreeBSD лучше из портов. Но там нам надо поставить только /usr/ports/multimedia/ffmpeg. Остальное ставить нужно уже руками. Точнее, если apache собирается с php вместе, а не как PHP отдельным модулем, то ffmpg для PHP нужно ставить руками. А еще и потому, что при модульной сборке ffmpeg может просто вылетать в кору, ну или сам php в кору вадиться.
Сама инсталяха лежит тут: http://www.ffmpeg.org/download.html

Чтобы не заморачиваться долго нужно просто перейти в /usr/ports/graphics/php5-ffmpeg и там сделать только make extract. Далее, содержимое папки с развернутой версией переписать в /<путь к развернутому дистру php>/ext/ffmpeg (саму папку ext/ffmpeg создать).

Если заморачиваться, то можо качнуть инсталязу прямо из SVN дерева:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
Нюанс! Последнее время появляются файлики .WMV с дорожкой аудио формата в WMAudo PRO формате. Тут сразу вешаться! Т.к. в принципе, в самом ffmpeg этот формат уже есть, НО только в SVN версии. Может быть, если выйдет нечто типа версии 0.7.x или выше, то там эта поддержка будет изначально, но сейчас ее там нет. Если есть желание поэкспериментировать, чтобы вставить этот кодек в ffmpeg, то сразу могу сказать, что сделать это можно, но сделать такую сборку еще труднее, чем просто собрать ffmpeg для PHP :)
SVN версия чуть стабильней, но не всегда. А может и вообще не скомпилироваться из-за того, что автор там чет наменял. Последнее время заметил ffmpeg который svn версия часто несобирается, т.к. неможет вкомпилить девайсы какието ненужные тогда конфигурить его так:

./configure –disable-devices –disable-protocol=udp

Продолжим.

cd /<каталлог где у нас php> && autoconf

для сборки нужно добавить в make: LIBS="-lpthread"
иначе не будет проходить ./configure

Дальше приколы.
Что бы работал ffmpeg для php, сам ffmpeg должен быть собран с –enable-swscale (проверить до сборки самого ffmpeg в портах. Там в Makefile где-то должна быть эта строчка).
Модуль может не линковаться, т.к. происходит обращение к неизвестной функции

img_convert:
/usr/work/src/php-5.1.6/Zend/zend_vm_execute.h:129: warning: ‘current_scope’ may be used uninitialized in this function
ext/ffmpeg/.libs/ffmpeg_tools.o(.text+0×5): In function `ffmpeg_img_convert’:
: undefined reference to `img_convert’
*** Error code 1

в сорцах это обращение в одном месте, смотрим ffmpeg_tools.c:
#ifndef HAVE_SWSCALER // No SWSCALER so just use img_convert
return img_convert(dst, dst_pix_fmt,
src, src_pix_fmt, src_width, src_height);
#else // Do swscale convert

функция img_convert используется если НЕ установлена переменная окружения HAVE_SWSCALER. То, что эта переменная не устанавливается, хотя ffmpeg скомпилен с –enable-swscale – это глюк configure, исправляется так:

Нужно сэкспортировать в томм файле, коорым компилируете php такие переменные (ну или в командной строке когда будете делать make):
CFLAGS="-O2 -pipe -funroll-loops -march=$CPUTYPE -DHAVE_SWSCALER -I/usr/local/include"
LDFLAGS="-L/usr/local/lib -lswscale"

Огромное спасибо сотрудникам за время для изучения некоторых глюков ffmpeg и выяснения того, как это все обойти. А так же за некоторые советы оп компиляции.