Abonnement à ma liste de contacts

Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

 

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
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives

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

Retaille une video en 640*480

Add a comment
Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
Add a comment

Vous retrouverez ici tous mes articles explicatifs de mes concepts, mes résultats d'analyses techniques m'ayant permi d'aboutir à un fonctionnement de mes applicatifs très fonctionnel

Rapport sondage marche

Voici le rapport statistique du sondage (auquel vous pouvez toujours répondre) que j'ai lancé sur le sujet