Exemple d'une superposition de PNG sur une vidéo

Voici une vidéo avec une superposition statique en .png.

L'application d'une image PNG sur une vidéo est un cas d'utilisation courant.

Si vous voulez ajouter un filigrane ou encadrer vos photos, vous avez probablement trouvé que FFMPEG est l'outil à utiliser pour faire ce genre de choses. Et vous avez raison. Mais outre le fait que FFMPEG est un outil très puissant, il peut être difficile et bizarre à utiliser pour les nouveaux venus.

Voyons ensemble comment superposer une vidéo avec un png.

Superposer un PNG transparent sur une vidéo

Si nous supposons que notre vidéo et la superposition PNG transparente ont la même largeur et la même hauteur, il suffit d'utiliser la commande suivante pour superposer notre vidéo.

ffmpeg -i video.mp4 -i overlay.png \
	-filter_complex "[0:v][1:v] overlay=0:0" \
	-c:a copie \
	sortie.mp4

Expliquons cette commande en détail :

  • -i video.mp4 est notre vidéo source
  • -i overlay.png est notre superposition PNG
  • -filter_complex "[0:v][1:v] overlay=0:0"
    -
    Avec [0:v][1:v] nous demandons à FFMPEG de placer le fichier d'entrée avec l'index 0 (la vidéo) sous le fichier d'entrée avec l'index 1 (le recouvrement)
    - Avec incrustation=0:0 nous définissons la position de notre incrustation (dans ce cas, le coin supérieur gauche car notre vidéo et notre incrustation ont exactement la même largeur/hauteur).
  • -c:une copie → nous voulons réutiliser l'audio du fichier source
  • output.mp4 est le nom du fichier de sortie

Voici le résultat de notre superposition .png sur une vidéo

Rappelez-vous, on a fait ça

superposition en png

et ceci

A ce jour ! !

Conseil bonus : modifiez l'échelle de votre vidéo au cours du processus.

Nous avons pris l'hypothèse que notre vidéo et notre superposition ont la même largeur et hauteur. Si ce n'est pas le cas et que nous devons mettre à l'échelle notre vidéo, nous pouvons le faire rapidement avec cette commande -

ffmpeg -i video.mp4 -vf scale={width}:{height} -preset slow -crf 18 output.mp4

Bien sûr, n'oubliez pas de remplacer {largeur} par la largeur souhaitée et {hauteur} par la hauteur souhaitée.

Et voilà ! Vous savez maintenant tout sur l'ajout d'une incrustation png à une vidéo en utilisant FFMPEG. Cependant, si ce tutoriel vous a paru un peu compliqué, sachez que vous pouvez toujours utiliser une API de génération de vidéo comme Abyssale pour faciliter ce processus.