Ok, donc en utilisant le filtre de superposition, on peut changer l'emplacement x / y d'une vidéo au fil du temps en utilisant la variable "t". Par exemple, overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0
peut être utilisé pour commencer à faire glisser un élément superposé du haut à gauche vers le haut à droite, après 2 secondes.
Ce que je veux faire, c'est utiliser un principe similaire pour la mise à l'échelle des éléments. J'aimerais pouvoir changer l'échelle d'une vidéo au fil du temps en utilisant une expression (comme scale=w=iw*t
,, ou quelque chose dans ce sens).
Est-ce possible?
quand je lance cette expression via -filter_complex, j'obtiens
Erreur lors de l'évaluation de l'expression «iw * t».
Peut-être que l'expression pour out_w: 'iw * t' ou pour out_h: '- 1' est auto-référencée.
J'ai l'impression qu'il y a de fortes chances que je vais avoir besoin de patcher FFMpeg si je veux obtenir cette fonctionnalité, mais j'ai pensé que je demanderais d'abord, pour voir si quelqu'un serait au courant de ce genre de chose!
Quelqu'un sait-il comment une telle tâche pourrait être accomplie?
Merci pour l'aide!
Réponses:
D'après ce que je comprends, «t» est évalué une fois. Avez-vous lu ceci: https://ffmpeg.org/ffmpeg-filters.html#zoompan ?
Documents Ffmpeg:
9.170.1 Exemples
zoompan = z = 'min (zoom + 0.0015,1.5)': d = 700: x = 'if (gte (zoom, 1.5), x, x + 1 / a)': y = 'if (gte (zoom, 1.5), y, y + 1) ': s = 640x360
zoompan = z = 'min (zoom + 0,0015,1,5)': d = 700: x = 'iw / 2- (iw / zoom / 2)': y = 'ih / 2- (ih / zoom / 2)'
zoompan = z = 'min (max (zoom, pzoom) +0.0015,1.5)': d = 1: x = 'iw / 2- (iw / zoom / 2)': y = 'ih / 2- (ih / zoom / 2) '
la source