Skip to content

Cum să extragi subtitrări din video cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să extragi subtitrări din video cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Vrei să extragi subtitrările dintr-un fișier video pentru editare sau traducere, dar fie nu găsești streamul corect, fie subtitrările sunt în format binar și nu pot fi citite.

Soluția rapidă

Fix 1: Extragere Subtitrări Text

GRESIT — extragere fără specificarea streamului:

ffmpeg -i input.mkv output.srt
# (selectează primul stream — poate fi video sau audio)

CORECT — specifică streamul de subtitrări:

ffmpeg -i input.mkv -map 0:s:0 output.srt
# -map 0:s:0 = primul stream de subtitrări

Fix 2: Verificare Streamuri Subtitrări

# Listează toate streamurile de subtitrări:
ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language -of compact input.mkv
# Output: stream|index=2|codec_name=subrip|language=eng
# stream|index=3|codec_name=hdmv_pgs_subtitle|language=eng

Fix 3: Extragere Subtitrări în Diverse Formate

# SRT (SubRip):
ffmpeg -i input.mkv -map 0:s:0 output.srt

# ASS (Advanced SubStation Alpha):
ffmpeg -i input.mkv -map 0:s:0 output.ass

# VTT (WebVTT):
ffmpeg -i input.mkv -map 0:s:0 output.vtt

Fix 4: Extragere Subtitrări Bitmap (PGS/DVD)

# Subtitrările grafice nu pot fi extrase ca text direct:
ffprobe -v error -select_streams s -show_entries stream=codec_name input.mkv
# Dacă codec_name = hdmv_pgs_subtitle, este bitmap

# Extrage ca SUP (raw bitmap):
ffmpeg -i input.mkv -map 0:s:0 -c:s copy output.sup

Fix 5: Extragere Toate Subtitrările

# Extrage toate streamurile de subtitrări, fiecare în propriul fișier:
for i in 0 1 2; do
    ffmpeg -i input.mkv -map 0:s:$i "output_$i.srt"
done
# sau mai simplu:
ffmpeg -i input.mkv -map 0:s -c:s srt "output_%d.srt"

Fix 6: Conversie Subtitrări Bitmap la Text (OCR)

Pentru subtitrări bitmap, FFmpeg nu poate face OCR direct. Folosește instrumente externe:

# Extrage ca SUP:
ffmpeg -i input.mkv -map 0:s:0 -c:s copy subs.sup

# Apoi folosește unelte externe (Tesseract, Subtitle Edit) pentru OCR

Folosește DodaTech's Subtitle Manager pentru a extrage, converti și sincroniza subtitrări.

Prevenție

  • Verifică tipul streamului cu ffprobe înainte de extragere.
  • Subtitrările text (SRT, ASS, VTT) se extrag direct.
  • Subtitrările bitmap (PGS, DVD) necesită OCR extern.
  • Folosește -map 0:s:0 pentru primul stream de subtitrări.
  • Verifică limba subtitrărilor cu -show_entries stream_tags=language.

Greșeli comune

  1. Extragere stream greșit-map 0:s:0 vs -map 0:a:0 (audio vs subtitrări).
  2. Subtitrări bitmap extrase ca text — PGS/SupRip nu sunt text, ci imagini.
  3. Ignorarea limbii — poți extrage subtitrări în limba greșită.
  4. SRT în loc de ASS — ASS păstrează stilurile, SRT doar text simplu.
  5. Fără verificare codec — codec_name = subrip (text), hdmv_pgs_subtitle (bitmap).

Aceste greșeli apar frecvent în codul FFmpeg real. Contribuitorii DodaTech au identificat aceste modele prin analiza proiectelor open-source și a sistemelor de producție.

Exercițiu practic

Verifică streamurile de subtitrări dintr-un fișier MKV, extrage-le în format SRT și ASS, și identifică care sunt text și care bitmap.

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

FAQ

### Ce formate de subtitrări suportă FFmpeg pentru extragere?

FFmpeg suportă extragerea în SRT (SubRip), ASS (Advanced SubStation Alpha), VTT (WebVTT), și MOV_TEXT (MP4). Subtitrările bitmap (PGS) pot fi extrase doar ca SUP.

Cum extrag subtitrări încorporare (hardcoded)?

Subtitrările hardcoded (arse în video) nu pot fi extrase ca text. Trebuie să folosești OCR pe imagine. Subtitrările soft (stream separat) se extrag cu comenzile de mai sus.

De ce fișierul SRT extras este gol?

Probabil subtitrările sunt bitmap (PGS), nu text. Verifică codec_name cu ffprobe. Dacă codec_name = hdmv_pgs_subtitle, ai nevoie de OCR.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro