What problem does it solve?
Adding hard subtitles and voiceover narration to videos involves fiddly details: CJK font selection, bitrate control to avoid oversized files, subtitle positioning, and matching TTS audio length to scene durations. This Skill provides tested moviepy 2.x and FFmpeg workflows that handle these details correctly across macOS, Linux, and Windows.
Core Features & Use Cases
- Hard Subtitle Burning: Parse UTF-8 SRT files and burn subtitles into video with moviepy 2.x, with CJK-capable fonts, resolution-matched font sizes, stroke styling, and bitrate or CRF encode control.
- AI Voiceover Generation: Create narration with edge-tts voices (e.g. zh-CN-YunjianNeural), tuning rate, volume, and pitch, then fit audio to scene length using atempo/apad filters.
- Troubleshooting Guidance: Fix common failures such as box-character subtitles from wrong fonts, oversized outputs from excessive bitrate, and wrapped lines overflowing the frame.
- Use Case: Given a 720p MP4 and a Chinese SRT file, produce a subtitled video at ~600 kbps with STHeiti 40px subtitles, then add edge-tts narration paced to each scene with breathing room.
Quick Start
Burn the subtitles from subtitles.srt into input_video.mp4 using a CJK font and a bitrate about 1.35 times the source, then generate Chinese voiceover audio with edge-tts matched to the video duration.