Pour cela, la commande est

ffmpeg -i input.mp4 -vf cropdetect -frames:v 3 -f null -
  • input.mp4 : nom du fichier en entrée
  • -vf cropdetect : appel du filtre cropdetect de détection des bords
  • -frame:v 3 : permet d'arreter l'analyse des bordure au bout de 3 frames trouvées (on peut y placeer un autre nombre évidemment)
  • -f null : force à null le format de sortie
Add a comment

ffmpeg -i wildlife.wmv -ss 00:00:00 -t 00:00:50 -c copy outputVideo1.wmv -ss 00:00:50 -codec copy outputVideo2.wmv

 

Une autre façon de faire :

ffmpeg -ss -t -i in1.avi -sameq out1.avi

  • -ss : temps de début
  • -t : temps de la video a extraire.
  • -sameq : permet de recupérer les mêmes caractéristiques du fichier d'entrée dans le fichier de sortie

ATTENTION : pouré préserver la qualité des découpe : ajouter -qscale 0

Add a comment

Quel mot utiliser en francais pour parler de crop ? retaillage ? Oui mais on ne retaille pas sur la durée de la video, mais bien sur son format (largeur/hauteur).

ffmpeg -i input.mp4 -croptop 100 -cropbottom 100 -cropleft 300 -cropright 300 output.mp4

 

Dans cet exemple, on part du fichier en entrée input.mp4, à partir duquel on va spécifier les 2 points "cardinaux" symbolisant une ligne verticale et horizontale à partir du coin gauche en haut, suivi de la longueur et la largeur de la vidéo souhaitée :

  • croptop : ligne du haretaillerut à partir de laquelle faire le crop
  • cropbottom : ligne du bas maximale du crop
  • cropleft : ligne de gauche verticale à partir de laquelle faire le crop
  • cropright : ligne horizontale maximale du crop

Bien entendu, output.mp4 est le nom du fichier de sortie du résultat attendu.

---

Dans le code suivant, la video est retaillée en se basant sur les données de la vidéo d'origine (in_w, in_h)

ffmpeg -i input.avi -vf crop=100:110:200:80 output.avi ffmpeg -i input.avi -vf crop=in_w:in_h/2:in_w:in_h/2 output.avi

 

Add a comment

Afin de convertir une video quatre tiers en seize neuvièmes, il faut faire un crop adéquat :

ffmpeg -i fichier_entree.mp4-vf "crop=720:528:120:6,scale=960:540,setsar=1" fichier_sortie.mp4

Add a comment

Pour concaténer des vidéos, elle doivent être DU MEME FORMAT !

Dans un premier temps, il faut faire un fichier texte de ce type (fic.tx :

file 'aa.mp4'
file 'bb.mp4'
file 'cc.mp4'

Noter que chaque ligne commence par file, des simples cotes entourent les nom de fichiers

Puis lancer :
ffmpeg -f concat -i fic.txt -c copy -y out.mp4
Une autre solution :
Dans un premier temps, les fichiers doivent toutes être dans le même format.
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy output.ts

Add a comment

Lorsqu'on a une video longue (oui tout est relatif) et que l'on veut en extraire plusieurs sous partie, il est possible de le faire en une seule commande.

ffmpeg -i input.mp4 -t 00:00:30 -c copy partie1.mp4 -ss 00:00:30 -codec copy partie2.mp4

Dans ce cas, à partir de la vidéo en entrée (input.mp4), nous allons extraire deux sous vidéos :

  • partie1.mp4 : cette video commence au tout début de la vidéo mère (puisqu'auncune indication n'a été spécifiée) pour une durée de 30 secondes.
  • partie2.mp4 : cette video commence à 30 seconde du début de la video mère pour une durée non spécifiée, donc jusque la fin

ATTENTION : afin de préserver la qualité de départ de votre video dans les vidéo extraites, il ne faut pas oublier l'option de préservation de qualité -qscale 0. N'oubliez pas qu'une autre options, un fax amis, existe (il s'agit de sameq) mais n'a absolument rien à voir avec la préservation de la même qualité.

Add a comment

ffmpeg -i in.mp4 -filter:v "crop=w:h:x:y" out.mp4

  • in.mp4 est la vidéo d'entrée
  • out.mp4 est la vidéo générée
  • w est la largeur de la vidéo finale
  • out_h est la hauteur de la vidéo finale
  • x et y spécifient les coordonnées du coin supérieur gauche du rectangle précédemment défini (les coordonnées 0:0 sont en haut à gauche de la vidéo
Add a comment

ffmpeg -i wildlife.wmv -ss 00:00:00 -t 00:00:50 -c copy outputVideo1.wmv -ss 00:00:50 -codec copy outputVideo2.wmv

 

Une autre façon de faire :

ffmpeg -ss -t -i in1.avi -sameq out1.avi

  • -ss : temps de début
  • -t : temps de la video a extraire.
  • -sameq : permet de recupérer les mêmes caractéristiques du fichier d'entrée dans le fichier de sortie

ATTENTION : pouré préserver la qualité des découpe : ajouter -qscale 0

Add a comment

ffmpeg -ss 00:01:45 -i inputfile.mp4 -t 00:03:00 -c:v copy -c:a copy outputfile.mp4

  • -ss : temps de départ
  • -i : nom du fichier duquel extraire les données
  • -t : durée du fichier cible
  • -c:v copy : reprend l'encodage video de la video d'origine
  • -c:a copy : reprend l'encodage audio de la video d'origine

Une açon plus simple serait de diire d'extraire le fichier entre le seconde N et la seconde M de la façon suivante :

ffmpeg -i inputfile.mp4 -ss 00:01:00 -to 00:00:59 -c copy output.mp4

il est simple de comprendre que : 

  • -ss spécifie la duée de début
  • -to : spécifie le temps de fin
  • -c copy : copie a la fois le flux sonore et vidéo.

ATTENTION : pouré préserver la qualité des découpe : ajouter -qscale 0

Add a comment