Cum să aplici compresie dinamică audio cu FFmpeg
In this tutorial, you'll learn about Cum să aplici compresie dinamică audio cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
Audio-ul tău are variații mari de volum — secțiunile liniștite sunt aproape inaudibile, iar cele tari sunt mult prea puternice. Filtrul compand comprimă gama dinamică pentru un sunet uniform.
Soluția rapidă
Fix 1: Compresie Simplă (Uniformizare)
GRESIT — parametri compand greșiți:
ffmpeg -i input.mp4 -af "compand" output.mp4
# (folosește valorile implicite — posibil ineficiente)
CORECT — specifică punctele de compresie și câștigul:
ffmpeg -i input.mp4 -af "compand=0:0:1:-60/-40|-20/-10|-5/-2:6:0:-90:0.2" output.mp4
# Format: atac:decădere:puncte_de_control:gain:delay:initial_vol:delay_vol
# Puncte: intrare/ieșire în dB
Fix 2: Compresie pentru Vorbire (Podcast)
ffmpeg -i input.mp4 -af "compand=0.1:0.5:-60/-60|-30/-20|-10/-3|0/-3:3:0:-90:0.1" output.mp4
# Sunetele liniștite sunt amplificate, cele tari sunt atenuate
# Intervalul dinamic este redus de la 60dB la ~20dB
Fix 3: Compresie pentru Muzică
ffmpeg -i input.mp4 -af "compand=0.3:1:-60/-60|-40/-35|-20/-15|0/-8:6:0:-90:0.3" output.mp4
# Compresie mai blândă pentru muzică, păstrând dinamică naturală
Fix 4: Expandor (Creștere Dinamică)
ffmpeg -i input.mp4 -af "compand=0.1:0.3:-60/-80|-40/-40|-20/-15|0/0:5:0:-90:0.1" output.mp4
# Expandorul mărește gama dinamică — efect invers compresiei
Fix 5: Gate (Eliminare Zgomot Fundal)
ffmpeg -i input.mp4 -af "compand=0:0:-90/-90|-50/-90|-40/-40|0/0:0:0:-90:0" output.mp4
# Zgomote sub -50dB sunt reduse la -90dB (silențioase)
# Sunete peste -40dB sunt lăsate neschimbate
Fix 6: Măsurare Gama Dinamică
ffmpeg -i input.mp4 -af "volumedetect" -f null /dev/null
# Verifică diferența dintre mean_volume și max_volume
# O diferență mare indică nevoia de compresie
Folosește DodaTech's Audio Compressor pentru a aplica compresie dinamică cu interfață vizuală.
Prevenție
- Începe cu compresie ușoară (raport 2:1) și ajustează treptat.
- Atac rapid (0.1-0.3s) pentru control, atac lent (0.5-1s) pentru natural.
- Gain prea mare produce zgomot de fundal amplificat.
- Verifică gama dinamică înainte și după compresie.
- Testează pe un segment reprezentativ.
Greșeli comune
- Puncte de control incorecte — formatul trebuie să fie
intrare/ieșirepereche. - Gain prea mare — compresia cu gain mare amplifică zgomotul de fundal.
- Atac prea lent — compresorul nu reacționează la sunete bruște.
- Compresie excesivă — sunet plat, lipsit de viață.
- Fără măsurare prealabilă — nu știi câtă compresie este necesară.
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
Aplică compresie dinamică pe o înregistrare vocală cu variații mari de volum, folosind un atac de 0.2s și un raport de compresie 4:1.
Acest exercițiu întărește conceptele prezentate în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro