Openclaw Skill Cutmv Video Tool
v0.1.0A video processing tool using FFmpeg to cut, convert, compress videos, extract frames/audio, add text watermarks and subtitles for messaging apps.
MIT-0
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name, description, SKILL.md, and code align: the skill calls ffmpeg/ffprobe to cut, convert, compress, extract frames/audio, add watermarks/subtitles. Required system dependency (ffmpeg) is consistent with purpose; no unrelated credentials or binaries are requested.
Instruction Scope
SKILL.md instructs the agent to use ffmpeg/ffprobe and local Python APIs/CLI—scope is consistent. However, the code processes arbitrary user-supplied files and calls ffmpeg/ffprobe; the code also uses eval() on ffprobe output (r_frame_rate) which is unnecessary and introduces code-injection risk if ffprobe output can be manipulated. Also, processing untrusted media can expose the host to any native ffmpeg vulnerabilities, so run on untrusted files in a sandbox.
Install Mechanism
No install spec (instruction-only + single Python file). This minimizes install-time risk—nothing is downloaded or executed during install by the skill itself. The only external dependency is the system ffmpeg binary, which is standard and documented in SKILL.md.
Credentials
The skill requests no environment variables, credentials, or config paths. That is proportional to a local media-processing utility.
Persistence & Privilege
The skill is not always-enabled and does not request persistent/privileged platform presence. It does not modify other skills or platform configuration in the provided files.
What to consider before installing
This skill appears to be what it claims (ffmpeg-based video tools) and has no unrelated credential or network requests, but take these precautions before use:
- Review or patch the code: replace eval(video_stream.get('r_frame_rate', '0/1')) with a safe parser that splits the string on '/' and computes numerator/denominator (or use fractions.Fraction). Using eval on external data is unsafe.
- Run the skill only in a restricted environment (sandbox, container, VM) when processing untrusted media files—ffmpeg and ffprobe have had security vulnerabilities and malformed media can trigger them.
- Keep ffmpeg/ffprobe up to date from official releases.
- If you want extra assurance, ask the author for a short explanation of why eval was used and for a patched version; or run a quick code review/tests that exercise get_video_info with crafted inputs.
If you will only process trusted local files and can mitigate the eval issue, the skill is reasonable to use. If you process arbitrary uploads or untrusted files, treat it as risky until the eval usage is removed and you sandbox ffmpeg calls.Like a lobster shell, security has layers — review code before you run it.
latest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
SKILL.md - cutmv Video Tool
Skill Name
cutmv-video-tool
Description
A video processing skill for OpenClaw that leverages FFmpeg to perform video/audio cutting, format conversion, and compression. Perfect for handling video files for messaging apps with file size limits.
Capabilities
- Video Cutting: Split video/audio by time range
- Format Conversion: Convert between video/audio formats (mp4, avi, mp3, wav, etc.)
- Video Compression: Compress videos with adjustable bitrate
- Frame Extraction: Extract frames from videos at specified intervals
- Audio Extraction: Extract audio track from video
- Audio Replacement: Replace or mix audio in video
- Text Watermark: Add text overlay on video (requires freetype)
- Subtitle: Add .srt/.ass subtitle files to video
Use Cases
- Compress videos to send via WeChat/Lark/Telegram (16MB limit)
- Extract screenshots from videos for analysis
- Convert video formats for different platforms
- Cut specific segments from long videos
Requirements
System Requirements
- FFmpeg installed and available in PATH
- Python 3.7+
Python Dependencies
- None (uses subprocess to call ffmpeg)
Installation
-
Ensure FFmpeg is installed on your system:
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt install ffmpeg - Windows: Download from ffmpeg.org or
winget install ffmpeg
- macOS:
-
Place the skill files in your workspace:
~/openclaw-workspace/skills/cutmv-video-tool/ ├── SKILL.md ├── skill.py ├── README.md └── README-CN.md
Usage
Python API
from skill import VideoTool
tool = VideoTool()
# Compress video for messaging
tool.compress("input.mp4", "output.mp4", bitrate="1000k")
# Cut video segment
tool.cut("input.mp4", "clip.mp4", start_time=30, end_time=90)
# Convert format
tool.convert("input.mp4", "output.avi", "avi")
# Extract frames every 10 seconds
tool.extract_frames("input.mp4", "./frames/", interval=10)
CLI Usage
# Compress video
python skill.py compress input.mp4 output.mp4 1000k
# Cut video
python skill.py cut input.mp4 clip.mp4 0 60
# Convert format
python skill.py convert input.mp4 output.mp3 mp3
Configuration
No additional configuration required. The skill uses system FFmpeg installation.
Testing
Run the built-in tests:
python skill.py test
License
MIT License
Author
- Isaac (@QiaoTuCodes)
Acknowledgments
- OpenClaw team for the platform
- FFmpeg team for media processing tools
Author Identity: yanyan@3c3d77679723a2fe95d3faf9d2c2e5a65559acbc97fef1ef37783514a80ae453
Files
4 totalSelect a file
Select a file to preview.
Comments
Loading comments…
