ffmpeg -i output.mp4 -vcodec libx264 -cmp 22 -vf "drawtext=fontfile=DroidSansMono.ttf: timecode='00\:00\:00\:00': r=23.976: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" -y output.mov

par défaut, le texte n'est pas très gros. On vas donc augmenter la taille de la police :

ffmpeg -i output.mp4 -vcodec libx264 -cmp 22 -vf "drawtext=fontfile=DroidSansMono.ttf: timecode='09\:57\:00\:00': r=23.976: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: fontsize=30: box=1: boxcolor=0x00000099" -y output.mov

Add a comment

ffmpeg -i videoInput.mp4 -vf drawtext="./font/Roboto/Roboto-Bold.ttf:text='testing text \ntesting text \ntesting text':fontcolor=yellow:fontsize=36:box=1:boxcolor=black@0.5:boxborderw=160:x=(w-text_w)/2:y=(h-text_h)/2" -codec:a copy  videoOutput.mp4

dans le parametre drawtext, on définit la police de caractères, le texte à écrire. Les "\n" permettent les retours à la ligne. Ce meme paramètre utilise les constante h et w symbolisant la largeur (width) et la hauteur (height)

Add a comment

ffmpeg -i 1.mp4 -i petitLogo.jpg -filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,2,5)'" -pix_fmt yuv420p -c:a copy outputL.mp4

Détaillons les paramètres :

  • -i 1.mp4 : fichier en entrée
  • -i petitLogo.mp4 : logo en entrée a afficher sur la video
  • -overlay:25:25 : coin haut gauche du logo positionné à ce point de la video "mère"
  • enable='between(t,2,5)' : l'overlay sera affiché entre la seconde 2 et 5

 

Add a comment

ffmpeg -i final.mp4 -vf "drawtext=enable='between(t,2.5,6.5)':fontsize=50:fontcolor=Green:fontfile='ariblk.ttf': text='textline1':x=min(4*(tw\+10)-(abs(4-2*(t-2.5)))*(tw+10)-tw\,10):y=h-th-130" o.mp4

Add a comment

Dans notre cas, le texte est issu du fichier ticker.txt, mais on peut bien entendu remplacer textfile=ticker.txt par text=Le texte que je veux mettre.

ffmpeg -i INPUT.mp4 -vf "drawtext=textfile=ticker.txt:fontfile=BebasNeue-Regular.ttf:y=h-line_h-10:x=w-mod(w*t/25\,2400*(w+tw)/w):fontcolor=white:fontsize=40:shadowx=2:shadowy=2" -codec:a copy output.mp4

 

 

Add a comment

ffmpeg -i birds5.mp4 -vf "[in]drawtext=fontfile=ASMAN.TTF:fontsize=15:fontcolor=red:x=(w-text_w)/2:y=h-60*t:textfile='text.txt'[out]" -c:v libx264 -t 10 -strict -2 scrollllll.mp4

Add a comment

ffmpeg -i Wildlife.mp4 -vf drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf: \ text='Stack Overflow': fontcolor=white: fontsize=18: box=1: boxcolor=red@0.5: \ boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy output.mp4

  • drawtext : on va rentrer ici TOUS les paramètres du texte
    • fontfile= : URL locale de la police de caractères
    • box= : Le texte sera encadré et affiché dans un rectangle de fond, coloré
    • boxcolor : couleur de fond de la boite citée ci-dessus. L'@ permet de spécifier la TRANSPARENCE de la couleur de cette boite.
    • boxborderw : épaisseur de la bordure du rectangle. (Equivalent du padding en CSS)
    • codec:a copy : reprend le même CODEC sonore que la vidéo d'origine
Add a comment

ffmpeg -f lavfi -i "color=color=yellow, drawtext=enable='gte(t,0)':text=Text1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Text10:expansion=normal:fontfile=verdana.ttf: y=h-line_h-120:x=-100*t: fontcolor=white: fontsize=50" -t 20 Output.mp4

Add a comment

 

1. Ce texte peut mise en forme au niveau de la police, et boucler sur lui même

ffmpeg -i sample.mp4 -vf "drawtext=text=L'toto va à la pêche:fontfile=ASMAN.ttf:y=h-line_h-10:x=w-mod(max(t-4.5\,0)*(w+tw)/5.5\,(w+tw)):fontcolor=ffcc00:fontsize=40:shadowx=2:shadowy=2" -strict -2  loop1.mp4

 

2. Le texte "boucle"

 ffmpeg -i sample.mp4 -vf "drawtext=text=string1 string2 string3 string4 string5 string6 string7 :expansion=normal:fontfile=foo.ttf: y=h-line_h-10:x=(mod(5*n\,w+tw)-tw): fontcolor=white: fontsize=40: shadowx=2: shadowy=2" -strict -2 loop3.mp4

 

3. Texte fixe sur un bandeau coloré

ffmpeg -i sample.mp4 -vf "format=yuv444p,drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=max, drawtext=fontfile=OpenSans-Regular.ttf:text='Title of this Video':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th,  format=yuv420p" -c:v libx264 -c:a copy -movflags +faststart output.mp4

 

Add a comment

ffmpeg -i leo.mp4 -vf drawtext="fontfile=/Library/Fonts/Kefa.ttc:fontsize=20: fontcolor=red:x=150:y=150:text='HELLO'" -strict -2 output.mp4

  • -i : vidéo en entrée
  • -vf drawtext="..." : remplacer les ... par le texte à afficher sur la video ainsi que la police de caractères,
    • fontfile= : url locale de la police de caractères (chemin absolu)
    • fontsize= : taille de la police de caractères
    • fontcolor= : couleur du texte à afficher
    • x= : position X à partir du coin en haut a gauche du texte à afficher
    • y= : position Y à partir du coin en haut a gauche du texte à afficher
    • text= : chaine de caractères à afficher
Add a comment