Skip to content

Cum să adaugi delay audio cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să adaugi delay audio cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Audio-ul din fișierul video nu este sincronizat cu imaginea — sunetul sosește prea devreme sau prea târziu. Filtrul adelay din FFmpeg îți permite să adaugi o întârziere măsurată în milisecunde la unul sau mai multe canale audio.

Soluția Rapidă

Fix 1: Delay pe toate canalele

GREȘIT — ignori decalajul și fișierul rămâne desincronizat:

ffmpeg -i input.mp4 -c copy output.mp4
# (păstrează decalajul original)

CORECT — adaugă delay cu filtrul adelay:

# Delay de 2000ms pe toate canalele
ffmpeg -i input.mp4 -c:v copy -af "adelay=2000" output.mp4

Fix 2: Delay pe canale individuale

# Delay 1500ms pe canalul stânga, 0ms pe dreapta
ffmpeg -i input.mp4 -c:v copy -af "adelay=1500|0" output.mp4

Fix 3: Delay cu parametrul -itsoffset

# Alternativă: delay de 2 secunde cu itsoffset
ffmpeg -i input.mp4 -itsoffset 2 -i input.mp4 -map 0:v -map 1:a -c copy output.mp4

Fix 4: Delay pentru corectarea unui decalaj negativ

# Audio sosește cu 1.5 secunde prea devreme
# Adaugă 1500ms delay pentru a sincroniza
ffmpeg -i input.mp4 -c:v copy -af "adelay=1500" output.mp4

Fix 5: Delay cu compensare pentru drift progresiv

# Pentru decalaj progresiv, combină adelay cu aresample
ffmpeg -i input.mp4 -c:v copy -af "adelay=1000,aresample=48000:async=1" output.mp4

Fix 6: Măsurarea decalajului înainte de corectare

# Identifică decalajul cu ffprobe
ffmpeg -i input.mp4 -af "adelay=0,apad" -f null -
# Monitorizează ieșirea pentru mesaje de desincronizare

Folosește DodaTech Sync Analyzer pentru a măsura exact decalajul audio-video.

Prevenție

  • Măsoară decalajul la începutul, mijlocul și sfârșitul fișierului.
  • Pentru decalaje constante, adelay este soluția corectă.
  • Pentru drift progresiv, combină cu aresample:async=1.
  • Testează pe un segment scurt înainte de procesarea completă.

Greșeli Comune cu Delay-ul Audio

  1. Delay exprimat în secunde în loc de milisecundeadelay așteaptă milisecunde (2000 = 2 secunde).
  2. Delay pe un singur canal când toate canalele sunt decalate — fără separator, delay-ul se aplică doar la primul canal.
  3. Confundarea delay-ului cu pitch-uladelay nu schimbă înălțimea sunetului, doar temporizarea.

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 adaugă un delay de 2.5 secunde pe canalul stânga și 1 secundă pe canalul dreapta, copiind video-ul neschimbat.

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

FAQ

### Cum măsor decalajul audio-video?

Redă fișierul și observă diferența la un moment specific, cum ar fi o bătaie sau o lovitură. Folosește un editor video sau DodaTech Sync Analyzer pentru măsurători precise.

Care este diferența dintre adelay și -itsoffset?

adelay adaugă tăcere la începutul streamului audio. -itsoffset schimbă timestamp-urile containerului. Pentru majoritatea cazurilor, adelay este mai simplu și mai fiabil.

Pot elimina delay-ul (să accelerez audio-ul)?

Nu direct cu adelay. Pentru a elimina întârzierea, folosește -itsoffset cu valoare negativă sau taie începutul cu -ss. Pentru un decalaj negativ (audio prea târziu), poți tăia din video cu -ss.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro