Vous êtes en train de faire un montage video et vous voudriez sélectionner une zone de votre image (por la cropper par exemple) ?

Oui mais comment savoir la zone à cropper ? pas simple...

En fait, avec ffmepg himself, vous pouvez dessiner un quadrillage d'une video : 

ffmpeg -y -i BLUR.mp4 -filter_complex "[0:v]drawgrid=c=blue:w=20:h=20[v]" -map '[v]' -an "sortie_grille.mp4"

  • -i BLUR.mp4 : votre fichier à quadriller
  • -filter_complex : appel du filtre s'occupant de quadriller :
    • drawgrid : nom du filtre appelé
    • c=blue : couleur du quadrillage bleu
    • w=20 : largeur du quadrillage
    • h=20 : hauteur du quadrillage (le quadrillage n'est pas forcement constitéu de carrés :) )
    • -map : selectionne le [-v] par défaut (pas tout compris)
Add a comment

ffmpeg -y -i 200601.jpg -i 200602.jpg -i 200603.jpg -i 200604.jpg -filter_complex "[0:v]zoompan=z='zoom+0.0000':d=50[img1];[1:v]zoompan=z='if(lte(zoom,1.0),1.1,max(1.001,zoom-0.0030))':d=200[img2];[img1][img2]blend=all_expr='if(lte((H/2-sqrt((Y-H/2)*(Y-H/2)))+N*8*SH,H/2),A,B)'[img1img2];[1:v]zoompan=z='zoom+0.0000':d=50[img2];[2:v]zoompan=z='if(lte(zoom,1.0),1.1,max(1.001,zoom-0.0030))':d=200[img3];[img2][img3]blend=all_expr='if(lte((H/2-sqrt((Y-H/2)*(Y-H/2)))+N*8*SH,H/2),A,B)'[img2img3];[img1img2][img2img3]concat=n=2[final]" -map "[final]" out.mp4

ATTENTION : Ici il n'y a que 4 images. Si vous souhaitez rajouter des images, il faut les ajouter avec le paramèter -i en début de commande, puis affecter la transition ([imgMimgN])

Add a comment

ffmpeg -framerate 0.3 -pattern_type glob -i "*.jpg" -c:v libx264 -crf 0 output.mp4

  • framerate : donne la vitesse entre deux images. Plus c'est élevé, plus le défilement est rapide
  • -pattern_type glob -i "*.jpg" : sélectionne tous les fichiers du répertoire
Add a comment

ffmpeg -f lavfi -i color=red:r=30000/1001:s=720x480,setsar=8/9[out0] -t 20 empty_720x480.mpg

  • -t 2 : 2 secondes
  • color: fond colorée unique
  • -s : définition de la video
Add a comment

ffmpeg -i input.mp4 -vf "select=not(mod(n\,10))" -vsync vfr 1_every_10/img_%03d.jpg

le dossier every_10 doit etre créé !

  • -i : fichier en entrée
  • 1_every-10 : nom du répertoire
Add a comment

Pour créer un slidechow d'image, dans un premier temps, créer dans un fichier texte (temp_file.txt), la liste des images précédé de 'file' de la manière suivante : 

file 'IMG_0006.jpg'
file 'IMG_0005.jpg'
file 'IMG_0004.jpg'
file 'IMG_0003.jpg'
file 'IMG_0002.jpg'

Dans un deuxième temps, spécifier pour chacune des diapo, le temps en secondes sur une "nouvelle ligne" de la façon suivante : 

file 'IMG_0006.jpg'
duration 10
file 'IMG_0005.jpg'
duration 10
file 'IMG_0004.jpg'
duration 10
file 'IMG_0003.jpg'
duration 10
file 'IMG_0002.jpg'
duration 10

Enfin, sur la ligne de commandes, lancer la commande : ffmpeg -f concat -safe 0 -i temp_file.txt -c copy slide_show.avi

 

Add a comment

cela se fait en deux temps :

A - visu en temps réel
$ mplayer delay xx video.avi<8/code>

B - Quand la bonne valeur de délai est trouvée, on réencode la vidéo:
$ mencoder -oac copy -ovc copy -audio-delay -xx vid

Add a comment

 

La rotation d'une video se fait via une "transposition" (mauvaise traduction de l'anglais ? )

ffmpeg -i ori.mp4 -vf "transpose=1" ret.mp4

Plusieurs valeurs sont possibles derrière transpose= :

  • 0 = 90 Contre-rotation dans le sens des aiguilles d'une montre et Vertical (par défaut)
  • 1 = 90 dans le sens horaire
  • 2 = 90 dans le sens antihoraire
  • 3 = 90 Rotation horaire et verticale

Il est aussi possible de donner un angle libre de rotation : 

ffmpeg -i out1.mp4 -vf "rotate=44" -strict -2 out44.mp4

Le fichier aura fait une rotation de 44 degrés

 

Pour appliquer un mirroir : ffmpeg -i out.mp4 -filter:v "hflip,vflip" -c:a copy flip.mp4

 

Add a comment

ffmpeg -i input.avi -vf scale=640:480 output.avi

Retaille une video en 640*480

Add a comment
Add a comment