Wrapper pour FFmpeg qui simplifie son utilisation à partir de projets C++.
Fonctionnalité suivante actuellement couverte :
Vous pouvez lire la documentation complète ici.
Vous devez installer les packages FFmpeg à partir du site deb-multimedia.org :
sudo apt-get install libavformat-dev
libavcodec-dev
libavutil-dev
libavfilter-dev
libswscale-dev
libswresample-dev
libpostproc-dev
libavdevice-dev
Remarque 1 : je n'ai pas testé la construction sur Debian.
Remarque 2 : le dépôt Debian Wheezy contient uniquement FFmpeg 1.0.8. J'ai testé la construction uniquement avec 2.x. Il est donc fortement recommandé d'utiliser le dépôt de back-ports Wheezy.
Si vous utilisez Ubuntu bionic ou Linux Mint 19.x, vous devez ajouter ffmpeg-4 PPA :
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 -y
sudo apt update && sudo apt upgrade
Après cela, installez simplement les mêmes packages que ci-dessus.
Il existe deux façons de compiler soit avec CMake, soit avec meson. Par défaut, meson est plus rapide, mais si votre projet utilise CMake, ces instructions pourraient être meilleures pour l'intégration.
git clone --recurse-submodules https://github.com/h4tr3d/avcpp.git avcpp-git
cd avcpp-git
mkdir build
cd build
cmake ..
make -j8
Si votre version de Git est si ancienne (reportez-vous au SO pour plus de précisions), vous pouvez simplement remplacer --recurse-submodules
par une paire de git submodule init && git submodule update
.
Si FFmpeg est situé dans un endroit non standard :
cmake -DPC_FFMPEG_LIBRARY_DIRS= < some_path > -DPC_FFMPEG_INCLUDE_DIRS= < some_path > ..
Pour pointer le préfixe d'installation :
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
Installer:
sudo make install
ou (pour l'emballage)
sudo make DESTDIR= < some_prefix > install
Reportez-vous à la documentation CMake pour plus de détails pouvant couvrir certains cas particuliers.
Avant de commencer la construction, vous devez cloner le référentiel comme ceci :
git clone https://github.com/h4tr3d/avcpp.git avcpp-git
cd avcpp-git
Intégration de l'EDI :
Il existe des extensions pour divers IDE comme VS Code/Codium, Eclipse, Xcode, etc. Reportez-vous à la documentation pour plus d'informations.
Construire le projet :
Si vous n'avez pas installé les dépendances, meson les téléchargera et les compilera. Étant donné que ffmpeg est si volumineux (~ 2 000 fichiers c), vous devriez envisager d'utiliser votre gestionnaire de packages pour les installer. Vous pouvez ensuite construire le projet avec les commandes suivantes :
mkdir build
cd build
meson ..
meson compile
Configuration du projet :
Par défaut, les exemples de projets et le test sont compilés. Si vous ne le souhaitez pas, vous pouvez le désactiver avec les commandes suivantes :
meson configure -Dbuild_tests=false
meson configure -Dbuild_samples=false
Vous pouvez définir le préfixe d'installation en utilisant meson --prefix <your/own/prefix>
. Pour voir toutes les options disponibles, tapez simplement meson configure
et meson configure --help
pour obtenir plus d'informations.
Installation du projet :
Tapez simplement meson install
et le projet sera installé dans le préfixe configuré (/usr/local par défaut).
Exécution des tests :
Pour exécuter le test, utilisez simplement meson test
. Si vous avez désactivé le test, cela ne fera rien.