web-dev-qa-db-fra.com

Comment ajouter un filigrane transparent au centre d'une vidéo avec ffmpeg?

J'utilise actuellement ces commandes:

Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv

Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv

Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv

Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv

Comment placer le centre de filigrane de la vidéo?

64
mirza

Exemples de superposition/image en filigrane sur une vidéo:

Centré

enter image description here

ffmpeg -i input.mp4 -i logo.png -filter_complex \
"overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" \
-codec:a copy output.mp4

ou avec les options de recouvrement raccourcies:

overlay=(W-w)/2:(H-h)/2

En haut à gauche

C’est la solution la plus simple car, par défaut, si vous ne spécifiez aucune option de superposition, vous devez placer l’image en haut à gauche.

Cet exemple ajoute 5 pixels de remplissage afin que l'image ne touche pas les bords:

overlay=5:5

En haut à droite

Avec 5 pixels de remplissage:

overlay=main_w-overlay_w-5:5

ou avec les options raccourcies:

overlay=W-w-5:5

En bas à droite

Avec 5 pixels de remplissage:

overlay=main_w-overlay_w-5:main_h-overlay_h-5

ou avec les options raccourcies:

overlay=W-w-5:H-h-5

En bas à gauche

Avec 5 pixels de remplissage:

overlay=5:main_h-overlay_h

ou avec les options raccourcies:

overlay=5:H-h-5

Remarques

  • L’audio est simplement flux copié (remuxé) dans cet exemple avec -codec:a copy au lieu d'être recodé. Vous devrez peut-être ré-encoder en fonction du format de votre conteneur de sortie.

  • Voir la documentation sur le filtre vidéo overlay pour plus d'informations et d'exemples.

  • Voir le Guide d'encodage vidéo FFmpeg H.264 pour plus d'informations sur l'obtention d'une sortie de bonne qualité.

  • Si votre image superposée est un espace colorimétrique RVB (comme la plupart des images PNG), une amélioration visuelle peut être constatée si vous ajoutez format=rbg à votre superposition. Notez que si vous faites cela et si vous produisez du H.264, vous devrez alors ajouter format=yuv420p (c'est un autre fichier - il est différent de l'option portant le même nom dans le filtre de superposition). Cela peut donc ressembler à ceci:

    overlay=5:H-h-5:format=rgb,format=yuv420p
    
137
llogan