Install
openclaw skills install ffmpeg-video-watermark-removerRemove watermarks from videos using ffmpeg delogo filter. Use this skill whenever the user wants to remove a watermark from a video, asks to remove a logo/te...
openclaw skills install ffmpeg-video-watermark-removerRemove watermark/logo/text overlays from videos using ffmpeg's delogo filter.
Step 1: Extract sample frames Extract frames at 1-second intervals to locate watermark positions:
for t in 1 2 3 4 5; do
ffmpeg -y -ss 00:00:0$t -i "$INPUT" -frames:v 1 "/tmp/wm_frame_$t.jpg" 2>/dev/null
done
Step 2: Analyze with vision model
Use the image tool to analyze the sample frames. Ask for:
Step 3: Build segmentation strategy
Fixed watermark (same position throughout):
Dynamic watermark (position changes at specific times):
Step 4: Process and verify
# Single segment
ffmpeg -y -i "$INPUT" -vf "delogo=x=$X:y=$Y:w=$W:h=$H" -c:a copy "$OUTPUT"
# Multiple segments
# Process each segment separately with -ss/-t, then concat
Verify each segment's result with the vision model before final delivery.
| Parameter | Description |
|---|---|
x, y | Top-left corner of watermark region |
w, h | Width and height of watermark region |
INPUT | Input video path |
OUTPUT | Output video path |
Finding exact coordinates:
actual_x = normalized_x * width / 1000When watermark moves between distinct positions:
file 'seg1.mp4'
file 'seg2.mp4'
ffmpeg -y -f concat -safe 0 -i concat.txt -c copy output.mp4
Example segmentation:
| Segment | Time Range | Watermark Position |
|---|---|---|
| 1 | 0-3.5s | Bottom-right (x=540,y=1195,w=165,h=55) |
| 2 | 3.5-5s | Left edge (x=30,y=480,w=160,h=210) |
If multiple watermarks exist simultaneously (e.g., corner logo + username handle):
delogo filters in the same vf string:
-vf "delogo=x=540:y=1195:w=165:h=55,delogo=x=30:y=480:w=160:h=210"
/root/.openclaw/workspace/downloads/message tool with media parameterdelogo fills the region with a blurred/averaged patch — works best on simple/static backgrounds