danielrosehill/claude-video-editor-plugin/mlt-render

Claude Code and agent skill by danielrosehill/claude-video-editor-plugin

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Render an MLT XML timeline (Kdenlive `.kdenlive` project or raw `.mlt`) to a deliverable using the `melt` CLI. Use when the user says "render the timeline", "render this kdenlive project to mp4", "melt render", "headless render". Supports an optional named render profile from the data store, otherwise asks for codec/bitrate/resolution/fps inline.

Install

npx vskill@latest install danielrosehill/claude-video-editor-plugin/mlt-render

SKILL.md

MLT Render

Headless render of an MLT-format timeline (Kdenlive's native format) using the melt CLI.

Procedure

1. Verify melt
bash
command -v melt >/dev/null || { echo "melt not installed. Try: sudo apt install melt (or sudo apt install mlt-tools on some distros)"; exit 1; }
2. Resolve inputs
FieldDefault
Sourcerequired: .kdenlive or .mlt file
Outputdefault: <project>/renders/<basename>_<timestamp>.mp4
Profile nameoptional — load from render-profiles.json
Inline paramscodec, bitrate (or qp), resolution, fps — only when no profile chosen
bash
SRC="$(realpath "$INPUT")"
test -f "$SRC" || { echo "Not a file: $SRC"; exit 1; }
case "$SRC" in
*.kdenlive|*.mlt) ;;
*) echo "Not an MLT-format file: $SRC"; exit 1 ;;
esac
3. Build the melt command

melt renders via a consumer chain. Two modes:

3a. With a render profile — load codec/QP/resolution/fps from render-profiles.json (same shape used by render-with-profile). Build a melt avformat consumer:

bash
PROFILES="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/video-editing/render-profiles.json"
PROF=$(jq -r --arg n "$PROFILE_NAME" '.[$n] // empty' "$PROFILES")
[ -z "$PROF" ] && { echo "Profile not found: $PROFILE_NAME"; exit 1; }
VCODEC=$(jq -r '.vcodec' <<<"$PROF")
ACODEC=$(jq -r '.acodec // "aac"' <<<"$PROF")
WIDTH=$(jq -r '.width' <<<"$PROF")
HEIGHT=$(jq -r '.height' <<<"$PROF")
FPS=$(jq -r '.fps' <<<"$PROF")
QP=$(jq -r '.qp // empty' <<<"$PROF")
VB=$(jq -r '.vbitrate // empty' <<<"$PROF")
AB=$(jq -r '.abitrate // "192k"' <<<"$PROF")

Compose:

bash
ARGS=( "$SRC" -consumer avformat:"$OUT" )
ARGS+=( vcodec="$VCODEC" acodec="$ACODEC" )
ARGS+=( width="$WIDTH" height="$HEIGHT" frame_rate_num="$FPS" frame_rate_den=1 )
[ -n "$QP" ] && ARGS+=( qp="$QP" )
[ -n "$VB" ] && ARGS+=( vb="$VB" )
ARGS+=( ab="$AB" )

3b. Inline params — prompt the user for the missing fields and build the same consumer chain.

Hardware encoders. melt uses libavformat under the hood, so VAAPI/NVENC encoder names match ffmpeg (h264_vaapi, hevc_nvenc, etc). However, melt does not set up the VAAPI hwupload chain automatically — for hardware-encoded renders the safer path is render to an intermediate (e.g. ProRes or h264 sw) via melt, then transcode to the GPU-encoded deliverable via `render-with-profile`. The skill should warn the user and offer this two-step path when a VAAPI/NVENC profile is selected.
4. Render
bash
mkdir -p "$(dirname "$OUT")"
echo "Running: melt ${ARGS[*]}"
melt "${ARGS[@]}"

Show melt's progress output live.

5. Verify
bash
ffprobe -v error -show_entries format=duration,size -of default=nw=1 "$OUT"

Print: output path, file size, duration, codec.

6. Confirm

Print the deliverable path. Offer to follow up with transcode (e.g. to make a YouTube-friendly version) or audio-analysis (to check loudness).

Notes

  • For Kdenlive projects with proxy clips: melt resolves them via the project file's proxy paths. If the proxies have moved, the render will fail — fix the project paths in Kdenlive first.
  • Render time is dominated by the most complex effect on the timeline; melt does not parallelize across CPU cores within a single track.
  • Output container is inferred from the file extension (.mp4, .mkv, .mov).

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
6
7-day trend score
10

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/danielrosehill/claude-video-editor-plugin/mlt-render/badge)](https://verified-skill.com/skills/danielrosehill/claude-video-editor-plugin/mlt-render)

Something wrong with this skill or its page? Tell us.