Ffmpeg

De Linuxmemo.

(Différences entre les versions)
(Extraire un flux)
(Découpage)
Ligne 55 : Ligne 55 :
==Découpage==
==Découpage==
 +
Extraire un segment
 +
 +
FFmpeg/Libav permet d'extraire, des morceaux d'un média, en précisant un point d'entrée avec -ss (-ss 00:06:46) et précisant un durée avec -t (-t 00:01:00). Cette fonction est très utile pour faire des tests d'encodage et pour valider sa commande. À noter que -ss et -t doivent être placés devant le premier input (-i).
 +
ffmpeg -ss 00:06:46 -t 00:01:00 -i file.mkv -c copy file_extrait.mkv
 +
 +
Parfois la durée -t n'est pas prise en compte. On peut utiliser l'option -to en la plaçant au niveau du fichier de sortie
 +
ffmpeg -ss 00:06:46 -i file.mkv -c copy -to 00:01:00 file_extrait.mkv
==Actuces==
==Actuces==

Version du 30 décembre 2017 à 21:26

Sources: https://wiki.debian.org/fr/ffmpeg

FFmpeg/Libav permet de multiplexer ou de-multiplexer dans différents formats:

   des flux vidéos compressés (ou pas),
   des flux audio compressés (ou pas),
   des sous-titres dans différents formats. 

Et de modifier, à l'aide de filtre, le contenu de chaque flux indépendamment.

"avconv" est un lien symbolic de "ffmpeg".

Sommaire

Encodage

Formats + Codecs + Filtres

  • liste des formats (container)
ffmpeg -formats
  • liste les codecs disponible pour l'encodage
ffmpeg -codecs
  • liste des filtre
ffmpeg -filters

Information sur la video

ffmpeg -i file.avi
ou
avprobe file.avi
ou
ffprobe file.avi
  • liste les stream
  • liste les codecs

Conversion

Choix du format de sortie

C'est l’extension du fichier output qui détermine le type de la sortie

ffmpeg -i file.mkv -c copy output.avi
  1. ) lister les streams (pistes): ffmpeg -i file.mkv
  2. ) lister les streams que l'on garde avec -map: ffmpeg -i file.mkv -map 0:1 -map 0:2 -vcodec copy -acodec copy output.mkv

Changer de format sans toucher au flux

ffmpeg -i file.mkv -c copy file.mov
-c copy: copie à l'identique la totalité des flux
-c:v copy : copie à l'identique les pistes vidéos
-c:a copy : copie à l'identique les pistes audio
-c:s copy : copie à l'identique les pistes sous-titres

Changer l'ordre des flux (mapping)

ffmpeg -i file.mkv -map 0:0 -map 0:2 -map 0:1 -map 0:4 -map 0:3 -c copy file-v2.mkv

Ajouter un flux

Le paramètre -map permet aussi d'ajouter un flux, dans l'exemple qui suit un sous-titre en espagnol (TOS-es.srt) en position 4 :

ffmpeg -i file.mkv -i TOS-es.srt -map 0:0 -map 0:1 -map 0:2 -map 1:0 -map 0:3 -map 0:4 -c:v copy -c:a copy -metadata:s:s:0 language=esp file-v2.mkv

Extraire un flux

En utilisant les possibilités du mapping il est très facile d'extraire un seul flux d'un fichier en comportant plusieurs :

ffmpeg -i file.mkv -map 0:2 -acodec copy file_BO.mkv

Dans cet exemple, on ne copie qu'une seule des pistes audio.

Extraire une piste audio en MP3

ffmpeg -i file.mkv -map 0:2 -acodec libmp3lame -ar 44100 -ac 2 -ab 192k file_BO.mp3

Extraire un sous-titre

ffmpeg -i file.mkv -map 0:4 -c:s srt file_FR.srt

Découpage

Extraire un segment

FFmpeg/Libav permet d'extraire, des morceaux d'un média, en précisant un point d'entrée avec -ss (-ss 00:06:46) et précisant un durée avec -t (-t 00:01:00). Cette fonction est très utile pour faire des tests d'encodage et pour valider sa commande. À noter que -ss et -t doivent être placés devant le premier input (-i).

ffmpeg -ss 00:06:46 -t 00:01:00 -i file.mkv -c copy file_extrait.mkv

Parfois la durée -t n'est pas prise en compte. On peut utiliser l'option -to en la plaçant au niveau du fichier de sortie

ffmpeg -ss 00:06:46 -i file.mkv -c copy -to 00:01:00 file_extrait.mkv

Actuces

  • choisir ses codecs
ffmpeg -i input.webm -c:v copy -c:a flac output.mkv
-c:v copy => codec:video copy l'originale
-c:a flac => codec:audio en flac
ou bien
-c:av copy -> en une seule option
  • supprimer des pistes audio ou vidéo (streams)
Outils personnels