Skip to content

Cum să convertești formatul de eșantionare audio cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

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 s16 pentru 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

  1. Confundarea sample_fmt cu sample_rate — unul este adâncimea de biți, celălalt frecvența.
  2. Folosirea unui format incompatibil cu codecul — de exemplu, s32 nu este suportat de toate variantele AAC.
  3. 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

### Ce este formatul de eșantionare audio?

Formatul de eșantionare (sample format) definește modul în care sunt stocate valorile audio digitale, inclusiv adâncimea de biți (16, 24, 32 biți) și tipul (integer sau float).

Care este diferența dintre s16 și flt?

s16 stochează fiecare eșantion ca un integer pe 16 biți (interval -32768 până la 32767). flt stochează ca float pe 32 de biți, oferind precizie mai mare pentru procesare.

Ce format de eșantionare ar trebui să folosesc?

Pentru distribuție: s16 (16 biți) este standardul CD și compatibil universal. Pentru procesare: flt (float) oferă cea mai bună precizie. Pentru arhivare: s32 (24-32 biți) păstrează calitatea maximă.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro