stardustlc666/dsh-ffmpeg

Video processing plug-in: ffmpeg_probe/cut/concat/encode/subtitle/extract/gif seven tools (detection/editing/splicing/transcoding/subtitle burning/frame extraction/GIF), using the official subprocess service, argv array without shell injection, zero runtime dependencies

Video-processing plugin for DeepSeek Harness: seven tools covering probe, cut, concat, encode, subtitle, extract and GIF creation — ffmpeg_probe (format/duration/resolution/fps/bitrate/audio/subtitle streams), ffmpeg_cut (stream-copy default, accurate re-encode optional), ffmpeg_concat (2-20 clips), ffmpeg_encode (Bilibili 1080p/4K, portrait 1080p, web-720p presets + crf/fps/scale overrides), ffmpeg_subtitle (SRT/ASS hard subtitles), ffmpeg_extract (m4a audio / frame sequences / single frames / subtitle streams), ffmpeg_gif (two-pass palette high-quality GIF). Safety: no shell injection, processes go through the official subprocess service with tree-level termination, no overwrite by default, timeouts clamped 10s-2h.

Coding & Development ★ 4 updated 2026-09-18 — untested
View on GitHub ↗

Install

dsh plugin --profile web add dsh-ffmpeg

npm package dsh-ffmpeg 0.2.0 (registry-verified 2026-08-26). dsh plugin --profile web add dsh-ffmpeg; requires local ffmpeg (ffmpeg -version should work) — use ffmpegPath/ffprobePath config or DSH_FFMPEG_PATH/DSH_FFPROBE_PATH env vars when not on PATH. Config via cordis.patch.yml row id ffmpeg (timeoutMs default 300000, overwrite default false). MIT.

Compatibility

DeepSeek Harness Web profile. Seven tools powered by local ffmpeg/ffprobe; no shell (all parameters passed as separate argv arrays).

Details

Recent updates

v0.2.0: seven ffmpeg tools; no-shell argv execution; overwrite protection; timeout clamping; 57 tests incl. real ffmpeg E2E.

FAQ

What can the agent do with it?
Probe media info, cut clips, concatenate 2-20 segments, transcode (Bilibili/portrait/web presets), burn SRT/ASS subtitles, extract audio/frames/subtitle streams, and make high-quality GIFs.
Is shell injection possible?
No — all parameters are passed as separate argv arrays; processes run through the official DSH subprocess service with real tree-level termination.
What are the requirements?
Local ffmpeg/ffprobe (on PATH or configured via ffmpegPath/DSH_FFMPEG_PATH); install with dsh plugin --profile web add dsh-ffmpeg.

Alternatives

stardustlc666/dsh-remotion · joejojoking-cloud/dsh-file-explorer · BYYY-eng/deepseek-harness-file-upload-ocr-plugin

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins