技能 编程开发 MP4视频片段合并工具

MP4视频片段合并工具

v20260903
video-merger
该工具用于将一个目录中按数字顺序编号的多个MP4视频片段(如1_*.mp4, 2_*.mp4)合并成一个完整的视频文件。它支持可选的淡入淡出转场,并能自动统一处理视频的分辨率、帧率和编码参数,确保输出的视频格式专业一致。适用于自动化工作流产生多个短片素材后,进行成片剪辑和整合。
获取技能
168 次下载
概览

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:)

keyrequireddefaultnotes
input_diryes—Directory containing \d+_*.mp4 segments.
output_pathyes—.mp4 path (full mode) or directory (chunk mode).
modenofullfull or chunk.
transitionno0.5Fade duration in seconds. 0 disables.
fpsno24Target frame rate.
crfno22x264 CRF (0-51, lower = better).
presetnomediumx264 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):

OSOne-liner installerManual
Windows (PowerShell)pwsh -ExecutionPolicy Bypass -File install.ps1winget install Gyan.FFmpeg / choco install ffmpeg / scoop install ffmpeg
macOSbash install.shbrew install ffmpeg
Debian/Ubuntubash install.shsudo 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).

信息
分类 编程开发
名称 video-merger
版本 v20260903
大小 10.37KB
更新时间 2026-09-06
语言