Cum să folosești sidechain compression audio cu FFmpeg
In this tutorial, you'll learn about Cum să folosești sidechain compression audio cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
Vrei ca un stream audio să se reducă automat când alt stream audio este prezent (de exemplu, muzica de fundal să scadă în volum când cineva vorbește). Sidechain compression-ul din FFmpeg face exact acest lucru.
Soluția Rapidă
Fix 1: Sidechain compression cu două fișiere audio
GREȘIT — amesteci cele două streamuri fără compresie:
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex "amix=inputs=2:duration=longest" output.mp3
# (muzica rămâne la același volum tot timpul)
CORECT — folosește sidechaincompress:
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.015:ratio=4:attack=10:release=100[mixed];[mixed][mix]amix=inputs=2:duration=first:weights=1 0" \
output.mp3
Fix 2: Sidechain compression simplificată
# Muzica se reduce când vocea este prezentă
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.02:ratio=10:attack=5:release=50[comp]" \
-map "[comp]" -map "[mix]" output.mp3
Fix 3: Sidechain cu parametri ajustați
# Threshold mai sensibil, release mai lung
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.01:ratio=8:knee=0.3:attack=3:release=150[comp]" \
-map "[comp]" output.mp3
Fix 4: Sidechain video + audio (voiceover)
ffmpeg -i video.mp4 -i voiceover.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.02:ratio=6:attack=10:release=200[comp];[comp][mix]amix=inputs=2:duration=first" \
-c:v copy output.mp4
Fix 5: Sidechain cu reducere extremă
# Voiceover reduce muzica aproape complet
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.005:ratio=20:attack=1:release=300:makeup=0[comp]" \
-map "[comp]" output.mp3
Fix 6: Testarea parametrilor de sidechain
# Afișează nivelul de compresie în timp real
ffmpeg -i music.mp3 -i voice.mp3 -filter_complex \
"[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.02:ratio=4:attack=10:release=100:level_sc=true[comp]" \
-map "[comp]" output.mp3
Folosește DodaTech Audio Compressor pentru a vizualiza și ajusta parametrii de sidechain în timp real.
Prevenție
- Ajustează
thresholdîn funcție de nivelul semnalului de control. attackșireleasecontrolează cât de rapid reacționează compresorul.ratiodetermină cât de mult se reduce volumul.- Testează cu parametri diferiți pentru rezultatul dorit.
Greșeli Comune cu Sidechain Compression
- Threshold prea ridicat — compresorul nu se activează niciodată.
- Attack prea lent — muzica nu scade suficient de repede când începe vocea.
- Release prea scurt — muzica revine brusc, creând un efect de pompare enervant.
Aceste greșeli apar frecvent în cod FFmpeg real. Contribuitorii DodaTech au identificat aceste patternuri prin analiza proiectelor open-source și a sistemelor de producție.
Exercițiu Practic
Scrie o comandă FFmpeg care aplică sidechain compression între un fișier de muzică și un voiceover, cu threshold 0.01, ratio 6, attack 5ms și release 150ms.
Acest exercițiu întărește conceptele acoperite î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