Help us improve
Share bugs, ideas, or general feedback.
From translate-video
Translates video subtitles to any language (e.g., Hebrew, Arabic) via pipeline: transcribe audio, translate with context, refine semantically, embed RTL-safe subtitles.
npx claudepluginhub aviz85/claude-skills-library --plugin translate-videoHow this skill is triggered — by the user, by Claude, or both
Slash command
/translate-video:translate-videoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
End-to-end video translation pipeline. Takes a video, transcribes it, translates to target language with native-speaker refinement, and burns subtitles onto the video.
Translates and dubs a video into another language while preserving each speaker's voice, with optional lipsync and bilingual subtitles.
Burns SRT subtitles into video files using FFmpeg via TypeScript CLI script. Supports styling options, end credits, RTL detection/fix, and frame extraction.
Translate captions into another language (or produce bilingual captions) while preserving segment count, timing, speaker labels, AND source punctuation density (no inserted em-dashes, parentheses, or bracketed glosses unless the source had them — downstream rendering shows every character). **Primary path uses this session's LLM directly — no API key, no model config.** Trigger on "translate captions", "翻译字幕", "翻译成中文/英文", "make bilingual subtitles", or "translate this" when working with caption files. CLI `lai translate run` is the secondary path for headless / oversized runs.
Share bugs, ideas, or general feedback.
End-to-end video translation pipeline. Takes a video, transcribes it, translates to target language with native-speaker refinement, and burns subtitles onto the video.
/translate-video /path/to/video.mp4 he
/translate-video /path/to/video.mp4 ar
/translate-video /path/to/video.mp4 es
Arguments:
$1 - Path to video file (required)$2 - Target language code (default: he). Codes: he, ar, es, fr, de, ru, zh, ja, etc./transcribe skill)Extract audio if video is too large (>25MB audio), then transcribe:
# Extract audio if needed (reduces upload size)
ffmpeg -i "$VIDEO" -vn -acodec libmp3lame -ab 128k "$AUDIO_PATH" -y
# Transcribe using the transcribe skill's script
cd ~/.claude/skills/transcribe/scripts && [ -d node_modules ] || npm install --silent
npx ts-node transcribe.ts -i "$INPUT" -o "$SRT_PATH"
This generates:
{basename}.srt - Raw SRT file{basename}.md - Readable textRead the .md file to understand full context, then translate the .srt file.
Translation rules:
The raw transcription chunks by time, not meaning. Regroup for the target language:
Quality checklist:
/embed-subtitles skill)RTL is handled automatically by the embed-subtitles skill - it detects RTL content and applies Unicode directional marks before embedding. No need to handle RTL here.
Burn the translated SRT onto the video:
cd ~/.claude/skills/embed-subtitles/scripts
npx ts-node embed-subtitles.ts \
-i "$VIDEO" \
-s "$TRANSLATED_SRT" \
-o "$OUTPUT" \
--font-size 24 --margin 30
Or directly with FFmpeg:
ffmpeg -i "$VIDEO" \
-vf "subtitles='$TRANSLATED_SRT':force_style='FontName=Arial,FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,Alignment=2,MarginV=30'" \
-c:v libx264 -preset fast -crf 23 -c:a copy \
"$OUTPUT" -y
open "$OUTPUT" # macOS
All files saved next to the original video:
| File | Description |
|---|---|
{name}.srt | Original language SRT |
{name}.md | Original readable transcript |
{name}_{lang}.srt | Translated + refined SRT (with RTL marks if applicable) |
{name}_{lang}_subtitled.mp4 | Final video with burned-in subtitles |
| Code | Language | RTL? |
|---|---|---|
he | Hebrew | Yes |
ar | Arabic | Yes |
fa | Farsi | Yes |
en | English | No |
es | Spanish | No |
fr | French | No |
de | German | No |
ru | Russian | No |
zh | Chinese | No |
ja | Japanese | No |
pt | Portuguese | No |
it | Italian | No |
Hebrew translation (most common use):
/translate-video ~/Desktop/tutorial.mp4 he
Produces: tutorial_he.srt + tutorial_he_subtitled.mp4
Spanish translation:
/translate-video ~/Desktop/talk.mp4 es
Default (Hebrew):
/translate-video ~/Desktop/video.mp4