3 votes

Superposer le numéro de l'image avec ffmpeg à partir de 1

J'ai réussi à encoder une vidéo en utilisant ffmpeg et à superposer chaque image avec le numéro de l'image en utilisant le filtre drawtext.

Mon problème était qu'en utilisant l'option "text=%{n}", le premier cadre était égal à 0, ce qui n'est pas ce dont j'ai besoin.

Ensuite, j'ai utilisé le code "text=%{expr\:n+1}" et le premier cadre est maintenant 1 comme il devrait l'être mais il imprime 1.000000.

Quelqu'un connaît-il un moyen de supprimer ce qui vient après le point décimal ?

4voto

BiLaL Points 101

J'ai eu le même problème, il m'a fallu du temps pour trouver la réponse. Dans les docs il y a

expr_int_format, eif Évalue la valeur de l'expression et la sort sous forme de entier formaté.

Le premier argument est l'expression à évaluer, tout comme pour la commande expr. Le second argument spécifie le format de sortie. Les valeurs autorisées sont 'x', 'X', 'd' et 'u'. Elles sont traitées exactement comme dans la fonction printf. Le troisième paramètre est facultatif et définit le nombre de positions prises par la sortie. Il peut être utilisé pour ajouter un remplissage avec des zéros à partir de la gauche.

J'ai par exemple :text=' == %{eif\:33\:x} ==' Cela fonctionne bien ici. Notez que la quantité d'échappement (combien de barres obliques inversées) dont vous avez besoin dépend de votre environnement.

Donc, dans votre cas, cela fait l'affaire :

"text=%{eif\:n+1\:d}"

0voto

jeffairy Points 1

Tout d'abord, séparez la vidéo en images individuelles, puis utilisez la fonction Redressement d'images multiples.NET pour placer les numéros de cadre dans chaque cadre. Réunissez ensuite les images dans une deuxième séquence vidéo.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X