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-videoThis skill uses the workspace's default tool permissions.
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.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
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