Skip to content

Cum să resamplezi audio cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

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

Problema

Frecvența de eșantionare sau formatul audio nu este cel dorit, iar parametrul simplu -ar nu oferă control fin asupra calității resamplării. Filtrul aresample din FFmpeg oferă opțiuni avansate pentru resampling de înaltă calitate.

Soluția Rapidă

Fix 1: Resample simplu cu filtrul aresample

GREȘIT — folosești doar -ar fără control asupra calității:

ffmpeg -i input.mp4 -c:v copy -ar 44100 output.mp4

CORECT — folosește filtrul aresample pentru control fin:

ffmpeg -i input.mp4 -c:v copy -af "aresample=44100" output.mp4

Fix 2: Resample cu setarea calității

# Calitate maximă (0=cea mai bună, 9=cea mai slabă)
ffmpeg -i input.mp4 -c:v copy -af "aresample=44100:resampler=soxr" output.mp4

Fix 3: Resample cu sincronizare automată

# Resample + sincronizare automată cu video
ffmpeg -i input.mp4 -c:v copy -af "aresample=48000:async=1" output.mp4

Fix 4: Resample cu parametri avansați

# resampler=soxr oferă cea mai bună calitate
ffmpeg -i input.mp4 -c:v copy -af "aresample=44100:resampler=soxr:precision=28" output.mp4

Fix 5: Resample pentru corectare pitch

# Resample fără a schimba pitch-ul
ffmpeg -i input.mp4 -c:v copy -af "aresample=44100,atempo=1.0" output.mp4

Fix 6: Verificarea parametrilor înainte de resample

ffprobe -v error -show_entries stream=sample_rate,sample_fmt -of default=noprint_wrappers=1 input.mp4
# sample_rate=48000
# sample_fmt=fltp

Folosește DodaTech Audio Inspector pentru a analiza parametrii audio înainte de resample.

Prevenție

  • Folosește filtrul aresample pentru control fin asupra calității.
  • Setează resampler=soxr pentru cea mai bună calitate.
  • Adaugă async=1 pentru a menține sincronizarea cu video.
  • Testează pe un segment scurt înainte de procesarea completă.

Greșeli Comune cu Resamplarea Audio

  1. Resample fără specificarea calității — implicit, FFmpeg folosește un rezampler standard, nu soxr.
  2. Ignorarea sincronizării cu videoasync=1 previne decalajele audio-video.
  3. Resample repetat — de fiecare dată se pierde din calitate; resamplează o singură dată la formatul final.

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 resamplează audio de la 48kHz la 44.1kHz folosind filtrul aresample cu rezamplerul soxr la calitate maximă.

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

FAQ

### Care este diferența dintre `-ar` și filtrul `aresample`?

-ar este o comandă simplă care convertește frecvența de eșantionare. Filtrul aresample oferă control avansat asupra calității, tipului de rezampler și sincronizării.

Ce este rezamplerul soxr?

SoxR (SoX Resampler) este un rezampler de înaltă calitate, inclus în FFmpeg, care oferă cea mai bună calitate a conversiei între frecvențe de eșantionare, la costul unui timp de procesare mai lung.

Ce face parametrul async=1?

async=1 ajustează durata audio pentru a se potrivi cu durata video, prevenind decalajele de sincronizare care pot apărea în timpul resamplării.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro