Seven video tools (probe/cut/concat/encode/subtitle/extract/gif) on the official subprocess service: shell-free argv, zero runtime dependencies.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-ffmpeg
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:STARDUSTLC666/dsh-ffmpeg
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
dsh-ffmpeg
DSH (DeepSeek Harness) video-processing plugin: seven tools covering probing, cutting, concatenation, transcoding, subtitles, extraction and GIF creation — all powered by ffmpeg/ffprobe.
Installation
dsh plugin --profile web add dsh-ffmpeg
ffmpeg must be installed locally (ffmpeg -version should work); use ffmpegPath / ffprobePath when it is not on PATH.
Configuration
Override the plugin row in your profile's cordis.patch.yml (defaults apply when absent):
- id: ffmpeg
name: 'dsh-ffmpeg'
config:
# ffmpegPath: C:\tools\ffmpeg\bin\ffmpeg.exe # explicit path when not on PATH
# ffprobePath: C:\tools\ffmpeg\bin\ffprobe.exe
timeoutMs: 300000 # per-operation timeout (default 5 min, 10s - 2h)
# overwrite: true # allow overwriting outputs (default auto-suffix _1/_2)
Tools
| Tool | Purpose | Key parameters |
|---|---|---|
ffmpeg_probe |
Probe media info (format/duration/resolution/fps/bitrate/audio/subtitle streams) | input required |
ffmpeg_cut |
Cut a clip (stream copy by default, accurate re-encode optional) | input required; start/end/duration |
ffmpeg_concat |
Concatenate 2-20 clips (stream copy for identical codecs / re-encode for mixed) | inputs array required |
ffmpeg_encode |
Transcode with presets (bilibili 1080p/4K, vertical 1080p, web-720p) plus crf/fps/scale overrides | input required; preset optional |
ffmpeg_subtitle |
Burn subtitles (SRT/ASS hard subs) | input + subtitle required |
ffmpeg_extract |
Extract audio (m4a) / frame sequences / single frame / subtitle stream | input + what required |
ffmpeg_gif |
Video to high-quality GIF (two-pass palette) | input required; fps/width/duration optional |
Examples
ffmpeg_probe { input: E:\videos\raw.mp4 }
ffmpeg_cut { input: E:\videos\raw.mp4, start: 10, end: 30 }
ffmpeg_encode { input: E:\videos\raw.mp4, preset: bilibili-1080p }
ffmpeg_subtitle { input: E:\videos\raw.mp4, subtitle: E:\videos\subs.srt }
ffmpeg_gif { input: E:\videos\raw.mp4, duration: 3, width: 480 }
Safety
- No shell: every argument is passed as its own argv element — user input cannot inject commands
- Runs on the official DSH subprocess service: tree-scoped termination (timeout escalates SIGTERM → kill; taskkill /T on Windows), zero runtime dependencies
- No accidental overwrites: existing outputs get auto-suffixed; output == input is rejected
- Timeout clamps: per-operation 10s - 2h; probes additionally capped at 60s
- Input validation: time formats, preset enums, crf/fps/scale ranges are validated up front with actionable errors
Development
pnpm install
pnpm test # build + 50 tests, including a real-ffmpeg end-to-end suite (auto-skipped without ffmpeg)
License
MIT
Links
More in this category
liustack/modlens★ 1837
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
Anionex/dsh-vision-toolkit★ 422
Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.
superdesigndev/treg★ 416
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
Lum1104/dsh-browser★ 156
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
zhaoolee/notes★ 142
Export DSH conversations as Smartisan Notes-style PNGs, or create and update Markdown notes in a configured account-scoped workspace.
ysr666/dsh-vision-router★ 135
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.