Douyin Video Fetch
抖音视频下载,下载抖音视频到本地(优先无水印版),支持 URL/视频 ID 和批量输入,为后续视频分析和复刻提供原始素材。
下载抖音视频到本地(无水印优先)。用于给后续视频分析/复刻提供原始素材,支持 URL 或 video_id 输入、批量列表输入与统一输出目录。
clawhub install douyin-video-fetchFFmpeg 视频编辑器:通过自然语言将视频编辑需求(剪切、裁剪、转换、压缩、改变宽高比、提取音频等)转换为 FFmpeg 命令。
Generate FFmpeg commands from natural language video editing requests - cut, trim, convert, compress, change aspect ratio, extract audio, and more.
# 安装 Skill(会下载 SKILL.md 到 .claude/skills/) clawhub install ffmpeg-video-editor # 之后直接对 Claude 说"用 ffmpeg-video-editor 帮我…"即可
# 同样的安装命令,兼容所有支持 SKILL.md 的 AI 编程工具 clawhub install ffmpeg-video-editor
此 Skill 兼容 OpenClaw 标准。 安装后自动生成 SKILL.md 文件,任何支持 OpenClaw 协议的 AI Agent(Claude Code、Cursor、Windsurf 等)均可直接调用。
AI 驱动的命令生成,简化 FFmpeg 学习曲线,完全本地执行
video_trimmed.mp4)-y (overwrite) and -hide_banner for cleaner outputffmpeg -y -hide_banner -i "INPUT" -ss START_TIME -to END_TIME -c copy "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -ss 00:01:21 -to 00:01:35 -c copy "video_trimmed.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -ss 00:00:00 -to 00:02:00 -c copy "video_clip.mp4"
# MP4 (most compatible)
ffmpeg -y -hide_banner -i "INPUT" -c:v libx264 -c:a aac "OUTPUT.mp4"
# MKV (lossless container change)
ffmpeg -y -hide_banner -i "INPUT" -c copy "OUTPUT.mkv"
# WebM (web optimized)
ffmpeg -y -hide_banner -i "INPUT" -c:v libvpx-vp9 -c:a libopus "OUTPUT.webm"
# AVI
ffmpeg -y -hide_banner -i "INPUT" -c:v mpeg4 -c:a mp3 "OUTPUT.avi"
# MOV
ffmpeg -y -hide_banner -i "INPUT" -c:v libx264 -c:a aac "OUTPUT.mov"
ffmpeg -y -hide_banner -i "INPUT" -vf "scale=WIDTH:HEIGHT:force_original_aspect_ratio=decrease,pad=WIDTH:HEIGHT:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "video_16x9.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -vf "scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "video_square.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "video_vertical.mp4"
ffmpeg -y -hide_banner -i "INPUT" -vf "scale=WIDTH:HEIGHT" -c:a copy "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -vf "scale=1280:720" -c:a copy "video_720p.mp4"
ffmpeg -y -hide_banner -i "INPUT" -c:v libx264 -crf CRF_VALUE -preset medium -c:a aac -b:a 128k "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k "video_compressed.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -c:v libx264 -crf 28 -preset fast -c:a aac -b:a 96k "video_small.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k "video_hq.mp4"
ffmpeg -y -hide_banner -i "INPUT" -vn -acodec CODEC "OUTPUT.FORMAT"
ffmpeg -y -hide_banner -i "video.mp4" -vn -acodec libmp3lame "video.mp3"
ffmpeg -y -hide_banner -i "INPUT" -an -c:v copy "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -an -c:v copy "video_silent.mp4"
# Speed up (e.g., 2x speed)
ffmpeg -y -hide_banner -i "INPUT" -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" "OUTPUT"
# Slow down (e.g., 0.5x speed / half speed)
ffmpeg -y -hide_banner -i "INPUT" -filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]" "OUTPUT"
setpts = (1/speed)*PTS (2x speed → 0.5*PTS)atempo = speed (must be 0.5-2.0, chain for extremes) ffmpeg -y -hide_banner -i "video.mp4" -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" "video_2x.mp4"
ffmpeg -y -hide_banner -i "video.mp4" -filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]" "video_slowmo.mp4"
ffmpeg -y -hide_banner -i "INPUT" -ss START -t DURATION -vf "fps=15,scale=480:-1:flags=lanczos" -loop 0 "OUTPUT.gif"
ffmpeg -y -hide_banner -i "video.mp4" -ss 00:00:10 -t 5 -vf "fps=15,scale=480:-1:flags=lanczos" -loop 0 "video.gif"
# Rotate 90° clockwise
ffmpeg -y -hide_banner -i "INPUT" -vf "transpose=1" -c:a copy "OUTPUT"
# Rotate 90° counter-clockwise
ffmpeg -y -hide_banner -i "INPUT" -vf "transpose=2" -c:a copy "OUTPUT"
# Rotate 180°
ffmpeg -y -hide_banner -i "INPUT" -vf "transpose=2,transpose=2" -c:a copy "OUTPUT"
# Flip horizontal (mirror)
ffmpeg -y -hide_banner -i "INPUT" -vf "hflip" -c:a copy "OUTPUT"
# Flip vertical
ffmpeg -y -hide_banner -i "INPUT" -vf "vflip" -c:a copy "OUTPUT"
ffmpeg -y -hide_banner -i "INPUT" -ss TIMESTAMP -frames:v 1 "OUTPUT.jpg"
ffmpeg -y -hide_banner -i "video.mp4" -ss 00:01:30 -frames:v 1 "screenshot.jpg"
ffmpeg -y -hide_banner -i "VIDEO" -i "LOGO" -filter_complex "overlay=POSITION" "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -i "logo.png" -filter_complex "overlay=W-w-10:10" "video_watermarked.mp4"
ffmpeg -y -hide_banner -i "INPUT" -vf "subtitles='SUBTITLE_FILE'" "OUTPUT"
ffmpeg -y -hide_banner -i "video.mp4" -vf "subtitles='subtitles.srt'" "video_subtitled.mp4"
file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
ffmpeg -y -hide_banner -f concat -safe 0 -i files.txt -c copy "merged.mp4"
HH:MM:SS → 01:30:45 (1 hour 30 min 45 sec)MM:SS → 05:30 (5 min 30 sec)SS → 90 (90 seconds)HH:MM:SS.mmm → 00:01:23.500 (with milliseconds)Here's the command to cut your video from 1:21 to 1:35:
bash
ffmpeg -y -hide_banner -i "video.mp4" -ss 00:01:21 -to 00:01:35 -c copy "video_trimmed.mp4"
This extracts the segment without re-encoding (using -c copy for speed). Output saved as video_trimmed.mp4.
clawhub ffmpeg-video-editor "剪裁视频从 1 分钟到 5 分钟,转换为 1080p MP4,压缩质量为 75%"抖音视频下载,下载抖音视频到本地(优先无水印版),支持 URL/视频 ID 和批量输入,为后续视频分析和复刻提供原始素材。
下载抖音视频到本地(无水印优先)。用于给后续视频分析/复刻提供原始素材,支持 URL 或 video_id 输入、批量列表输入与统一输出目录。
clawhub install douyin-video-fetch