Обертка для 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-gitIDE-интеграция:
Существуют расширения для различных 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 . Если вы отключили тест, это ничего не даст.