====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
stabilisation [2015/07/02 09:10] sylvain [Installation de ffmpeg (à partir du source)] |
stabilisation [2015/07/02 10:14] (current) sylvain [Utilisation] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Stabilisation avec ffmpeg et Vidstab ====== | + | ====== Stabilisation avec FFmpeg et Vidstab ====== |
Stabilisation de vidéo avec la lib Vidstab.\\ | Stabilisation de vidéo avec la lib Vidstab.\\ | ||
Line 11: | Line 11: | ||
[[https://github.com/georgmartius/vid.stab]] | [[https://github.com/georgmartius/vid.stab]] | ||
- | ===== Installation ===== | + | ====== ________________________ ====== |
+ | |||
+ | ====== Installation ====== | ||
c'est la partie la plus sympas, vous allez voir c'est la grosse marrade. \\ | 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. \\ | 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.\\ | Et ensuite prendre le code source de ffmpeg et le compiler avec Vidstab et les autre lib installées.\\ | ||
- | ==== Installation de Vidstab ==== | + | ===== Installation de Vidstab ===== |
Copiez-collez chaque ligne dans la console pour chaque étape. | Copiez-collez chaque ligne dans la console pour chaque étape. | ||
git clone https://github.com/georgmartius/vid.stab.git | git clone https://github.com/georgmartius/vid.stab.git | ||
Line 26: | Line 28: | ||
Vidstab est maintenant installé et n'attend plus qu'à être compiler avec ffmpeg. | Vidstab est maintenant installé et n'attend plus qu'à être compiler avec ffmpeg. | ||
- | ==== Installation de ffmpeg (à partir du source) ==== | + | ===== 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 | 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]] \\ | 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:\\ | Si vous n'avez pas envie de lire la doc en anglais, je vais mettre ces instructions ici:\\ | ||
- | === Installer les dépendances === | + | ==== Installer les dépendances ==== |
Copiez-collez chaque ligne pour chaque étape. Installez d'abord les dépendances : | Copiez-collez chaque ligne pour chaque étape. Installez d'abord les dépendances : | ||
sudo apt-get update | sudo apt-get update | ||
Line 39: | Line 41: | ||
mkdir ~/ffmpeg_sources | mkdir ~/ffmpeg_sources | ||
| | ||
- | === Compilation et installation === | + | ==== 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: | 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: | ||
Line 48: | Line 50: | ||
//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]] | //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 == | + | === Yasm === |
Un assembleur x86 utilisées par x264 et ffmpeg. Fortement recommandé ou votre build résultant pourra être très lent.\\ | Un assembleur x86 utilisées par x264 et ffmpeg. Fortement recommandé ou votre build résultant pourra être très lent.\\ | ||
Line 62: | Line 64: | ||
make distclean | make distclean | ||
- | == libx264 == | + | === libx264 === |
c'est ici la bibliothèque pour l'encodage vidéo en H.264. \\ | c'est ici la bibliothèque pour l'encodage vidéo en H.264. \\ | ||
Line 78: | Line 80: | ||
make distclean | make distclean | ||
- | == libfdk-aac == | + | === libfdk-aac === |
c'est ici la bibliothèque pour l'encodage audio en AAC.\\ | c'est ici la bibliothèque pour l'encodage audio en AAC.\\ | ||
Line 93: | Line 95: | ||
make distclean | make distclean | ||
| | ||
- | == libmp3lame == | + | === libmp3lame === |
c'est ici la bibliothèque pour l'encodage audio en MP3.\\ | 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). \\ | Elle nécessite que ffmpeg soit configuré avec les options --enable-libmp3lame mais on verra ça plus tard (oui bientôt). \\ | ||
Line 109: | Line 111: | ||
make distclean | make distclean | ||
| | ||
- | == Les autres bibliothèques == | + | === 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.\\ | 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.\\ | ||
Line 115: | Line 117: | ||
[[https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#libopus]] \\ | [[https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#libopus]] \\ | ||
- | == Compile ffmpeg == | + | ==== Compile ffmpeg ==== |
Enfin nous arrivons à la partie que nous attendons tous ; Compilons donc ffmpeg ! | Enfin nous arrivons à la partie que nous attendons tous ; Compilons donc ffmpeg ! | ||
- | |||
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 124: | Line 125: | ||
tar xjvf ffmpeg-snapshot.tar.bz2 | tar xjvf ffmpeg-snapshot.tar.bz2 | ||
cd ffmpeg | 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 \ | PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ | ||
--prefix="$HOME/ffmpeg_build" \ | --prefix="$HOME/ffmpeg_build" \ | ||
Line 130: | Line 135: | ||
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \ | --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ | ||
--bindir="$HOME/bin" \ | --bindir="$HOME/bin" \ | ||
- | --enable-gpl \ | + | --enable-gpl \ # utile pour la lib x264 et Vidstab |
+ | --enable-libvidstab \ # utile pour la lib Vidstab | ||
--enable-libass \ | --enable-libass \ | ||
- | --enable-libfdk-aac \ | + | --enable-libfdk-aac \ # utile pour la libfdk-aac |
--enable-libfreetype \ | --enable-libfreetype \ | ||
--enable-libmp3lame \ | --enable-libmp3lame \ | ||
Line 139: | Line 145: | ||
--enable-libvorbis \ | --enable-libvorbis \ | ||
--enable-libvpx \ | --enable-libvpx \ | ||
- | --enable-libx264 \ | + | --enable-libx264 \ # utile pour la lib x264 |
- | --enable-libx265 \ | + | --enable-libx265 \ # pas utile puisque qu'on n'a pas installé la lib x265 |
- | --enable-nonfree | + | --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 | PATH="$HOME/bin:$PATH" make | ||
make install | make install | ||
Line 147: | Line 162: | ||
hash -r | hash -r | ||
| | ||
- | | + | ==== On en a fini ... ==== |
- | ===== Utilisation ===== | + | |
+ | 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]] | ||