вторник, 6 сентября 2011 г.

Сборка FFmpeg под Windows.

FFmpeg набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио и видео записи в различных форматах. Он включает libavcodec библиотеку кодирования и декодирования аудио и видео и libavformat библиотеку мультиплексирования и демультиплексирования в медиаконтейнер.

Для сборки понадобится MinGW и MSys. MinGW – это набор библиотек и заголовочных файлов с компилятором GCC, необходимый для сборки приложений под Windows. MSysPOSIX совместимая система с поддержкой оболочки Bourne, необходимая для выполнения скриптов ./configure. 

1. Автоматический инсталлятор MinGW и MSys можно взять здесь. В выборе компонентов нужно выбрать C++ Compiler, MSYS Basic System, MinGW Developer ToolKit. К последнему подписано, что он “Includes MSYS Basic System”, но я на всякий случай выбрал ее отдельно.

2. После установки MinGW, нужно добавить к нему Yasm. Я брал отсюда, тот, который для Win32. Скачанный ехе-файл нужно переименовать в yasm.exe и скопировать в папку

MinGW\msys\1.0\bin\

где MinGW – папка, в которой установлен MinGW. (КО)

3. Свежий FFmpeg можно найти здесь. Не знаю, в чем разница между ‘Love’ и ‘Peace’ версиями, я брал ту, что выше версией (0.8.2).
Удобнее всего распаковать его в папку

MinGW\msys\1.0\home\имя пользователя

чтобы избежать возможных проблем с путями в MSys.

4. Запускаем MinGW и переходим в папку с FFmpeg. В моем случае – это папка ffmpeg-0.8.2.

5. Выполняем скрипт ./configure со следующими параметрами:

./configure --target-os=mingw32 --enable-shared --disable-static --extra-cflags=”-mno-cygwin”

6. После завершения работы скрипта.

make

В итоге получится сборка по умолчанию без дополнительных библиотек. Как собрать с дополнительными библиотеками добавлю сюда позже.

2 комментария:

  1. А тут есть кто живой? Походу два года никто не заглядывал...

    ОтветитьУдалить
  2. есть, мне статейка очч помогла
    правда --target-os=mingw32 --enable-shared --disable-static --extra-cflags=”-mno-cygwin” зачем неясн

    ОтветитьУдалить