← 返回 Skills 市场
baushua

Arch Video Cut

作者 baushua · GitHub ↗ · v1.0.4 · MIT-0
cross-platform ⚠ suspicious
300
总下载
0
收藏
0
当前安装
5
版本数
在 OpenClaw 中安装
/install arch-video-cut
功能描述
自动合并建筑视频,生成字幕和背景音乐,输出横屏与竖屏双版本,支持自学习优化剪辑偏好。
使用说明 (SKILL.md)

arch-video-cut

Automatic Architecture Video Editing Workflow with Self-Learning Preferences


Description

Automatically complete the full architecture video editing workflow: multi-video merging, speech-to-text subtitles, background music mixing, and dual output (landscape + portrait). Built-in self-learning system remembers your editing preferences.

Core Features:

  • 🎬 Auto merge multiple videos + duration compression
  • 🎙️ Speech transcription or custom subtitles
  • 🎵 Smart background music generation + mixing
  • 📱 Dual output: landscape (16:9) + portrait (3:4)
  • 🧠 Self-evolving preference system

Usage

Quick Start

cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py

Prerequisites

  1. Install dependencies:
brew install ffmpeg-full  # Required for libass subtitle support
pip3 install faster-whisper  # Optional: for speech transcription
  1. Prepare materials:
  • Audio file: ~/Desktop/新录音 XX.m4a (narration voiceover)
  • Video folder: data/m1/ (architecture video clips to merge)
  1. Configure preferences (optional):
python3 scripts/manage_preferences.py set

Commands

Command Description
python3 scripts/full_workflow.py Execute full editing workflow
python3 scripts/manage_preferences.py show View current preferences
python3 scripts/manage_preferences.py set Interactive preference editor
python3 scripts/manage_preferences.py reset Reset to defaults

Configuration

Preferences

Edit config/user_preferences.json or run manage_preferences.py set:

{
  "video": {
    "target_duration": 20.0,      // Target duration in seconds
    "vertical_format": "3:4",     // Portrait aspect ratio
    "vertical_resolution": "1080x1440"
  },
  "subtitles": {
    "horizontal_font_size": 14,   // Landscape font size (px)
    "vertical_font_size": 10,     // Portrait font size (px)
    "font_name": "STHeiti",       // Font family
    "auto_wrap": true,            // Auto word wrap
    "margin_v": 30                // Bottom margin (px)
  },
  "audio": {
    "background_music_volume": 0.15,  // BGM volume (0-1)
    "fade_in_duration": 2,            // Fade-in duration (sec)
    "fade_out_duration": 2            // Fade-out duration (sec)
  }
}

Custom Subtitles

Edit the subtitles_text array in transcribe_audio() function:

subtitles_text = [
    "These six renovation projects were transformed from abandoned schools",
    "Historic buildings, red brick houses, tile-roof homes, single-story factories, and rural self-built houses",
    "Through minimalist design approaches and low-cost renovation strategies",
    "Giving old buildings new life",
    "While balancing contemporary aesthetics and market demands",
]

Output

Output location: data/ folder

File Description
edited_video_final_with_subtitles.mp4 Landscape version (16:9)
edited_video_final_with_subtitles_3x4.mp4 Portrait version (3:4)

Example output:

✅ All done!
📁 Output: data/edited_video_final_with_subtitles.mp4
📊 Size: 16.0MB
🎬 Duration: 20.04 seconds

Workflow

1. Merge videos → Compress to target duration
2. Generate subtitles → Allocate timeline based on audio duration
3. Generate BGM → Piano chords + fade in/out
4. Mix audio → Voiceover + background music
5. Burn subtitles → Landscape + Portrait versions

Total processing time: ~2-3 minutes (depends on video count and duration)


Self-Learning

Built-in preference learning system automatically records your editing habits:

  • 📝 Saves configuration after each edit
  • 📊 Keeps last 20 adjustment records
  • 🔄 Auto-applies preferences on next run
  • 🎛️ Modify anytime via manage_preferences.py

View learning history:

python3 scripts/manage_preferences.py show

Examples

Example 1: Quick Edit

# Place 5 video clips in data/m1/
# Place voiceover audio at ~/Desktop/新录音 74.m4a
cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py

Example 2: Adjust Font Size

# Interactive modification
python3 scripts/manage_preferences.py set
# Input: horizontal font size 18px

# Re-edit with new font automatically applied
python3 scripts/full_workflow.py

Example 3: Create 30-Second Version

# Modify preference
python3 scripts/manage_preferences.py set
# Input: target duration 30 seconds

# Edit
python3 scripts/full_workflow.py

Troubleshooting

❌ ffmpeg-full not found

brew install ffmpeg-full  # Required for libass subtitle support

❌ Subtitles not showing

Check if ffmpeg-full is installed (system ffmpeg doesn't support libass)

❌ Transcription failed

pip3 install faster-whisper
# Or skip transcription and edit subtitle text directly in script

❌ Wrong video aspect ratio

Modify vertical_format in config/user_preferences.json


Files

arch-video-cut/
├── SKILL.md                    # This file
├── SELF_LEARNING_GUIDE.md      # Self-learning detailed guide
├── README.md                   # Quick start guide
├── config/
│   └── user_preferences.json   # User preferences
├── scripts/
│   ├── full_workflow.py        # Main editing script
│   ├── preference_learner.py   # Preference learner
│   └── manage_preferences.py   # Preference manager
└── data/
    ├── m1/                     # Input video folder
    ├── temp_edit/              # Temporary files
    └── *.mp4                   # Output videos

Version

v1.0.0 - 2026-03-18

  • ✅ Multi-video merge + duration compression
  • ✅ Custom subtitle text
  • ✅ Background music generation + mixing
  • ✅ Landscape + Portrait dual output
  • ✅ Self-evolving preference system

Author

WildUrban Architect - Linwangming

Website: http://www.ual-studio.com/


Make tools adapt to you, not you to tools. 🧠

安全使用建议
This package appears to implement the advertised local video-editing features, but it has several sloppy or brittle choices you should fix before running: 1) Update the hard-coded AUDIO_FILE path (/Users/baushua/...) to a path you control or make it a CLI/config parameter — otherwise the script will try to read that exact Desktop file. 2) Replace the hard-coded ffmpeg binary path with a generic 'ffmpeg' on PATH (or allow configuring the ffmpeg path) because the cellar path will not exist for most users. 3) Note the README/guide inconsistencies (references to doubao-skill-v2); double-check config file locations (config/user_preferences.json) so you know where preferences will be written. 4) Inspect the scripts locally before running, run them in a sandbox or temporary account if possible, and back up any important files. If you plan to run this on a CI or multi-user machine, parameterize input/output paths and confirm ffmpeg behavior. These issues look like sloppy engineering rather than intentional malice, but they increase the chance of accidental file reads or failures — proceed only after making the paths explicit and reviewing the code.
功能分析
Type: OpenClaw Skill Name: arch-video-cut Version: 1.0.4 The skill contains several high-risk coding practices and privacy leaks. Specifically, `scripts/full_workflow.py` uses `subprocess.run(shell=True)` to execute complex ffmpeg commands, which creates a significant shell injection vulnerability if input filenames or configuration parameters are untrusted. Furthermore, the script contains hardcoded absolute paths to a specific local user's directory (`/Users/baushua/Desktop/`), which is a privacy leak and indicates the code is not properly generalized. While the 'self-learning' system in `scripts/preference_learner.py` appears to be a benign local JSON-based preference manager, the combination of shell execution risks and hardcoded environment-specific data is characteristic of poorly vetted or potentially exploitable scripts.
能力评估
Purpose & Capability
The code and SKILL.md implement video merging, subtitle burning, BGM generation, and a preference learner — all consistent with the description. Requested tools (ffmpeg, ffprobe) are appropriate. However the scripts reference a hard-coded absolute audio path (/Users/baushua/Desktop/新录音 74.m4a) and a specific Homebrew cellar path for ffmpeg (/usr/local/Cellar/ffmpeg-full/8.0.1_3/bin/ffmpeg), which are not generally applicable and suggest copy/paste or test artifacts rather than required capabilities.
Instruction Scope
SKILL.md tells the agent/user to run the included Python scripts and install ffmpeg/faster-whisper — appropriate. But the runtime instructions and scripts assume specific filesystem locations (exact Desktop filename and Homebrew cellar path) and reference inconsistent skill directories in documentation (doubao-skill-v2 vs arch-video-cut). The scripts read and write local files only; there are no network calls. Still, the hard-coded paths give the code broad file access expectations that may unexpectedly read files on the host.
Install Mechanism
No install spec (instruction-only) and no external downloads — low installation risk. The SKILL.md asks the user to install ffmpeg-full via brew and optionally faster-whisper via pip; those are reasonable. The code, however, uses a precise Homebrew cellar path instead of invoking 'ffmpeg' on PATH, which is brittle and may fail or cause unexpected binary usage if the path exists and points to a different binary.
Credentials
No environment variables or external credentials are requested. The script stores preferences in a local config under the skill. The main proportionality concern is the hard-coded absolute AUDIO_FILE path (reads from /Users/baushua/Desktop/...), which is not a credential but does implicitly assume and read a user-specific location — this should be parameterized.
Persistence & Privilege
The skill is not always-enabled and is user-invocable. It writes/reads its own config under the skill workspace and does not modify other skills or global agent settings. Persistence is limited to the local preference JSON and output files in the skill's data/ directory.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install arch-video-cut
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /arch-video-cut 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.4
Output resolution changed to 720p (1280x720 landscape, 720x960 portrait). Removed sample video assets - users provide their own footage.
v1.0.3
Fixed author name: WildUrban Architect - Linwangming
v1.0.2
Updated author info: WildUrban Architect - Lin Wanging | Website: ual-studio.com
v1.0.1
Updated documentation to English for global accessibility
v1.0.0
Initial release - Automatic architecture video editing workflow with self-learning preferences
元数据
Slug arch-video-cut
版本 1.0.4
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 5
常见问题

Arch Video Cut 是什么?

自动合并建筑视频,生成字幕和背景音乐,输出横屏与竖屏双版本,支持自学习优化剪辑偏好。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 300 次。

如何安装 Arch Video Cut?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install arch-video-cut」即可一键安装,无需额外配置。

Arch Video Cut 是免费的吗?

是的,Arch Video Cut 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Arch Video Cut 支持哪些平台?

Arch Video Cut 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Arch Video Cut?

由 baushua(@baushua)开发并维护,当前版本 v1.0.4。

💬 留言讨论