Cum să convertești formatul de eșantionare audio cu FFmpeg
In this tutorial, you'll learn about Cum să convertești formatul de eșantionare audio cu FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
Formatul de eșantionare (adâncimea de biți) a fișierului audio nu este compatibil cu codecul sau echipamentul de redare. De exemplu, ai audio pe 32 de biți și ai nevoie de 16 biți pentru redare standard.
Soluția Rapidă
Fix 1: Conversie directă cu -sample_fmt
GREȘIT — păstrezi formatul original care poate fi incompatibil:
ffmpeg -i input.flac -c:a aac output.m4a
# (poate eșua dacă formatul nu este suportat de codec)
CORECT — specifică formatul de eșantionare:
# Conversie la 16 biți (s16)
ffmpeg -i input.flac -sample_fmt s16 -c:a aac output.m4a
Fix 2: Listarea formatoarelor de eșantionare suportate
ffmpeg -sample_fmts
# fltp: float planar
# s16: signed 16-bit
# s32: signed 32-bit
# ...
Fix 3: Conversie la float (32 de biți)
# Util pentru procesare audio avansată
ffmpeg -i input.flac -sample_fmt flt -c:a pcm_f32le output.wav
Fix 4: Conversie la 24 de biți
ffmpeg -i input.flac -sample_fmt s32 -c:a pcm_s24le output.wav
Fix 5: Conversie cu codec lossy + format optim
# AAC funcționează cel mai bine cu float planar
ffmpeg -i input.flac -sample_fmt fltp -c:a aac -b:a 256k output.m4a
Fix 6: Verificarea formatului curent
ffprobe -v error -show_entries stream=sample_fmt,bits_per_sample -of default=noprint_wrappers=1 input.flac
# sample_fmt=s32
# bits_per_sample=24
Folosește DodaTech Audio Analyzer pentru a inspecta formatul de eșantionare.
Prevenție
- Verifică formatul sursei cu
ffprobeînainte de conversie. - Folosește
-sample_fmt s16pentru compatibilitate maximă. - Pentru procesare audio, folosește
flt(float) pentru precizie maximă. - Codecurile lossy (AAC, MP3) preferă
fltp(float planar).
Greșeli Comune cu Formatul de Eșantionare
- Confundarea
sample_fmtcusample_rate— unul este adâncimea de biți, celălalt frecvența. - Folosirea unui format incompatibil cu codecul — de exemplu,
s32nu este suportat de toate variantele AAC. - Nespecificarea formatului când se schimbă codecul — codecul implicit poate eșua cu formatul existent.
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 convertește un fișier FLAC la WAV cu format de eșantionare pe 16 biți (signed).
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