技能 设计创意 视频片段拼接与转场

视频片段拼接与转场

v20260609
video-merger
该工具用于将一系列按数字命名的MP4视频片段(如1_*.mp4, 2_*.mp4)合并成一个完整的视频文件。它支持可选的淡入淡出转场,并能统一处理分辨率、帧率和编解码器。适用于将工作流生成的多个短视频剪辑无缝拼接成最终成品。
获取技能
159 次下载
概览

video-merger — numbered-segment MP4 concatenator

Combines 1_*.mp4, 2_*.mp4, ... in numeric order into one MP4 (or multiple ~60s chunks), with optional fade transitions, codec/resolution/ fps normalisation.

Inputs (with:)

key required default notes
input_dir yes Directory containing \d+_*.mp4 segments.
output_path yes .mp4 path (full mode) or directory (chunk mode).
mode no full full or chunk.
transition no 0.5 Fade duration in seconds. 0 disables.
fps no 24 Target frame rate.
crf no 22 x264 CRF (0-51, lower = better).
preset no medium x264 preset.

For chunk mode, pass chunk_duration directly to the script — the meta engine entrypoint above does not template it; use a direct shell call when chunking is needed.

Dependencies

  • ffmpeg ≥ 5.0
  • ffprobe
  • Python 3.8+
  • No Python packages required beyond stdlib.

Install hints (or just run the bundled installer):

OS One-liner installer Manual
Windows (PowerShell) pwsh -ExecutionPolicy Bypass -File install.ps1 winget install Gyan.FFmpeg / choco install ffmpeg / scoop install ffmpeg
macOS bash install.sh brew install ffmpeg
Debian/Ubuntu bash install.sh sudo apt install ffmpeg

The Windows installer (install.ps1) defaults to winget but accepts $env:OPENSQUILLA_FFMPEG_INSTALLER="choco"|"scoop"|"skip" to switch backends. It prints the absolute ffmpeg/ffprobe paths after install so you can pass them to merge.py via --ffmpeg-path / --ffprobe-path when subprocess PATH inheritance is unreliable.

Filename ordering contract

The script picks files matching ^\d+_.*\.mp4$ and sorts by the leading integer. Producers must save segments as 1_shot.mp4, 2_shot.mp4, 3_shot.mp4, etc. The meta-short-drama workflow already follows this.

Output

Stdout: progress lines and the final output path. Non-zero exit on ffmpeg failure.

Failure modes

  • 未找到ffmpeg → install ffmpeg, ensure ffmpeg on PATH or pass --ffmpeg-path directly.
  • 未找到符合命名规则...的MP4文件 → ensure segments are \d+_*.mp4.
  • Mixed resolutions / fps: handled automatically when --resolution is set; otherwise ffmpeg preserves originals (no normalisation).
信息
Category 设计创意
Name video-merger
版本 v20260609
大小 10.15KB
更新时间 2026-06-10
语言