User Tools

Site Tools


stabilisation

====== Stabilisation avec FFmpeg et Vidstab ====== Stabilisation de vidéo avec la lib Vidstab.\\ **Vidstab** est une bibliothèque de stabilisation vidéo libre (GNU GPLv2) qui peut être connectée **ffmpeg**.\\ === Équipement requis === * un OS basé sur GNU/Linux * les codes sources de ffmpeg * le compilateur Cmake (compilateur open-source) * git **Git** de la bibliothèque Vidstab\\ [[https://github.com/georgmartius/vid.stab]] ====== ________________________ ====== ====== Installation ====== c'est la partie la plus sympas, vous allez voir c'est la grosse marrade. \\ Nous allons prendre les codes sources des différentes bibliothèque de ffmpeg dont on pourrait avoir besoin (notamment Vidstab), puis les compiler et les installer sur la machine. \\ Et ensuite prendre le code source de ffmpeg et le compiler avec Vidstab et les autre lib installées.\\ ===== Installation de Vidstab ===== Copiez-collez chaque ligne dans la console pour chaque étape. git clone https://github.com/georgmartius/vid.stab.git cd ~/vid.stab/ cmake . make sudo make install Vidstab est maintenant installé et n'attend plus qu'à être compiler avec ffmpeg. ===== Installation de FFmpeg (à partir du source) ===== Pour compiler et installer ffmpeg avec toute ses dépendances il suffit de suivre la documentation à la lettre en faisant attention de configurer ffmpeg en utilisant l'option --enable-libvidstab Documentation : [[https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu]] \\ Si vous n'avez pas envie de lire la doc en anglais, je vais mettre ces instructions ici:\\ ==== Installer les dépendances ==== Copiez-collez chaque ligne pour chaque étape. Installez d'abord les dépendances : sudo apt-get update sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev Faites maintenant un répertoire pour les dossiers source qui seront téléchargés plus tard dans ce guide : mkdir ~/ffmpeg_sources ==== Compilation et installation ==== Vu que nous allons générer beaucoup de fichiers nous allons travailler de manière propre en organisant bien nos dossiers dans notre répertoire Home: * **ffmpeg_sources** -où sera stocké le code source que nous allons télécharger * **ffmpeg_build** -où serons stocké les données compilé et les bibliothèques installées * **bin** -où serons les données binaire résultantes seront installées (//ffmpeg//, //x264//, //yasm//) //Vous pourrez annuler tout ce qui à été montrer ici si vous le voulez en suivant ce liens ://[[https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#RevertingChangesMadebyThisGuide]] === Yasm === Un assembleur x86 utilisées par x264 et ffmpeg. Fortement recommandé ou votre build résultant pourra être très lent.\\ sudo apt-get install yasm ou vous pouvez le compiler vous même : cd ~/ffmpeg_sources wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar xzvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install make distclean === libx264 === c'est ici la bibliothèque pour l'encodage vidéo en H.264. \\ Elle nécessite que ffmpeg soit configuré avec les options --enable-gpl (comme pour Vidstab) --enable-libx264 mais on verra ça plus tard. \\ Pour l'instant on installe libx264: sudo apt-get install libx264-dev ou vous pouvez le compiler vous même : cd ~/ffmpeg_sources wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 tar xjvf last_x264.tar.bz2 cd x264-snapshot* PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static PATH="$HOME/bin:$PATH" make make install make distclean === libfdk-aac === c'est ici la bibliothèque pour l'encodage audio en AAC.\\ Elle nécessite que ffmpeg soit configuré avec les options --enable-libfdk_aac et --enable-nonfree mais on verra ça plus tard. \\ Pour l'instant on compile et installe libfdk-aac: cd ~/ffmpeg_sources wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master tar xzvf fdk-aac.tar.gz cd mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean === libmp3lame === c'est ici la bibliothèque pour l'encodage audio en MP3.\\ Elle nécessite que ffmpeg soit configuré avec les options --enable-libmp3lame mais on verra ça plus tard (oui bientôt). \\ Pour l'instant on installe libmp3lame: sudo apt-get install libmp3lame-dev ou vous pouvez le compiler vous même : sudo apt-get install nasm cd ~/ffmpeg_sources wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar xzvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared make make install make distclean === Les autres bibliothèques === D'autre bibliothèques pour l'encodage sont bien sur disponible mais on va pas les faire toutes ici, nous avez déjà les quelques principales.\\ Si l'encodage audio en Opus, ou l'encodage video en VP8/VP9 vous intéresse, référez vous au document originale :\\ [[https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#libopus]] \\ ==== Compile ffmpeg ==== Enfin nous arrivons à la partie que nous attendons tous ; Compilons donc ffmpeg ! cd ~/ffmpeg_sources wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 tar xjvf ffmpeg-snapshot.tar.bz2 cd ffmpeg A la 5<sup>ème</sup> étape "./configure \ " signifie que l'on va choisir les différentes options de la compilation de ffmpeg, le "\ retour à la ligne" est juste là pour apporter de la visibilité. PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --bindir="$HOME/bin" \ --enable-gpl \ # utile pour la lib x264 et Vidstab --enable-libvidstab \ # utile pour la lib Vidstab --enable-libass \ --enable-libfdk-aac \ # utile pour la libfdk-aac --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ # utile pour la lib x264 --enable-libx265 \ # pas utile puisque qu'on n'a pas installé la lib x265 --enable-nonfree # utile pour la lib vidstab et la libfdk-aac Il ne faut pas le copier le "\" mais faire une belle et unique ligne avec tout les paramètre à activer comme exemple celle-ci :\\ //ligne de la 5<sup>ème<\sup> étape //[vous pourrez la copiez tel quel en fait, j'y ai mis que ce qui nous intéressait (vidstab/x264/AAC/mp3/les importantes).\\ PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libvidstab --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree PATH="$HOME/bin:$PATH" make make install make distclean hash -r ==== On en a fini ... ==== FFmpeg et Vidstab sont maintenant installés et prêt à être utilisés. Notre programme FFmpeg compilé se trouve maintenant dans le dossier ~/bin . ==== ...ou presque ! ==== L'utilisation de ffmpeg est limité au dossier ~/bin en executant: cd ~/bin && ./ffmpeg -i ~/input.mp4 ~/videos/output.mkv \\ ou avec le chemin entier: /home/yourusername/bin/ffmpeg -i ../input.mp4 ../videos/output.mkv \\ c'est super pas pratique ! La solution pour utiliser la commande ffmpeg de n'importe ou dans l'ordinateur: * Fermer votre session et re-ouvrer la (log out and Log in) * ou taper dans la console source ~/.profile Libstab et ffmpeg sont maintenant totalement prêt pour de nouvelle aventure. ====== ________________________ ====== ====== Utilisation ====== [[https://github.com/georgmartius/vid.stab#usage-instructions]]

stabilisation.txt · Last modified: 2015/07/02 10:14 by sylvain