Обертка для FFmpeg, упрощающая его использование из проектов C++.
На данный момент охвачены следующие функции:
Вы можете прочитать полную документацию здесь.
Вам следует установить пакеты FFmpeg с сайта deb-multimedia.org:
sudo apt-get install libavformat-dev
libavcodec-dev
libavutil-dev
libavfilter-dev
libswscale-dev
libswresample-dev
libpostproc-dev
libavdevice-dev
Примечание 1. Я не тестировал сборку на Debian.
Примечание 2. Репозиторий Debian Wheezy содержит только FFmpeg 1.0.8. Я тестировал сборку только с 2.x. Поэтому настоятельно рекомендуется использовать репозиторий бэк-портов Wheezy.
Если вы используете Ubuntu bionic или Linux Mint 19.x, вам следует добавить PPA ffmpeg-4:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 -y
sudo apt update && sudo apt upgrade
После этого просто установите те же пакеты, что и выше.
Есть два способа компиляции: с помощью CMake или с помощью meson. По умолчанию meson работает быстрее, но если в вашем проекте используется CMake, эти инструкции могут быть лучше подходят для интеграции.
git clone --recurse-submodules https://github.com/h4tr3d/avcpp.git avcpp-git
cd avcpp-git
mkdir build
cd build
cmake ..
make -j8
Если ваша версия Git очень старая (обратитесь к SO для разъяснений), вы можете просто заменить --recurse-submodules
парой git submodule init && git submodule update
.
Если FFmpeg расположен в нестандартном месте:
cmake -DPC_FFMPEG_LIBRARY_DIRS= < some_path > -DPC_FFMPEG_INCLUDE_DIRS= < some_path > ..
Чтобы указать префикс установки:
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
Установить:
sudo make install
или (для упаковки)
sudo make DESTDIR= < some_prefix > install
Обратитесь к документации CMake для получения более подробной информации, которая может охватывать некоторые особые случаи.
Прежде чем вы сможете начать сборку, вам необходимо клонировать репозиторий следующим образом:
git clone https://github.com/h4tr3d/avcpp.git avcpp-git
cd avcpp-git
IDE-интеграция:
Существуют расширения для различных IDE, таких как VS Code/Codium, Eclipse, Xcode и т. д. Для получения дополнительной информации обратитесь к документации.
Сборка проекта:
Если у вас не установлены зависимости, meson загрузит и скомпилирует их. Поскольку ffmpeg очень большой (около 2000 файлов c), вам следует рассмотреть возможность использования менеджера пакетов для их установки. Затем вы можете собрать проект с помощью следующих команд:
mkdir build
cd build
meson ..
meson compile
Настройка проекта:
По умолчанию компилируются примеры проектов и тест. Если вам это не нужно, вы можете отключить его с помощью следующих команд:
meson configure -Dbuild_tests=false
meson configure -Dbuild_samples=false
Вы можете установить префикс установки с помощью meson --prefix <your/own/prefix>
. Чтобы просмотреть все доступные параметры, просто введите meson configure
и meson configure --help
чтобы получить дополнительную информацию.
Установка проекта:
Просто введите meson install
, и проект будет установлен с настроенным префиксом (по умолчанию /usr/local).
Запуск тестов:
Для запуска теста просто используйте meson test
. Если вы отключили тест, это ничего не даст.