Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 41. Видео утилиты Вперед

Пакет FFmpeg-0.9

Знакомимся с пакетом FFmpeg

Пакет FFmpeg является решением, предназначенным для записи, конвертирования и обработки потоков аудио и видео данных. Это очень быстрый видео и аудио конвертер, который также можно использовать получения данных от реально существующих источников аудио/видео сигналов. Конвертер имеет интуитивно понятный интерфейс командной строки (ffmpeg) и пытается самостоятельно определить все параметры обработки, если это возможно. FFmpeg также может преобразовывать любую частоту дискретизации в любую другую частоту и может на лету изменять размер видео с использованием высококачественного многофазного фильтра. FFmpeg может использовать источник видеоданных, совместимый с video4linux, а также любой источник звука, совместимый с Open Sound System.

Разработчики этого пакета делают релизы не очень часто, так что вы можете взять вместо релиза текущий рабочий вариант разработки. Если вы сделаете именно так, то вам следует учесть, что могут измениться зависимости и параметры, используемые в скрипте configure.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://ffmpeg.org/releases/ffmpeg-0.9.tar.bz2
  • Контрольная сумма MD5: 795058de6fc432aa11271408273a0535
  • Размер загружаемого пакета: 4,7 MB
  • Оценочный размер требуемого дискового пространства: 199 MB
  • Оценочное время сборки: 3,2 SBU

Зависимости пакета FFmpeg

Рекомендуемые

yasm-1.2.0

Необязательные

FAAD2-2.7, LAME-3.99.3, libtheora-1.1.1,libvorbis-1.3.2, libvpx-v0.9.7, система X Window, x264, XviD-1.2.2, AMR narrowband (арифметика с плавающей точкой)), AMR wideband, FAAC-1.28>, FreeType-2.4.8, GSM, Liba52-0.7.4, libdc1394, libnut (взять из SVN), librtmp, libschroedinger, MediaLibrary, OpenJPEG (в состав FFmpeg входят его собственные кодер и декодер jpeg2000, которые используются по умолчанию), Speex-1.2rc1, SDL-1.2.14 и texi2html (для сборки документации в формате HTML).

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/ffmpeg

Установка пакета FFmpeg

Установите пакет FFmpeg с помощью следующих команд:

mkdir build &&
cd build &&
../configure --prefix=/usr --enable-shared --disable-static --enable-gpl &&
make

Если вы выставляете на youtube видео в определенных форматах (quicktime, mov или mp4), вам нужно их будет преобразовать (переместить указатель файла в начало файла) перед их отправкой на youtube. В Ffmpeg есть инструментальное средство, называемое qt-faststart, с помощью которого можно это сделать. Если вам требуется qt-faststart, вы можете откомпилировать его с помощью gcc:

gcc ../tools/qt-faststart.c -o qt-faststart

Если у вас установлен пакет Doxygen-1.7.5 и вы хотите создать документацию по API (на нее уйдет приблизительно 150 MB дискового пространства), выполните команду doxygen.

В этом пакете набор тестов отсутствует.

Теперь в роли пользователя root выполните:

make install &&
make install-man &&
mkdir /usr/share/doc/ffmpeg-0.9 &&
cp ../doc/*.txt /usr/share/doc/ffmpeg-0.9

Если вы для создания документации по API использовали команду doxygen, установите документацию, выполнив в роли пользователя root следующую команду:

mkdir /usr/share/doc/ffmpeg-0.9/api &&
cp -v doxy/* /usr/share/doc/ffmpeg-0.9/api

Если вы откомпилировали программу qt-faststart, то установите ее в роли пользователя root;

cp qt-faststart /usr/bin

Пояснение команд

mkdir build и cd build: Эти переключатели гарантируют, что мы откомпилируем объектные файлы Ffmpeg отдельно от файлов с исходным кодом в отдельном директории.

--enable-shared: Этот переключатель необходим для создания общедоступных библиотек, в противном случае будут собраны и установлены только статические библиотеки.

--disable-static: Этот переключатель предотвращает сборку статических библиотек.

--enable-gpl: Этот переключатель указывает использовать код GPL и осуществлять поддержку постобработки, изменения размеров изображений и многих других возможностей.

--enable-<кодек>: Пакет FFmpeg поставляется вместе с кодом для компиляции декодеров почти для любого кодека, который вам может понадобиться. Единственный случай, когда может потребоваться подключить конкретный кодек (и скомпоновать FFmpeg с необходимой общедоступной библиотекой установленной в вашей системе) — это скомпилировать ffmpeg как кодер для этого кодека. Кодирование видео является той работой, которую должен делать специалист. Если это именно то, что вы хотите делать с помощью ffmpeg, то изучите информацию, выдаваемую с помощью команды configure --help. Помните, что во всех зависимостях есть свои собственные кодеры (которые часто лучше, чем кодеры из FFmpeg). Пакет FFmpeg является великолепной коллекцией декодеров. Если вы хотите использовать FFmpeg просто для просмотра видео или прослушивания музыки (с помощью таких приложений, как GStreamer), то вы не получите никаких преимуществ от того, что скомпонуете пакет с другими библиотеками.

--disable-yasm: Используйте этот параметр в случае, если вы не установили yasm и хотите, чтобы при конфигурировании использовалась "урезанная сборка".

Конфигурирование пакета FFmpeg

Конфигурационные файлы

/etc/ffserver.conf и ~/.ffmpeg/ffserver-config

Вы можете найти пример конфигурационного файла для ffserver в doc/ffserver.conf в дереве исходных кодов.

Описание пакета

Установленные программы: ffmpeg, ffplay, ffprobe, ffserver и qt-faststart

Установленные библиотеки: llibavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so и libswscale.so

Установленные директории: /usr/include/libavcodec, /usr/include/libavdevice, /usr/include/libavfilter, /usr/include/libavformat, /usr/include/libavutil, /usr/include/postproc, /usr/include/libswscale, /usr/share/ffmpeg, and /usr/share/doc/ffmpeg-0.9

Краткое описание

ffmpeg

инструментальное средство, работающее из командной строки и предназначенное для преобразования видеофайлов, сетевых потоков и входных данных, поступающих от карт TV в различные видеоформаты

ffplay

очень простой и портативный медиаплейер, использующий библиотеки ffmpeg и библиотеку SDL

ffprobe

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

ffserver

потоковый сервер для всего, что ffmpeg может использовать в качестве входных данных (файлы, потоки, данные, поступающие от карт TV, от вебкамер, и т.д.)

qt-faststart

перемещает указатель файла в начало видеофайла формата quicktime (mov/mp4)

libavcodec.so

библиотека, в которой находятся кодеки FFmpeg (как для кодирования, так и для декодирования)

libavdevice.so

библиотека для работы с устройствами FFmpeg

libavfilter.so

библиотека фильтров, с помощью которых можно изменять видео или аудиопоток между декодером и кодером (или выводом данных)

libavformat.so

библиотека, в которой находятся модули обработки форматов файлов (код mux и demux для нескольких форматов), используемых программой ffplay, а также позволяющие создавать аудио и видеопотоки

libavutil.so

библиотека утилит FFmpeg

libpostproc.so

библиотека постпроцессной обработки FFmpeg

libswscale.so

библиотека FFmpeg, позволяющая изменять масштабирование изображений

Перевод сделан с варианта оригинала, датированного 2011-12-29 03:35:25 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Содержание главы 41   Пакет Avifile-0.7.45