How to Extract PGS (SUP) with FFmpeg and Convert to SRT
Extract the PGS/SUP stream with FFmpeg: ffmpeg -i video.mkv -map 0:s:0 -c copy output.sup. Then upload the .sup file here for browser-based OCR conversion to SRT.
- Upload your SUP (PGS) file
- Select subtitle language
- Click Convert
- Download your SRT file
Extract PGS (SUP) Subtitles from MKV Using FFmpeg
What FFmpeg Does with PGS and SUP
FFmpeg handles PGS and SUP subtitles at the container level — it extracts, copies, and remuxes subtitle streams between formats without interpreting or altering the content. When you have an MKV with embedded PGS tracks, FFmpeg is the fastest way to pull out a standalone .sup file.
To extract the first PGS subtitle stream: ffmpeg -i movie.mkv -map 0:s:0 -c copy movie.sup. For a specific language track: ffmpeg -i movie.mkv -map 0:s:m:language:eng -c copy movie.en.sup. The resulting .sup file contains the full PGS data ready for OCR conversion.
FFmpeg Cannot Convert PGS or SUP to SRT Directly
FFmpeg has no OCR capability. It sees PGS and SUP streams as binary data packets — it can copy them exactly but cannot read the subtitle images or produce text output. Converting PGS to SRT requires a separate OCR step after extraction.
Run ffprobe -v error -select_streams s -show_entries stream=index,codec_name,tags:stream_tags=language -of csv input.mkv to list all subtitle tracks before extracting. Streams labeled hdmv_pgs_subtitle are PGS/SUP tracks.
Convert the SUP File to SRT After FFmpeg Extraction
Upload the Extracted .sup File Here
After FFmpeg extracts the .sup file, upload it to this browser converter. The PGS data FFmpeg copied is bit-for-bit identical to the original stream — no quality is lost during extraction. Select the subtitle language, choose Balanced OCR for most files, and convert.
The resulting SRT preserves all original timing from the PGS stream. Timestamps come directly from the PGS metadata, not estimated by OCR, so sync accuracy is identical to the source.
Complete Workflow: FFmpeg to SRT
Step 1 — identify the PGS/SUP track: ffprobe -v quiet -print_format json -show_streams movie.mkv. Step 2 — extract: ffmpeg -i movie.mkv -map 0:s:0 -c copy subs.sup. Step 3 — open this page in your browser, upload subs.sup, select the OCR language, and download the SRT. No additional software needed beyond FFmpeg for the extraction step.
FFmpeg PGS Workflow
FFmpeg and PGS subtitle related searches:
Convert Your FFmpeg-Extracted SUP (PGS) to SRT Now
Upload the .sup file from FFmpeg and get SRT instantly. No account, no installation, no upload to any server.
Frequently Asked Questions
Can FFmpeg convert PGS or SUP to SRT in one command?
No. FFmpeg has no OCR capability and cannot produce text subtitle output from PGS or SUP streams. Use FFmpeg to extract the .sup file, then upload it here for OCR conversion to SRT.
What does "hdmv_pgs_subtitle" mean in FFmpeg output?
"hdmv_pgs_subtitle" is FFmpeg's codec label for PGS subtitles from Blu-ray. HDMV stands for High Definition Multimedia Vehicle. It is the same format as .sup files — hdmv_pgs_subtitle, PGS, and SUP all refer to the same thing.
How do I extract all PGS/SUP tracks from an MKV at once?
Use ffmpeg -i movie.mkv -map 0:s -c copy subs_%d.sup to extract all subtitle streams. Each PGS track becomes a numbered .sup file (subs_0.sup, subs_1.sup, etc.).
Does FFmpeg extraction affect OCR accuracy?
No. FFmpeg copies the PGS stream without modification. OCR accuracy depends entirely on the original image quality in the .sup file, not on how it was extracted.
Is FFmpeg required to use this converter?
Only if your PGS/SUP content is inside an MKV or M2TS container. If you already have a standalone .sup file, upload it directly without any FFmpeg step.