Table des matières

ffmpeg

Intallation

Convertir

Convertir une vidéo au 2/3 de sa taille (même ratio):

$ ffmpeg -i input.mov -vf  "scale=trunc(iw/3)*2:trunc(ih/3)*2" output.mov

Le /2 est nécessaire pour éviter l'erreur height not divisible by 2.

$ ffmpeg -i source.mov -vf "scale=trunc(iw/4)*2:trunc(ih/4)*2" destination.mov
$ ffmpeg -i source.mov -filter:v "setpts=0.5*PTS" destination.mov
$ ffmpeg -i source.mov -vf "scale=trunc(iw/4)*2:trunc(ih/4)*2" -filter:v "setpts=0.5*PTS" destination.mov
$ ffmpeg -i source.mov -qscale 0 destination.mp4

Scaler à une résolution spécifique ayant par exemple source.mp4 qui est en 2560×1440:

$ ffmpeg -i source.mp4 -vf scale=1920:1080 destination.mp4

Davinci Resolve

Pour convertir Webm à quelque chose de compatible avec Resolve:

$ ffmpeg -i .\787B_01_VR.webm -c:a copy -c:v copy 787B_01_VR.mp4

Convertir en GIF animé

$ ffmpeg -i yesbuddy.mov -pix_fmt rgb24 output.gif

Source: How can I get ffmpeg to convert a .mov to a .gif?

Edition

Couper les 45 secondes du début:

$ ffmpeg -ss 00:00:45.0 -i input.mp4 -c copy output.mp4

Spécifier le temps/durée (prendra 3' 40“ du début de la vidéo):

$ ffmpeg -i .\input.mp4 -t 00:03:40 -c copy .\output.mp4

Flip

$ ffmpeg -i input.mp4 -vf "hflip" output.mp4

Compression

Utiliser H.265 avec le paramètre CRF: une valeur plus basse donne une plus haute qualité avec un plus haut bitrate.

$ ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

H264:

$ ffmpeg -i input.flv -vcodec libx264 -acodec aac output.mp4

Avec désentralacement:

$ ffmpeg -i input.mpeg -vf yadif -c:v libx264 -preset slow -crf 28 -c:a aac -b:a 256k output.mp4

Avec profil:

$ ffmpeg -i .\input.mp4 -vcodec libx264 -profile:v main output.mp4

Concatener des vidéos

$ for f in *\ *; do mv "$f" "${f// /_}"; done
$ for f in Un_ciel*; do echo "file '$f'"; done > list.txt
$ ffmpeg -f concat -i list.txt -c copy Un_ciel_couleur_vanille.avi
$ ffmpeg -f concat -i <(for f in $PWD/*.avi;do echo "file '$f'";done) -c copy output.avi

Outils

Ressources