Video Clip Assistant
Automated video clipping assistant. Based on FFmpeg, it provides video trimming, subtitle generation, short video export, and more.
Core Capabilities
- Timeline Trimming — Extract clips by timestamp
- Keyword Slicing — Find segments matching keywords via ASR subtitles
- Subtitle Burning — Burn SRT subtitles into video
- Short Video Export — Crop to 9:16 / 1:1 / 16:9 multi-ratios
- Highlight Extraction — Automatically extract highlight segments from long videos
Quick Start
Trim by Time
python3 scripts/cut_video.py --input video.mp4 --start 10 --duration 30 --output clip.mp4
Extract Multiple Segments
python3 scripts/cut_video.py --input video.mp4 --segments "0-30,60-90,120-150" --output ./clips/
Burn Subtitles
python3 scripts/burn_subtitles.py --input video.mp4 --srt subs.srt --output subtitled.mp4
Export Short Video
python3 scripts/export_social.py --input video.mp4 --format vertical --duration 60 --output shorts/
Scripts Overview
scripts/cut_video.py
Trim video by timeline.
python3 scripts/cut_video.py \
--input <video_file> \
--start <seconds> \
--duration <seconds> \
[--segments "0-30,60-90"] \
--output <output>
scripts/burn_subtitles.py
Burn SRT subtitles into video.
python3 scripts/burn_subtitles.py \
--input <video> \
--srt <subtitle_file> \
--output <output>
Supports custom subtitle position, font size, and color.
scripts/export_social.py
Export to multi-platform compatible format.
python3 scripts/export_social.py \
--input <video> \
--format <vertical|square|horizontal> \
--duration <seconds> \
--output <output_directory>
| Format | Ratio | Use Case |
|---|---|---|
| vertical | 9:16 | TikTok / Kuaishou / Xiaohongshu |
| square | 1:1 | |
| horizontal | 16:9 | YouTube / Bilibili |
scripts/extract_highlights.py
Automatically extract highlight segments from a long video.
python3 scripts/extract_highlights.py \
--input <video> \
--num-clips <number_of_clips> \
--min-duration <minimum_seconds> \
--output <output_directory>
Uses scene detection algorithm to locate interesting transition points.
scripts/generate_subtitles.py
Generate SRT subtitle file (requires ASR service).
python3 scripts/generate_subtitles.py \
--input <video> \
--provider <whisper|funclip> \
--output <subtitles.srt>
Typical Workflows
Workflow 1: Extract 3 highlight clips from a meeting recording
# 1. Cut 3 segments
python3 scripts/cut_video.py \
--input meeting.mp4 \
--segments "300-360,720-780,1200-1260" \
--output ./clips/
# 2. Export each for TikTok format
for f in ./clips/*.mp4; do
python3 scripts/export_social.py \
--input "$f" \
--format vertical \
--output ./shorts/
done
Workflow 2: Add subtitles to a video
# 1. Generate subtitles
python3 scripts/generate_subtitles.py \
--input video.mp4 \
--provider whisper \
--output video.srt
# 2. Burn subtitles
python3 scripts/burn_subtitles.py \
--input video.mp4 \
--srt video.srt \
--output subtitled.mp4
Workflow 3: One-click generate multiple short videos
python3 scripts/export_social.py \
--input long_video.mp4 \
--format vertical \
--duration 60 \
--output ./shorts/
Environment Requirements
- Required: FFmpeg (
ffmpeg/ffprobe) - Optional: FunClip (Alibaba open-source ASR video clipping)
- Optional: Whisper (local or API mode)
Installation Reference
# Install FunClip (recommended)
pip install funclip
# Install Whisper
pip install openai-whisper
# FFmpeg (already installed)
which ffmpeg # should return a path