skillfed

wjs-burning-subtitles

Embed SRT subtitles directly into video pixels using libass, or add them as a toggleable track for compatible players. This skill also serves as the final encoding stage for localized video: it can burn target-language subtitles, mix a dubbed audio track over the original at low volume, and produce a ready-to-upload MP4 in a single ffmpeg operation—no re-encoding cascade.

wjs-burning-subtitles permanently embeds subtitles into video for platforms like WeChat and TikTok that don't support subtitle tracks.

AI-generated summary based on this skill's SKILL.md

107 15 MIT updated by jianshuo

Install

jianshuo/claude-skills/wjs-burning-subtitles · repository language: Python

git clone https://github.com/jianshuo/claude-skills
cp -r claude-skills/wjs-burning-subtitles ~/.claude/skills/wjs-burning-subtitles
npx skillfed install jianshuo/claude-skills/wjs-burning-subtitles

Frequently asked questions

AI-generated answers based on this skill's SKILL.md and metadata

How do I burn subtitles into video permanently?

wjs-burning-subtitles embeds SRT subtitles directly into video pixels using libass. The skill renders subtitles as part of the video frame during encoding, making them permanent and visible on all players and platforms. This hard-burn approach is ideal for social media where viewers cannot toggle subtitles off.

Can wjs-burning-subtitles embed SRT file in video?

Yes. wjs-burning-subtitles reads SRT subtitle files and either burns them permanently into the video pixels or adds them as a soft-muxed toggleable track. For permanent embedding, subtitles render during ffmpeg encoding; for toggleable tracks, they're stored as a separate stream in the MP4 container.

What is soft-mux vs hard-burn subtitles in this skill?

wjs-burning-subtitles supports both approaches. Hard-burn (default) renders subtitles into video pixels permanently—ideal for social media. Soft-mux adds subtitles as a separate toggleable track in the MP4 file, allowing viewers to turn them on or off in compatible players.

Can wjs-burning-subtitles create a localized video with dub and subs?

Yes. wjs-burning-subtitles serves as the final encoding stage for localized video. It burns target-language subtitles, mixes a dubbed audio track over the original at controlled volume levels, and produces a ready-to-upload MP4 in a single ffmpeg operation—eliminating re-encoding cascades.

How does wjs-burning-subtitles handle libass configuration?

wjs-burning-subtitles verifies and configures libass for subtitle rendering, ensuring proper font handling, styling, and positioning. The skill manages libass parameters automatically during the encoding process to guarantee consistent subtitle appearance across different video players.

Can I mix dubbed audio with original audio using this skill?

Yes. wjs-burning-subtitles can mix a dubbed audio track with the original audio at controlled volume levels during final encoding. This allows you to create localized videos where the dub plays at full volume while the original audio bed plays underneath at reduced volume.

SKILL.md

rendered from the published skill — quoted content, verbatim

wjs-burning-subtitles

Video + SRT → video with subtitles. Also the final-encode stage for the localization pipeline: takes a video, an optional dub track from /wjs-dubbing-video, and an optional SRT to burn, and produces the upload-ready MP4 in one ffmpeg pass. No cascade of decodes/re-encodes.

When to use

  • User has an SRT and wants it always-visible on the video (burn-in for 微信视频号 / 抖音 / WeChat — players that won't honor embedded subtitle tracks).
  • User wants a togglable subtitle track (soft-mux) for QuickTime / VLC / IINA / mobile players that support

(truncated - see the full file via the links below)

Read as markdown · JSON record · Browse the source repository

File tree — 2 files
wjs-burning-subtitles/SKILL.md
wjs-burning-subtitles/scripts/render.py

Related skills

Tags

subtitle-rendering audio-mixing video-localization libass-burn soft-muxing final-composite multi-track-audio caption-embedding ffmpeg-workflow chinese-subtitles