Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
atelier:chantier:ffmpeg-generalites [22/06/2024 19:26] vv222 [exemples de commandes ffmpeg] Remplacement des instructions d'extraction d'une piste audio par un lien vers l'article dédié à ce sujet |
atelier:chantier:ffmpeg-generalites [24/09/2024 16:35] (Version actuelle) vv222 [ffmpeg : généralités non exhaustif] Retrait d’un avertissement périmé |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Niveau requis :{{tag>débutant avisé}} | * Niveau requis :{{tag>débutant avisé}} | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} | + | * Suivi : {{tag>à-tester à-placer}} |
- | * Création par [[user>lagrenouille ]] [[user>vv222]][[user>zorro ]] [[user>tintin ]] 21/06/2024 | + | * Création par [[user>lagrenouille ]] [[user>vv222]] 21/06/2024 |
* Testé par <...> le <...> | * Testé par <...> le <...> | ||
- | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) À PAS:-P | + | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | **Nota :** | + | |
- | + | ||
- | Contributeurs, les petits tux sont là pour vous aider!' | + | |
- | + | ||
- | **Si ce tuto n'avait pas d'autres contributeurs dans le mois qui suivent, il sera effacé définitivement** | + | |
===== Installation ===== | ===== Installation ===== | ||
L’installation sous debian est assez simple, en console sous root : | L’installation sous debian est assez simple, en console sous root : | ||
Ligne 27: | Ligne 22: | ||
====présentation==== | ====présentation==== | ||
- | Le codec est un algorithme qui permet d'encoder la vidéo ou le son afin de l'adapter au protocole de transport (IP,DVB,fichier...) notamment en réduisant le débit(Kbits/s). Selon les codecs, la compression peut s'accompagner d'une perte de qualité dans l'image ou le son plus ou moins importante. | + | Le codec est un algorithme qui permet d'encoder la vidéo ou le son afin de l'adapter au protocole de transport (IP,DVB,fichier...) notamment en réduisant le débit(Kbits/s). |
+ | |||
+ | Selon les codecs, la compression peut s'accompagner d'une perte de qualité dans l'image ou le son plus ou moins importante. | ||
De la même manière que pour les formats, FFmpeg/Libav liste les codecs qu'il est capable de gérer: | De la même manière que pour les formats, FFmpeg/Libav liste les codecs qu'il est capable de gérer: | ||
- | | Codecs: |la commandes ‘<code user>ffmpeg -codecs</code>’ renvoie un grand nombre de réponses. | | + | Codecs: cette commande renvoie un grand nombre de réponses. |
- | | D | = Decoding supported | | + | <code user>ffmpeg -codecs</code> |
- | | E | = Encoding supported | | + | renvoie un grand nombre de réponses. |
- | | V |= Video codec | | + | **D** = Decoding supported |
- | | A | = Audio codec | | + | **E** = Encoding supported |
- | | S | = Subtitle codec | | + | **V** = Video codec |
- | | D | = Data codec | | + | **A** = Audio codec |
- | | T | = Attachment codec | | + | **S** = Subtitle codec |
- | | I | = Intra frame-only codec | | + | **D** = Data codec |
- | | L | = Lossy compression | | + | **T** = Attachment codec |
- | | S | = Lossless compression | | + | **I** = Intra frame-only codec |
- | et ‘<code user>ffmpeg -filters</code>’ retourne elle aussi, une grande quantité d’informations | + | **L** = Lossy compression |
+ | |||
+ | **S** = Lossless compression | ||
+ | |||
+ | et | ||
+ | <code user>ffmpeg -filters</code> | ||
+ | retourne elle aussi, une grande quantité d’informations | ||
Dans les formats citons mkv, webm, ogv, ogg. Dans les codecs vidéos citons : vp9, vp8, theora(vp3) | Dans les formats citons mkv, webm, ogv, ogg. Dans les codecs vidéos citons : vp9, vp8, theora(vp3) | ||
Ligne 89: | Ligne 93: | ||
**Pour mieux comprendre les options d’encodages des vidéos :** | **Pour mieux comprendre les options d’encodages des vidéos :** | ||
- | | -b | configuration du débit binaire par défaut 200 kbps | | + | **-b** configuration du débit binaire par défaut 200 kbps |
- | | -sameq | copie à l'identique le débit binaire | | + | **-sameq** copie à l'identique le débit binaire |
- | | -s | configuration de la taille du cadre d'affichage | | + | **-s** configuration de la taille du cadre d'affichage |
- | | -aspect | configuration du format d'affichage (4:3, 16:9 ou 1.3333, 1.7777) | | + | **-aspect** configuration du format d'affichage (4:3, 16:9 ou 1.3333, 1.7777) |
- | | -vcodec ou -c:v | décision du choix du codec | | + | **-vcodec ou -c:v** décision du choix du codec |
- | | -pass | nombre de passage à l'encodage, une passe (-pass 1) ou deux passes (-pass 2) | | + | **-pass** nombre de passage à l'encodage, une passe (-pass 1) ou deux passes (-pass 2) |
- | | -qmin | détermine le seuil minimum du débit binaire variable (VBR)| | + | **-qmax** détermine le seuil maximum du débit binaire variable (VBR) |
- | | -qmax | détermine le seuil maximum du débit binaire variable (VBR) | | + | **-f** sélectionne le nom du conteneur |
- | | -f | sélectionne le nom du conteneur | | + | **-r** définit le nombre d'images par seconde |
- | | -r | définit le nombre d'images par seconde | | + | **-crf** (constant rate factor) permet de définir un niveau de qualité entre 0 et 51 (petit nombre = meilleure qualité, module facilement le ratio poid/qualité. |
- | | -crf | permet de définir un niveau de qualité entre 0 et 51 (petit nombre = meilleure qualité, mais plus de temps de calcul) en H264/Mpeg4.| | + | Plus on donne un nombre proche de zéro plus le fichier et proche de sa source et donc lourd. En général en fonction du besoin on attribue des valeurs entre 15 et 25. |
+ | mais plus de temps de calcul) en H264/Mpeg4. | ||
- | | 264 ou MPEG-4. Le codec H. 264 | est répandu pour la simple raison qu'il permet d'encoder des images de qualité DVD avec une fraction de la bande passante requise par les techniques de compression | | + | 0 = (Lossless) super lourd, identique à la source. |
- | | framerate 30 | nombre d'images par secondes | | + | 10 = lourd, grande qualité |
+ | |||
+ | 30 = léger, mauvaise qualité | ||
- | | video_size 1280×720 | taille de la vidéo | | + | **264 ou MPEG-4.** Le codec H. 264 est répandu pour la simple raison qu'il permet d'encoder des images de qualité DVD avec une fraction de la bande passante requise par les techniques de compression |
- | | f x11grab | capturer la sortie X | | + | **framerate 30** nombre d'images par secondes |
- | | i “$DISPLAY” | apturer l'écran par défaut | | + | **video_size 1280×720** taille de la vidéo |
- | | vcodec mpeg4 | utiliser le codec vidéo mpeg4 | | + | **f x11grab** capturer la sortie X |
- | | b 1200 | bitrate à 1200 kb ( le bitrate audio) | | + | **i “$DISPLAY”** apturer l'écran par défaut |
- | | qscale 1 | zoom à 100% | | + | **vcodec mpeg4** utiliser le codec vidéo mpeg4 |
- | ====l'audio==== | + | **b 1200** bitrate à 1200 kb ( le bitrate audio) |
- | ** | + | |
- | les options d’encodages pour le son** | + | |
- | | -acodec ou -c:a | détermine le choix du codec | | + | **qscale 1** zoom à 100% |
+ | |||
+ | **-preset** Détermine la vitesse d’encodage, une vitesse plus lente permet au logiciel d’optimiser le fichier pour gagner encore de la place, les valeurs disponibles sont : | ||
+ | |||
+ | ultrafast | ||
+ | |||
+ | superfast | ||
+ | |||
+ | veryfast | ||
+ | |||
+ | faster | ||
+ | |||
+ | fast | ||
+ | |||
+ | medium (default) | ||
+ | |||
+ | slow | ||
+ | |||
+ | slower | ||
+ | |||
+ | veryslow | ||
+ | |||
+ | ====AUDIO==== | ||
+ | |||
+ | **les options d’encodages pour le son** | ||
+ | |||
+ | **-acodec ou -c:a** détermine le choix du codec | ||
- | | -ar | configuration de la fréquence d'échantillonnage (44100 Hz) | | + | **-ar** configuration de la fréquence d'échantillonnage (44100 Hz) |
- | | -ab | configuration du débit binaire par défaut 64 kbps (-ab 128kb) | | + | **-ab** configuration du débit binaire par défaut 64 kbps (-ab 128kb) |
- | | -ac | configure le nombre de canaux (mono-stéréo) | | + | **-ac** configure le nombre de canaux (mono-stéréo) |
- | | -aac | (-acodec aac) | | + | **-aac** (-acodec aac) |
Dans les codecs audio citons : flac, opus, vorbis et bien d'autre. | Dans les codecs audio citons : flac, opus, vorbis et bien d'autre. | ||
Ligne 176: | Ligne 207: | ||
VOIR le tuto de cemoi: | VOIR le tuto de cemoi: | ||
- | [[https://debian-facile.org/utilisateurs:cemoi:tutos:h265?s[]=ffmpeg]] | + | **LIEN:** [[https://debian-facile.org/utilisateurs:cemoi:tutos:h265?s[]=ffmpeg]] |
====video-copie-transformation==== | ====video-copie-transformation==== | ||
- | Voir ce lien:[[utilisateurs:smolski:tutos:tuto-video-copie-transformation|Copie Videos et Transformation]] | + | **LIEN:** [[utilisateurs:smolski:tutos:tuto-video-copie-transformation|Copie Videos et Transformation]] |
==== Convertir des vidéos==== | ==== Convertir des vidéos==== | ||
+ | |||
Commençons par une application simple, convertir une vidéo au format MP4 en une vidéo MPEG.ou vice-versa | Commençons par une application simple, convertir une vidéo au format MP4 en une vidéo MPEG.ou vice-versa | ||
<code user>ffmpeg -i vidéo.mp4 vidéo.mpeg</code> | <code user>ffmpeg -i vidéo.mp4 vidéo.mpeg</code> | ||
Ligne 191: | Ligne 223: | ||
Conversion AVI en FLV | Conversion AVI en FLV | ||
<code user>ffmpeg -i vidéo.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv vidéo.flv</code> | <code user>ffmpeg -i vidéo.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv vidéo.flv</code> | ||
+ | |||
+ | Convertir une vidéo en forçant un bitrate | ||
+ | <code user>ffmpeg -i CLDM.mp4 -b:v 512k -b:a 96k CLDM-2.ogg</code> | ||
explications des paramètres : | explications des paramètres : | ||
Ligne 220: | Ligne 255: | ||
==== Extraction de la piste audio ==== | ==== Extraction de la piste audio ==== | ||
- | [[doc:media:ffmpeg:extraction-audio|Extraire une piste audio d’un fichier multimédia avec ffmpeg]] | + | **LIEN:** [[doc:media:ffmpeg:extraction-audio|Extraire une piste audio d’un fichier multimédia avec ffmpeg]] |
====Transformer une vidéo en une série images==== | ====Transformer une vidéo en une série images==== | ||
Ligne 230: | Ligne 265: | ||
====Transformer webm ou mp4 une vidéo en mp3==== | ====Transformer webm ou mp4 une vidéo en mp3==== | ||
<code user>ffmpeg -i Marlene-Dietrich-Lili_Marleen.webm Marlene-Dietrich-Lili_Marleen.mp3</code> | <code user>ffmpeg -i Marlene-Dietrich-Lili_Marleen.webm Marlene-Dietrich-Lili_Marleen.mp3</code> | ||
- | |||
- | ====convertir des images=== | ||
====Compresser une vidéo==== | ====Compresser une vidéo==== | ||
+ | |||
+ | Compresser une vidéo, est souvent utile pour mettre en ligne, et ainsi alléger le poids du fichier, il existe une multitude de façon de coder cette conversion, j'en mettrai que celles que j'ai testé. | ||
+ | |||
+ | <code user>ffmpeg -i mavidéo.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 mavidéocompressé.mp4</code> | ||
+ | |||
+ | <code user> ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4</code> | ||
+ | |||
+ | Ici, "-crf 23" est utilisé pour contrôler la qualité de la vidéo compressée | ||
+ | |||
+ | 18 produira une meilleure qualité mais un fichier plus volumineux | ||
+ | |||
+ | 28 produira une qualité plus faible mais un fichier plus petit | ||
+ | |||
+ | "-b:a 128k" fixe le débit audio à 128 kbps (kilobits par seconde) | ||
+ | |||
+ | Compresser ma vidéo baba.mp4 | ||
+ | <code user>ffmpeg -i baba.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 new_baba.mp4</code> | ||
====redimensionner une vidéo==== | ====redimensionner une vidéo==== | ||
Ligne 253: | Ligne 303: | ||
<code user>ffplay Fabrizio-andré-le-passanti.mp3</code> | <code user>ffplay Fabrizio-andré-le-passanti.mp3</code> | ||
+ | |||
+ | monter ou diminuer le son de 10 décibels : | ||
+ | |||
+ | <code user>ffmpeg -i video.mp4 -vcodec copy -af "volume=10dB" video-augmentee.mp4</code> | ||
+ | |||
+ | On peut aussi baisser le son : | ||
+ | <code user> | ||
+ | ffmpeg -i video.mp4 -vcodec copy -af "volume=-5dB" video-diminuee.mp4</code> | ||
+ | |||
+ | redimensionner ma vidéo en 1280x720 | ||
+ | <code user>ffmpeg -i video.mkv -vf scale=-1:720 video-720p.mkv</code> | ||
+ | |||
====Capturer le premier écran (ou une partie de l'écran)==== | ====Capturer le premier écran (ou une partie de l'écran)==== | ||
Ligne 282: | Ligne 344: | ||
====faire un diaporama musical, à partir d'images==== | ====faire un diaporama musical, à partir d'images==== | ||
- | [[https://debian-facile.org/utilisateurs:lagrenouille:tutos:ffmpeg-faire-un-diaporama_musical]] | + | **LIEN:** [[https://debian-facile.org/utilisateurs:lagrenouille:tutos:ffmpeg-faire-un-diaporama_musical]] |
====ffmpeg==== | ====ffmpeg==== | ||
tuto de Pititux le 22-04-2010 | tuto de Pititux le 22-04-2010 | ||
- | [[https://debian-facile.org/doc:media:ffmpeg]] | + | |
+ | **LIEN:** [[https://debian-facile.org/doc:media:ffmpeg]] | ||
=====Liens divers ffmpeg sur le web===== | =====Liens divers ffmpeg sur le web===== | ||