logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

ffmpeg : généralités non exhaustif

Installation

L’installation sous debian est assez simple, en console sous root :

apt install ffmpeg libavcodec-extra

on peut ajouter l’installation de:

oggvideotools  vorbis-tools  flac mpv

La commande ffmpeg :

La doc est monumentale et les options très nombreuses, nous ferons ici, une petite récapitulations des commandes les plus demandés. Si possible les plus simples.les plus courantes

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.

De la même manière que pour les formats, FFmpeg/Libav liste les codecs qu'il est capable de gérer:

Codecs: cette commande renvoie un grand nombre de réponses.

ffmpeg -codecs

renvoie un grand nombre de réponses.

D = Decoding supported

E = Encoding supported

V = Video codec

A = Audio codec

S = Subtitle codec

D = Data codec

T = Attachment codec

I = Intra frame-only codec

L = Lossy compression

S = Lossless compression

et

ffmpeg -filters

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)

Ogg, et le codec audio Vorbis sont 2 création du monde du logiciel libre

Les formats Flac, apc, monkey audio sont des formats dits « lossless » : ils sont chargés d’encoder ’’’sans perte’’’ des données audio.

La commande pour voir les formats disponibles sur lesquels ffmpeg peut travailler :

ffmpeg -formats -hide-banner | less
ffmpeg -formats  | less

ça affichera des choses comme :

* D : sS ffMpeg sait Décoder ce type de boite ;

* E :Si ffMpeg sait Encoder ce type de boite ;

* ffmpeg: Prend en charge les formats courants tels que MP4, AVI, MKV, MOV, etc., ainsi que des codecs spécifiques tels que H. 264, H ;

* ffmpeg : Outil de traitement ;

* ffprobe : Outils d’analyse ;

* ffplay : Lecteur vidéo.

La première chose à faire lorsque l’on a un fichier, en l’occurrence multimédia, dont on ignore tout est de rechercher les informations le concernant.

Exemple :

ffmpeg -i ma-vidéo.mp4

Pour mieux comprendre les options d’encodages des vidéos :

-b configuration du débit binaire par défaut 200 kbps

-sameq copie à l'identique le débit binaire

-s configuration de la taille du cadre d'affichage

-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

-pass nombre de passage à l'encodage, une passe (-pass 1) ou deux passes (-pass 2)

-qmax détermine le seuil maximum du débit binaire variable (VBR)

-f sélectionne le nom du conteneur

-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é.

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.

0 = (Lossless) super lourd, identique à la source.

10 = lourd, grande qualité

30 = léger, mauvaise qualité

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

framerate 30 nombre d'images par secondes

video_size 1280×720 taille de la vidéo

f x11grab capturer la sortie X

i “$DISPLAY” apturer l'écran par défaut

vcodec mpeg4 utiliser le codec vidéo mpeg4

b 1200 bitrate à 1200 kb ( le bitrate audio)

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)

-ab configuration du débit binaire par défaut 64 kbps (-ab 128kb)

-ac configure le nombre de canaux (mono-stéréo)

-aac (-acodec aac)

Dans les codecs audio citons : flac, opus, vorbis et bien d'autre.

Convertir simplement une vidéo de musique mp4 en son mp3

ffmpeg -i  mamusic.mp4 mamusic.mp3

Convertir un son au format wav en son au format mp3

ffmpeg -i mamusic.wav -ar 44100 mamusic.mp3

Les fichiers MP3 peuvent aussi être encodés avec un bitrate variable.

On peut encoder un MP3 en différentes qualités. de 64 à 320Kbps. Le plus courant étant le 128 ou le 192.

Ils peuvent être encodés en mono, stéréo ou joint-stéréo

exemples de commandes ffmpeg

Fusionner des vidéos

fusionner deux vidéos, ici, j’ai la même vidéo mais deux fois

une fois avec l’image sans le son. deskshare.mp4

une fois avec le son sans l’image. webcams.mp4

je vais donc les fusionner pour avoir l’image et le son

ffmpeg -i  deskshare.mp4 -i webcams.mp4 -map 0:v -map 1:a -c  copy  mavidéo-visio.mkv

-map 0:v“ : du premier fichier d’entrée, ne prendre que la vidéo

-map 1:a” : du deuxième fichier d’entrée, ne prendre que l’audio

VOIR le tuto de cemoi:

LIEN: https://debian-facile.org/utilisateurs:cemoi:tutos:h265?s[]=ffmpeg

video-copie-transformation

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

ffmpeg -i vidéo.mp4  vidéo.mpeg
ffmpeg -i vidéo.mpeg  vidéo.mp4
ffmpeg -i Marlene-Dietrich-Lili_Marleen.webm Marlene-Dietrich-Lili_Marleen.mp4

Conversion AVI en FLV

ffmpeg -i vidéo.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv vidéo.flv

Convertir une vidéo en forçant un bitrate

ffmpeg -i CLDM.mp4 -b:v 512k -b:a 96k CLDM-2.ogg

explications des paramètres :

* -ab : configuration du baud rate binaire du flux audio en kbps ;

* -ar : définition de la fréquence d’échantillonnage de la piste audio ;

* -b : configuration du baud rate binaire du flux vidéo en kbps ;

* -r : valeur du nombre d’images par seconde (framerate) ;

* -s : redimensionnement du format de la vidéo ;

* -f : définition du format de sortie .

Les conversions vidéos vers musiques. Extraction de la piste audio

Extraction des images d’une vidéo

ffmpeg -i video.mp4 -r 5 images%02d.png

Le paramètre -r permet de définir la fréquence d’extraction d’images. Pour une vidéo dont le framerate est de

25 images par seconde, si vous spécifiez un paramètre à -r 5, cela correspondra à une extraction d’images toutes les 5 images.

Extraction de la piste audio

Transformer une vidéo en une série images

convertir une vidéo MP4 vers une image animée GIF non compressée

ffmpeg -i vidéo.mp4 vidéo.gif

Transformer webm ou mp4 une vidéo en mp3

ffmpeg -i Marlene-Dietrich-Lili_Marleen.webm  Marlene-Dietrich-Lili_Marleen.mp3

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é.

ffmpeg -i mavidéo.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24  mavidéocompressé.mp4
 ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4

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

ffmpeg -i baba.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24  new_baba.mp4

redimensionner une vidéo

ffmpeg -i mavidéo.mp4 -ss 00:00:30 -t 00:01:30 manouvellevidéo.mp4

-ss indique le moment où vous souhaitez récupérer la séquence vidéo

-t indique la durée de la vidéo de sortie

Convertir une vidéo en noir et blanc

ffmpeg -i input.mp4 -vf "colorchannelmixer=.3 :.4 :.3:0 :.3 :.4 :.3:0 :.3 :.4 :.3" output.mp4

Cela permet d'appliquer une matrice de conversion des couleurs pour créer un effet noir et blanc.

ffplay: Lire une vidéo ou une zic sur un terminal

Avec mpv ou sous console, * pour augmenter le son et / pour diminuer le son

ffplay Fabrizio-andré-le-passanti.mp3

monter ou diminuer le son de 10 décibels :

ffmpeg -i video.mp4 -vcodec copy -af "volume=10dB" video-augmentee.mp4

On peut aussi baisser le son :

ffmpeg -i video.mp4 -vcodec copy -af "volume=-5dB" video-diminuee.mp4

redimensionner ma vidéo en 1280×720

ffmpeg -i video.mkv -vf scale=-1:720 video-720p.mkv

Capturer le premier écran (ou une partie de l'écran)

dans cet exemple, je capture une vision-conférence sur le premier écran (avec un sérieux problème non résolu..

commande à adapter à votre écran, Il faut préciser les coordonnées du point de départ de la capture (x=200 et y= 100) :

ffmpeg -video_size 1280x1024 -framerate 30 -f x11grab -i "$DISPLAY" -f pulse -i 0 -c:v libx264 -crf 22 -preset ultrafast -c:a libopus -ac 2 mavidéo.mkv

le problème est, que j'ai seulement le son de mes interventions, et que les autres participants ne sont pas captés par ma commande, soit une option de firefox, soit une option ffmpeg… c'est à découvrir ?

Transformer une série d’images en vidéo

s'assurer que les images ont la même dimension

renommer vos images en, 001.jpeg, 002.jpeg, 003.jpeg, ou 01.png. 02.png, 03.png etc..

 ffmpeg -r 1 -s 1080x1620 -i pictures/%03d.jpeg -vcodec libx264 -crf 25 mavidéo.mp4

-r 1 est le taux d'images par seconde.

-s 1080×1620 est la taille de notre vidéo

-i image%d.jpg, %d est transformé en 1, 2, 3, 4, 5..etc…

-crf permet de définir un niveau de qualité

faire un diaporama musical, à partir d'images

ffmpeg

tuto de Pititux le 22-04-2010

LIEN: https://debian-facile.org/doc:media:ffmpeg

Liens divers ffmpeg sur le web

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
atelier/chantier/ffmpeg-generalites.txt · Dernière modification: 24/09/2024 16:35 par vv222

Pied de page des forums

Propulsé par FluxBB