Ajouter une superposition d'image devant la vidéo à l'aide de ffmpeg


18

J'ai beaucoup de vidéos et j'ai besoin de mettre une image devant elles pendant environ 5 secondes, mais l'ajouter manuellement et la rendre à chaque fois prendrait beaucoup de temps. pourrait, s'il vous plaît, m'aider avec ça puisque je n'ai aucune expérience avec ffmpeg.J'ai déjà trouvé des commandes, mais aucune d'entre elles n'a fonctionné. Celle-ci par exemple.

ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4
  0

Vous venez de copier cette commande ou de l'écrire selon vos besoins?Je demande parce que cette commande implique des choses comme un fondu et toutes sortes d'autres choses qui ne sont pas couvertes dans votre question.Avez-vous simplement besoin de superposer une image ou avez-vous besoin de plus que cela? 07 juil.. 142014-07-07 12:18:11

  0

Je l'ai copiée quelque part, tout ce dont j'ai besoin est simplement de mettre l'image devant la vidéo. 08 juil.. 142014-07-08 09:11:48

25

Vous pouvez faire une superposition d'image simple en utilisant la syntaxe suivante:

ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4

overlay=25:25signifie que nous voulons positionner l'image 25 pixels vers la droite et 25 pixels vers le bas, à partir du coin supérieur gauche (0: 0).

enable='between(t,0,20)'signifie que nous voulons que l'image apparaisse entre les secondes 0 et 20.

[0:v][1:v]signifie que nous voulons le premier fichier vidéo que nous importons avec-i, dans notre cas, input.mp4 ou comment ffmpeg voit le numéro de fichier d’entrée vidéo 0, dans le fichier d’entrée vidéo 1, dans notre cas, image.png.:vsignifie simplement que nous voulons la vidéo 0 et la vidéo 1.[0:a]signifierait que nous voulons la première piste audio importée.Ce qui viendrait également de input.mp4 mais indiquerait la piste audio au lieu de la piste vidéo dans le fichier mp4.

Si vous souhaitez une qualité d'image/des paramètres particuliers et non les paramètres choisis par ffmpeg, ajoutez les options de codage audio et d'image que vous souhaitez utiliser.Le codeur vidéo par défaut sera x264.Vérifier laH.264 encoding guidepour les réglages possibles.

le-acodec copy/-c:a copyque vous avez dans votre commande, par exemple, je réutiliserais simplement l’audio du fichier source.Bien que vous ne puissiez pas faire cela avec la vidéo bien sûr (dans ce cas), il faut transcoder cela car nous créons une nouvelle source vidéo.

Si vous souhaitez transcoder de l’audio, supprimez le-c:a copypartie.Vous devrez peut-être explicitement spécifier un encodeur, par exemple-c:a aac -strict experimental.Voir leAAC encoding guidepour plus d'informations.

  0

L'itération suivante de la commande ci-dessus a fonctionné pour moi sur Android, car l'original donne une erreur comme aac: expérimentale: v] superposition = 25: 25: enable = 'entre (t, 0,20)' sortie.mp4 20 mars. 152015-03-20 11:11:20

  0

est-il possible de se positionner en bas sans connaître la hauteur?ou à l'extrême droite sans connaître la largeur? 26 août. 162016-08-26 04:08:24

  0

Bien sûr, analysez simplement la vidéo avec ffprobe et extrayez les dimensions de la vidéo de la sortie.Peut-être y at-il aussi une option intégrée à ffmpeg mais je ne suis pas au courant. 26 août. 162016-08-26 21:33:06

  0

Existe-t-il une méthode ou un calcul permettant d’apparaître l’image au centre? 26 oct.. 162016-10-26 13:22:25

+1

Votre commande ** remplace ** un fragment du fichier vidéo d'origine, mais un utilisateur peut vouloir ** ajouter ** (augmentant ainsi la longueur de la vidéo) une image avant et/ou après la vidéo.S'il vous plaît aider avec cela 04 juin. 172017-06-04 20:47:10

  0

@porton Cette question concernait l'ajout d'une superposition. Si vous avez besoin d'aide pour résoudre un problème différent, n'hésitez pas à ouvrir une nouvelle question en haut à droite de cette page à l'aide du bouton "Poser une question". 04 juin. 172017-06-04 21:15:30

  0

Pouvons-nous utiliser GIF au lieu de PNG dans le même but? 22 août. 172017-08-22 11:49:09

  0

Bien sûr, tous les formats pris en charge par FFMPEG.Vous pouvez également utiliser un fichier vidéo. 22 août. 172017-08-22 13:41:30