Skip to content

Cum să desenezi casete pe video cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

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

Problema

Vrei să evidențiezi o regiune dintr-un video desenând o casetă în jurul ei, dar comanda ta fie nu afișează nimic, fie caseta apare în afara ecranului. Filtrul drawbox necesită coordonate și dimensiuni precise.

Soluția rapidă

Fix 1: Desenare Casetă Simplă

GRESIT — drawbox cu parametri greșiți:

ffmpeg -i input.mp4 -vf "drawbox=x=100:y=100:w=200:h=150" output.mp4
# (casetă aproape invizibilă — culoare implicită greșită)

CORECT — specifică culoarea și grosimea:

ffmpeg -i input.mp4 -vf "drawbox=x=50:y=50:w=300:h=200:color=red@0.5:t=5" output.mp4
# roșu cu transparență 0.5, grosime contur 5px

Fix 2: Casetă Plină (Fill)

ffmpeg -i input.mp4 -vf "drawbox=x=100:y=100:w=400:h=300:color=black@0.3:t=fill" output.mp4
# Umple caseta cu negru semi-transparent (efect de blurring)

Fix 3: Casetă cu Colțuri Rotunjite

ffmpeg -i input.mp4 -vf "drawbox=x=100:y=100:w=400:h=200:color=blue:t=5:max_h=20:max_w=20" output.mp4
# max_h=20, max_w=20 rotunjesc colțurile (raza de 20px)

Fix 4: Evidențiere Față (Face Blur/Box)

ffmpeg -i input.mp4 -vf "drawbox=x=300:y=150:w=200:h=250:color=yellow:t=3" output.mp4
# Evidențiază o față cu o casetă galbenă

Fix 5: Casete Multiple

ffmpeg -i input.mp4 -vf "drawbox=x=50:y=50:w=100:h=100:color=red:t=2,drawbox=x=200:y=50:w=100:h=100:color=green:t=2" output.mp4
# Două casete separate prin virgulă

Fix 6: Casetă cu Text (drawbox + drawtext)

ffmpeg -i input.mp4 -vf "drawbox=x=50:y=50:w=300:h=50:color=black@0.7:t=fill,drawtext=text='Regiune 1':fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:fontcolor=white:x=60:y=60" output.mp4

Folosește DodaTech's Region Highlighter pentru a desena casete pe video interactiv.

Prevenție

  • Verifică coordonatele în raport cu rezoluția video cu ffprobe.
  • Folosește t=fill pentru casete pline, t=n pentru contur.
  • Specifică culoarea cu formatul color@opacity pentru transparență.
  • Testează pe un singur frame cu -vframes 1.
  • Combină drawbox cu drawtext pentru adnotări complete.

Greșeli comune

  1. Coordonate în afara ecranului — x/w sau y/h depășesc dimensiunile video.
  2. Opacitate implicită 1 — fără @0.x, caseta este complet opacă.
  3. Grosime contur insuficientăt=1 produce un contur aproape invizibil.
  4. Casetă plină fără t=fill — implicit desenează doar contur.
  5. Separarea incorectă a filtrelor — drawbox-urile multiple trebuie separate cu virgulă.

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

Desenează 3 casete colorate pe un video la coordonate diferite, una cu contur, una plină cu transparență și una cu colțuri rotunjite.

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 culoare acceptă drawbox?

drawbox acceptă nume de culori (red, green, blue, yellow, black, white), hex (#FF0000), RGB (0xFFFF0000) și rgba (red@0.5).

Pot desena casete care se mișcă (animație)?

Da, folosește expresii cu variabila t (timpul): drawbox=x=100+t*50:y=100:w=100:h=100 pentru casete care se deplasează.

Cum ajustez transparența casetei?

Adaugă @opacitate după culoare: color=red@0.3 pentru 30% opacitate. Pentru contur, opacitatea se aplică întregii casete.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro