FFmpeg superposer une image sur une vidéo avec un effet de fondu

0

Vous avez quelques doutes par rapport à la commande ffmpeg suivante -
ffmpeg -f concat -i input.txt -loop 1 -t 8 -i inputImg.jpg -filter_complex "[1]format=rgba,fade=alpha=1:st=0:d=8,setpts=PTS+10/TB[v1];[0][v1]overlay=x=70:y=100:enable='between(t,2,10)'" -crf 22 -threads 2 -preset ultrafast output.mp4

1- effet de boucle sur la performance si je ne fournis pas -t 8 et juste utiliser shortest=1 dans le filtre de superposition - une vidéo de durée infinie sera-t-elle créée et la plus courte vidéo sera-t-elle sélectionnée?

2- qu'est-ce que setpts faire? - J'ai mentionné -t 8 - Donc, il boucle pendant 8 secondes. Si je fais `setpts = PTS + 10 / TB 'augmente-t-il la vidéo en boucle à une durée de 18 ans où l'effet de fondu est compris entre 10 et 18 ans? Qu'y a-t-il de 0 à 10 secondes dans la vidéo en boucle?

3- comment 2 vidéos sont superposées - les deux vidéos sont-elles fusionnées à partir de 0 seconde?

4- Si je veux avoir un effet de fondu appliqué sur une image qui sera superposée à ma vidéo à la centième seconde, puis-je créer une vidéo en boucle de 100? - comment cela affectera-t-il la performance?

5- Le frame_no de main_video [0] peut-il être utilisé dans looped_video [1]?

6- Existe-t-il une méthode / alternative performante pour appliquer l'effet de fondu sur une image, en se basant sur frame_sequence, fade_in à partir du frame 30-35?

AM25
la source

Réponses:

0

En ordre,

1- Effet de la boucle sur les performances si je ne fournis pas -t 8 et utilise simplement shortest = 1 dans le filtre de superposition - une vidéo de durée infinie sera-t-elle créée et seule la superposition de film la plus courte sera-t-elle sélectionnée?

En théorie, oui. Mais à présent, il y a un bug avec shortest=1alors ne l'utilisez pas.

2- que font les setpts?

Cela modifie les horodatages. Dans votre commande, il ajoute 10 secondes aux horodatages afin que le flux généré de l'image ait son premier horodatage de 10 secondes.

3- comment 2 vidéos sont superposées - les deux vidéos sont-elles fusionnées à partir de 0 seconde?

Les images avec les horodatages correspondants sont superposées, c'est-à-dire que l'image avec PTS 10 secondes d'image est superposée sur l'image vidéo de base avec PTS 10 secondes.

4- Si je veux avoir un effet de fondu appliqué sur une image qui sera superposée à ma vidéo à la centième seconde, puis-je créer une vidéo en boucle de 100? - comment cela affectera-t-il la performance?

La durée doit correspondre à la durée d'affichage de la vidéo. Utilisez les instructions pour décaler l'heure de début.

5- Le frame_no de main_video [0] peut-il être utilisé dans looped_video [1]?

le enable switch utilise les images / horodatages de la vidéo principale.

6- Existe-t-il une méthode / alternative performante pour appliquer l'effet de fondu sur une image, basé sur frame_sequence, par exemple, fade_in à partir du frame 30-35?

Non, pareil que ce que vous utilisez. Vous pouvez utiliser les variables qui font référence au nombre d'images pour définir le début set la durée n

Gyan
la source
Ans 2 - donc setpts n'affecte pas la durée - seuls les horodatages sont modifiés? Et 5 - ce que je voulais dire, c’est que frame_no of stream [0] (qui est lu depuis le fichier input.txt) doit être utilisé lors de l’évaluation du fondu (pour calculer le setpts dynamiquement - Je veux utiliser enable (n, 30, 35) dans le filtre de superposition et calculer en conséquence les paramètres pour le fondu)?
AM25
Ans 6 - Utilisé cette commande - ffmpeg -f concat -i input.txt -loop 1 -t 1 -i inputImg.jpg -filter_complex "[1]format=rgba,fade=alpha=1:s=0:n=9,setpts=PTS+0/TB[v1];[0][v1]overlay=x=70:y=100:enable='between(n,0,9)'" -crf 22 -threads 2 -preset ultrafast output.mp4' - but in s` et n dans fade, fait probablement référence aux images du flux [1] (le looped_video) et non du flux [0] (main_video lu à partir du fichier input.txt) - les commandes o / p partagées ici et celles de la question sont différentes.
AM25
frame_no du flux [0] (qui est lu dans le fichier input.txt) à utiliser lors de l’évaluation du fondu (pour calculer les paramètres de manière dynamique) - & gt; pas possible. setpts fait référence au flux sur lequel il opère.
Gyan