Vous pouvez utiliser le filtre de texte .
Texte dynamique
Le texte peut être modifié pendant l'encodage si vous utilisez la fonction textfile
et reload
options :
-
textfile
Un fichier texte contenant le texte à dessiner. Le texte doit être une séquence de caractères codés UTF-8.
-
reload
Si la valeur est 1, le fichier texte sera rechargé avant chaque image. Assurez-vous de le mettre à jour de manière atomique, ou il pourrait être lu partiellement, ou même échouer.
Animer
Le texte peut se déplacer en utilisant expressions au sein de la x
et y
options de texte de dessin. Voir le documentation sur les textes à dessiner pour une liste de constantes et de fonctions.
Edition de la ligne de temps
Certains filtres, tels que drawtext, prennent en charge l'option enable
option ce qui signifie que vous pouvez éteindre et allumer le filtre. Vous pouvez voir quels filtres supportent la timeline :
ffmpeg -filters
Beispiel
Si vous avez une vidéo d'entrée que vous voulez superposer avec du texte :
ffmpeg -i input -vf "drawtext=enable='gte(t,3)':fontfile=Vera.ttf:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" output
- Ceci activera le filtre drawtext après 3 secondes.
- Chaque fois
text.txt
est mis à jour, le texte sera modifié
- Les mots se déplaceront sur l'écran de gauche à droite (je suis nul avec ces expressions mais vous aurez l'idée).
Si vous n'avez pas de vidéo en entrée et que vous souhaitez simplement générer le texte sur fond noir :
ffmpeg -f lavfi -i "color=color=black, drawtext=enable='gte(t,3)':fontfile=Vera.ttf:fontcolor=white:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" -t 5 output
Ici, -t 5
spécifie la longueur totale de la sortie. (Si elle n'est pas spécifiée, l'encodage s'exécuterait indéfiniment.) La couleur de la police est fixée à blanc pour que le texte soit visible.