Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ffmpeg [Le 12/09/2023, 12:31]
146.70.126.247 [Utilisation]
ffmpeg [Le 27/08/2024, 16:29] (Version actuelle)
ouvradou [Transformer la vidéo]
Ligne 55: Ligne 55:
  
 Pour arrêter la lecture appuyer sur "​Echap"​ ou "​q"​\\ Pour arrêter la lecture appuyer sur "​Echap"​ ou "​q"​\\
 +**IMPORTANT** Quitter proprement le terminal en tapant ​ //​exit// ​ une fois pour terminer le processus son, et une autre fois pour fermer le terminal\\
 +\\
  
-**Utilisation pour lire plusieurs fichiers audio ou video CONTENUS __DANS UN SEUL ET MEME REPERTOIRE__**+**Utilisation pour lire plusieurs fichiers audio ou video CONTENUS __DANS UN SEUL ET MEME REPERTOIRE__**\\
  
  
Ligne 68: Ligne 70:
 //​-hide_banner bloque l'​affichage des infos sur ffmpeg//\\ //​-hide_banner bloque l'​affichage des infos sur ffmpeg//\\
 //-autoexit ferme ffplay quand le fichier est lu//\\ //-autoexit ferme ffplay quand le fichier est lu//\\
-//(.wav à remplacer par votre format .flac .ogg .mp3 .mp4 .m4a .aac .opus)//+//(.wav à remplacer par votre format .flac .ogg .mp3 .mp4 .m4a .aac .opus .mkv .webm etc.)//
  
 Ctrl + C pour passer au morceau suivant\\ Ctrl + C pour passer au morceau suivant\\
 Ctrl + Z pour arrêter\\ Ctrl + Z pour arrêter\\
 +**IMPORTANT** Quitter proprement le terminal en tapant ​ //​exit// ​ une fois pour terminer le processus son, et une autre fois pour fermer le terminal\\
 \\ \\
  
-J'​invite les pros de ffmpeg à ajouter une rubrique à la fin de cette page pour les commandes détaillées de ffplay en ce qui concerne les fichiers videos ​avec la sélection des langues et sous-titres ​et l'​augmentation du format pour supprimer les bandes noires et utiliser tout l'​écran.\\+**Utilisation pour lire TOUT LE CONTENU D'UN RÉPERTOIRE contenant PLUSIEURS DOSSIERS avec des fichiers audio** 
 + 
 +<​code>​find /​chemin_du_repertoire/​ma_musique/​ -type f > filelist.txt && while [ 1 ]; do SDL_AUDIODRIVER=alsa AUDIODEV=hw:​2,​0 ffplay -hide_banner -nodisp -autoexit "`shuf -n 1 filelist.txt`";​ done</​code>​\\ 
 +NB //​SDL_AUDIODRIVER=alsa AUDIODEV=hw:​2,​0//​ sert à contourner le mixeur du PC pour envoyer cela directement sur la sortie USB, ici hw:2,0; trouvez la vôtre avec la commande\\ 
 +<​code>​cat /​proc/​asound/​cards</​code>​ 
 +Ctrl + C pour passer au morceau suivant\\ 
 +Ctrl + Z pour arrêter\\ 
 +**IMPORTANT** Quitter proprement le terminal en tapant ​ //​exit// ​ une fois pour terminer le processus son, et une autre fois pour fermer le terminal\\ 
 + 
 +J'​invite les pros de ffmpeg à ajouter une rubrique à la fin de cette page pour les commandes détaillées de ffplay en ce qui concerne les fichiers videos ​et la sélection ​directe ​des langues et sous-titres ​ainsi que l'​augmentation du format pour supprimer les bandes noires et utiliser tout l'​écran.\\
  
 ==== Commencer sur une bonne base ==== ==== Commencer sur une bonne base ====
Ligne 388: Ligne 400:
 <​code>​-aspect aspect</​code>​ <​code>​-aspect aspect</​code>​
 Aspect étant 4:3, 16:9 ou 1.3333, 1.7777. Vous pouvez faire des aspects spéciaux si vous le voulez. Aspect étant 4:3, 16:9 ou 1.3333, 1.7777. Vous pouvez faire des aspects spéciaux si vous le voulez.
 +
 +=== Stabiliser la vidéo ===
 +
 +Pour réduire en post-production les tremblements de la caméra lors de la prise de vue.
 +
 +Prérequis : la bibliothèque vidstab doit être intégrée à la configuration de ffmpeg.
 +
 +Pour le vérifier :
 +<​code>​$ ffmpeg
 +ffmpeg version n7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
 +  built with gcc 14.1.1 (GCC) 20240522
 +  configuration: ​
 +  ... --enable-libvidstab ...
 +</​code>​
 +
 +ffmpeg effectue la stabilisation d'une vidéo en deux passes :
 +  - une passe d'​analyse de la vidéo qui produit un fichier nommé //​transforms.trf//​
 +  - une passe de traitement qui exploite ce fichier et produit la vidéo stabilisée.
 +
 +La [[https://​github.com/​georgmartius/​vid.stab|bibliothèque vidstab]] utilise de nombreux paramètres pour analyser les tremblements.
 +Dans une approche simplissime,​ on peut se reposer sur les valeurs par défaut de ceux-ci.
 +
 +Supposons que la vidéo à stabiliser se nomme //​inputFile//​ et qu'on souhaite encoder la version stabilisée avec le codec vidéo x264 et une qualité crf=20 et l'​audio avec le codec aac avec une bande passante de 192 kbit/s.
 +On saisira les deux lignes ci-dessous :
 +
 +<​code>​
 +ffmpeg -i inputFile -vf vidstabdetect -f null transforms.trf
 +ffmpeg -i inputFile -vf vidstabtransform=:​input=transforms.trf -c:v libx264 -crf 20 -c:a aac -ab 192k output.mp4
 +</​code>​
 +
 +Si le résultat de la stabilisation ne paraît pas suffisant mais si on ne souhaite pas se confronter à la complexité du traitement, on peut se limiter à jouer sur le seul paramètre de lissage (//​smoothing//​) qui peut montrer une bonne efficacité.
 +Sa valeur par défaut est 10. On peut tenter de l'​augmenter sensiblement et visualiser l'​effet.
 +
 +Ainsi pour lui donner une valeur de 40, par exemple, on saisira les lignes suivantes (première ligne inchangée donc optionnelle si elle a déjà été exécutée) :
 +<​code>​
 +ffmpeg -i inputFile -vf vidstabdetect -f null transforms.trf
 +ffmpeg -i inputFile -vf vidstabtransform=smoothing=40:​input=transforms.trf -c:v libx264 -crf 20 -c:a aac -ab 192k output.mp4
 +</​code>​
 +
 +À noter que le processus de stabilisation applique une certaine valeur de zoom à l'​image pour pouvoir la décaler sans faire apparaître de bordures noires.
 +<​note>​Si on ne souhaite pas de ré-encodage de l'​audio : remplacer <​code>"​-c:​a aac -ab 192k" par "-c:a copy"</​code></​note>​
  
 ==== Faire des essais de conversion avec FFmpeg sur une portion de fichier ==== ==== Faire des essais de conversion avec FFmpeg sur une portion de fichier ====
  • ffmpeg.1694514680.txt.gz
  • Dernière modification: Le 12/09/2023, 12:31
  • par 146.70.126.247