Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

I fixed FFmpeg's subtitle conversion (the bug from 2014)

Details

External ID
47415044
Source
HN
Company
—
Product
I fixed FFmpeg's subtitle conversion (the bug from 2014)
Website domain
github.io
Launched
March 17, 2026
Cohort
—
Upvotes
38
Upvotes percentile
0.8161131611316114
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

FFmpeg converts everything except subtitles across format boundaries. SRT to Blu-ray PGS? "Subtitle encoding currently only possible from text to text or bitmap to bitmap." Ticket #3819, filed 2014.I built this with Claude Code over a few weeks. Claude wrote most of the encoder, found an integer overflow in the decoder buffer tracking, and ran review from five angles. I read the Panasonic and Sony patents, made the architectural calls, and told it when it was wrong about the spec. We argued about whether DTS computation belongs in the muxer. (It does, and also in fftools. We did both.)Animation is an interesting problem. Advanced SubStation Alpha fades have to survive conversion to Blu-ray's PGS format. The encoder watches pixel changes between frames and classifies them: palette shift or full redraw. Fades become palette-only updates, no bitmap retransmission. Overlapping subtitles with different end times took four rewrites and an event lookahead window.I'd like to maintain this properly and get the patches upstream eventually. If you hit a bug or have a subtitle workflow that doesn't work, open an issue. I'm dead curious what people do with this, but i have some plans for translation related plugins building on the OCR work.Six iterations. 23 patches. libass and Tesseract were already in FFmpeg's filter library. I wired them into the main pipeline the same way sub2video works. Text to bitmap, bitmap to text, 114 OCR languages, RGBA-to-GIF. The development page has the history.Pre-built for 6 platforms, no dependencies: https://connollydavid.github.io/pgs-release/

Enrichment

Theme
video transcription and extraction tools
Vertical
—
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
ffmpeg subtitle conversion bug fix
Manually corrected
False

Could you build this?

Partial Writing a custom C or Rust subtitle encoder/decoder targeting FFmpeg formats is largely algorithmic and assisted by LLMs, but integrating and passing FFmpeg's strict C codebase and regression test suite requires deep multimedia format knowledge.

What it would actually take: The project involves implementing a rasterizer and PGS (Presentation Graphic Stream) encoder in C that adheres to libavcodec's internal architecture, memory management, and AVSubtitle API. The hard part is managing RLE (run-length encoding) compression, palette color quantization, and timing synchronization without memory leaks or integer overflows. This requires intimate familiarity with binary codec specifications and the FFmpeg contributor ecosystem.

Discussion

8 comments analyzed.

Competitors mentioned: SRT subtitle format (Blu-ray players support old format), PGS subtitle format

Concerns raised: No bug tickets in 12 years suggests limited demand for the feature, Text to bitmap conversion not implemented, Upstream FFmpeg may be reluctant to accept AI-assisted commits, Lack of hardware verification for PGS encoding

Feature requests: Text to bitmap conversion capability, Hardware verification for subtitle encoding, Better screen placement support in newer subtitle formats

Competitors

Other products that read as similar to this one — 162 launches clear the similarity bar, closest 8 shown.

Attention rank: #30 of 163 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 136 days after the earliest competitor.

Other launches for this product