AIStacker
MediaHub Guide6 min read

Fansub Subtitle Workflow Hub: Danmaku, ASS, SRT, WebVTT

A practical workflow guide for fansub and anime subtitle pipelines: convert Bilibili danmaku to ASS, swap between ASS/SRT/WebVTT, and re-sync timing for different frame rates.

In this guide
5
Tools used in this guide
4
Related topics
5
Guide overview

Fansub workflows touch every subtitle format that exists. The source might be Bilibili danmaku XML, the working file is usually Aegisub ASS, the deliverable to streaming sites is SRT or WebVTT, and the video itself can shift between 23.976, 24, 25, and 29.97 fps along the way. Tools in this hub cover each of those handoffs without forcing you to install Aegisub or a desktop subtitle suite.

This guide is the workflow map. It walks through which tool handles which step, where format conversions lose information, and how to combine offset and FPS conversion when subs drift against a re-encoded video.

01

Start: turn danmaku into a styled subtitle file

#

If the source is a Bilibili XML danmaku export, the first job is converting it into a real subtitle format with collision avoidance. The danmaku XML format is bespoke and not rendered by any standard player. ASS is the right intermediate target because it supports the precise positioning and motion commands needed for scrolling comments. Run the conversion before any other editing.

Tools for this section

02

Swap ASS and SRT for different delivery targets

#

ASS holds full styling, but most upload targets — YouTube, podcast platforms, generic players — only accept SRT. Convert ASS to SRT for delivery while keeping the original .ass as the editable master. The reverse direction is also useful when a translator hands you an SRT and you need to add styling in Aegisub: convert SRT → ASS to get a real V4+ style block and Dialogue events to work with.

Tools for this section

03

Convert to WebVTT when embedding in HTML5 video

#

Browsers only read WebVTT inside <track> elements. If you are publishing the same fansub release as both a downloadable SRT and a streamable web preview, you need both files. Going from SRT to VTT mostly means swapping the comma decimals for periods and adding a WEBVTT header. Going the other way strips speaker tags and cue settings that SRT does not understand.

Tools for this section

04

Re-sync timing when the video frame rate changes

#

Subtitles authored against a 23.976 fps Blu-ray will drift later and later when played against a 25 fps PAL re-encode. A constant offset only fixes the first cue; you need to rescale every timecode by the FPS ratio. The timing shifter applies both a millisecond offset and an FPS conversion in one pass to avoid double-rounding error. Common presets like 23.976 ↔ 25 and 29.97 ↔ 23.976 cover the most frequent fansub re-sync jobs.

05

Recommended order: danmaku → ASS → timing → final format

#

Work in the most expressive format possible, then narrow down at the end. The recommended order is: convert danmaku to ASS first, do all styling and editing in ASS, fix any timing drift while still in ASS (no precision loss), and only convert to SRT or VTT at the very end when you know the final target. Reverse the order and you lose styling information you cannot recover.