Skip to content

Cum să suprapui imagini sau video cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să suprapui imagini sau video cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Vrei să adaugi un logo, un watermark sau un video peste alt video, dar overlay-ul apare în poziția greșită, cu dimensiunea incorectă sau cu transparență necorespunzătoare.

Soluția rapidă

Fix 1: Suprapunere Simplă (Watermark)

GRESIT — overlay fără scalare — watermark-ul poate fi prea mare:

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10[out]" -map "[out]" output.mp4
# (logo-ul poate fi mult prea mare sau prea mic)

CORECT — scalează watermark-ul înainte de overlay:

ffmpeg -i video.mp4 -i logo.png -filter_complex \
    "[1:v]scale=100:-2[logo]; [0:v][logo]overlay=10:10[out]" \
    -map "[out]" output.mp4

Fix 2: Poziționare Avansată a Overlay-ului

# Centru:
ffmpeg -i video.mp4 -i overlay.png -filter_complex \
    "[0:v][1:v]overlay=(W-w)/2:(H-h)/2[out]" -map "[out]" output.mp4

# Colț dreapta jos (cu margine):
ffmpeg -i video.mp4 -i overlay.png -filter_complex \
    "[0:v][1:v]overlay=W-w-10:H-h-10[out]" -map "[out]" output.mp4

# Centru jos:
ffmpeg -i video.mp4 -i overlay.png -filter_complex \
    "[0:v][1:v]overlay=(W-w)/2:H-h-10[out]" -map "[out]" output.mp4

Fix 3: Overlay cu Transparență (Alpha)

# Logo PNG cu canal alpha:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
    "[0:v][1:v]overlay=10:10[out]" -map "[out]" output.mp4
# PNG suportă alpha nativ — funcționează direct

# Overlay cu alpha forțat:
ffmpeg -i video.mp4 -i overlay.png -filter_complex \
    "[0:v][1:v]format=rgba,overlay=10:10[out]" -map "[out]" output.mp4

Fix 4: Video peste Video (Picture-in-Picture)

ffmpeg -i main.mp4 -i pip.mp4 -filter_complex \
    "[1:v]scale=320:240[pip]; [0:v][pip]overlay=W-w-10:H-h-10[out]" \
    -map "[out]" -map 0:a output.mp4

Fix 5: Overlay Temporizat (apare doar la anumite momente)

ffmpeg -i video.mp4 -i logo.png -filter_complex \
    "[0:v][1:v]overlay=10:10:enable='between(t,5,15)'[out]" \
    -map "[out]" output.mp4
# Logo-ul apare între secunda 5 și 15

Fix 6: Overlay cu Animație

# Logo care se mișcă de sus în jos:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
    "[0:v][1:v]overlay=10:10+t*100[out]" -map "[out]" output.mp4

Folosește DodaTech's Video Overlay Tool pentru a poziționa și scala overlay-uri vizual.

Prevenție

  • Scalează întotdeauna overlay-ul la dimensiunea potrivită înainte de suprapunere.
  • Folosește PNG cu canal alpha pentru logo-uri și watermark-uri.
  • Testează poziționarea cu un singur frame.
  • Folosește enable='between(t,n,m)' pentru overlay temporizat.
  • Verifică rezoluția ambelor streamuri cu ffprobe.

Greșeli comune

  1. Overlay fără scalare — overlay-ul este disproporționat față de video.
  2. Coordonate greșite(W-w)/2 vs (W-h)/2 — w și h se referă la overlay.
  3. Lipsa canalului alpha — JPEG nu are transparență, folosește PNG.
  4. Overlay permanent când ar trebui temporar — folosește enable pentru control temporal.
  5. Fără -map 0:a — audio-ul se pierde dacă nu este mapat explicit.

Aceste greșeli apar frecvent în codul FFmpeg real. Contribuitorii DodaTech au identificat aceste modele prin analiza proiectelor open-source și a sistemelor de producție.

Exercițiu practic

Adaugă un watermark care apare în colțul dreapta jos între secundele 2 și 8, cu scalare la 150px lățime și transparență păstrată din PNG.

Acest exercițiu întărește conceptele prezentate în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.

FAQ

### Ce formate de imagine suportă transparența pentru overlay?

PNG, WebP și TIFF suportă canal alpha. JPEG nu suportă transparență. Pentru video, codecurile cu alpha channel includ ProRes 4444, VP9 și SUBS.

Cum fac overlay cu video care are și audio?

Folosește -map 0:a pentru a păstra audio-ul din video principal: ffmpeg -i main.mp4 -i overlay.mp4 ... -map "[out]" -map 0:a output.mp4.

De ce overlay-ul meu apare pătrățos (pixelat)?

Overlay-ul are rezoluție mică și este scalat prea mare. Păstrează proporțiile și folosește o imagine sursă de calitate înaltă.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro