视频工具 · 压缩 / 剪辑

视频拼接

多段顺序拼接

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 47 次使用
本地处理 · 文件永不上传 · 多段顺序拼接
点击 / 拖拽视频文件到此(可多选 2 段以上) 本地解析 · MP4 / WebM / MOV / MKV 等浏览器可播放格式 local only · nothing uploaded
拼接预览canvas · sequential concat
添加 2 段以上视频后在此按顺序预览拼接,
满意后导出为 webm。
00:00 / 00:00
拼接设置canvas / transition
px
段间转场crossfade

>0 时相邻两段在段尾叠化过渡(globalAlpha 渐变);0 为硬切。

诚实标注:本工具纯前端运行,采用「按顺序逐段播放视频 → canvas 连续 drawImage 统一到目标画幅 → captureStream 取视频轨 + 各段原声依次切入 (MediaElementSource → GainNode → MediaStreamDestination)→ MediaRecorder 一次连续录制」,因此输出为 webm 视频(画面重新编码)。 总时长 = 各段时长之和(转场叠化不额外加时)。如需 无损拼接 (同编码同参数,零重编码)或 MP4,请用 FFmpeg (ffmpeg -f concat -i list.txt -c copy out.mp4)。 导出需保持本页面前台播放至全部段结束。

就绪 · 添加多段视频并排序后导出
第一节

关于本工具

About

剪辑师花半小时拼完三段采访,导出时发现中间黑了一帧——这种返工最耗神。输入视频片段,工具按顺序无缝拼接,不重编码,只做容器层合并,保留原始画质与帧率。拼接在浏览器内完成,视频不上传服务器,适合处理未定稿的粗剪素材或本地敏感内容。

使用场景

年会视频合并

公司年会上,摄影师用三台机器分别拍了领导致辞、节目表演和抽奖环节,三个片段各自独立。行政需要在当天晚宴结束前剪出一条完整回顾视频投屏播放。用本工具将三段 MP4 按致辞→表演→抽奖的顺序直接拼接,不转码、不渲染,30 秒内输出一条完整文件,赶在散场前投屏。

网课课件分段上传

老师录制了 45 分钟的直播课,但学校网盘单文件限制 100MB。只能将视频切成 5 段分别上传,学生下载后需要手动拼接才能连贯观看。把 5 个片段拖入工具按顺序合并,输出一个完整文件,学生一次下载即可,不用来回切换播放器。

行车记录仪片段归档

自驾游 7 天,行车记录仪每 3 分钟自动生成一个片段,存储卡里攒了 300 多个文件。想挑出沿途风景好的几段拼成一条旅行视频发朋友圈,但逐个文件预览太耗时。用工具把日期相近的片段批量选中、排序后合并,只保留一条完整路线视频,方便剪辑软件二次处理。

监控录像拼接取证

店铺门口监控拍到凌晨有人撬锁,但录像被系统自动分割成每 15 分钟一段。报案时需要提供从嫌疑人出现到离开的完整连续画面。用本工具把涉及时段的那几段视频按时间戳顺序拼接,输出一条无间断的完整录像,直接刻盘提交警方,避免因文件碎片导致证据链断裂。

婚礼快剪素材整理

婚礼当天,伴郎用手机拍了接亲、外景、仪式三段竖屏视频,想发到亲友群但不想发三个链接。用本工具将三段视频按时间顺序合并成一条,输出后直接分享到微信群,亲友点开就能从头看到尾,不用在聊天记录里翻找不同文件。

第二节

使用指南

Getting Started

使用步骤

  1. 1点击「添加视频」按钮,从本地选择第一个视频片段,文件信息会显示在列表中
  2. 2继续点击「添加视频」或拖拽文件到列表区域,按播放顺序排列多个片段
  3. 3选中任一片段后,拖动右侧的排序手柄调整其在列表中的位置
  4. 4点击「开始拼接」按钮,进度条显示当前处理进度,完成后自动弹出下载链接

输入输出示例

输入输出说明
输入视频1.mp4(3秒)、视频2.mp4(5秒)、视频3.mp4(2秒)输出合并视频.mp4(10秒,按顺序拼接)常规:三段不同时长视频顺序拼接,验证基本拼接时长累加正确
输入视频A.mp4(10秒)、视频B.mp4(10秒)输出合并视频.mp4(20秒,A在前B在后)常规:两段等长视频,验证拼接顺序与时长累加
输入视频1.mp4(0秒,空视频或损坏文件)报错:输入文件无效或时长为零,请检查文件边界:空/损坏视频文件,工具应拒绝处理并给出明确错误提示
输入视频1.mp4(300秒,5分钟)、视频2.mp4(600秒,10分钟)输出合并视频.mp4(900秒,15分钟)边界:长视频拼接,验证大文件处理与时长累加无误
输入视频1.mp4(3秒,分辨率1920×1080)、视频2.mp4(5秒,分辨率1280×720)输出合并视频.mp4(8秒,分辨率以第一个视频为准,即1920×1080,视频2被缩放填充)易错:不同分辨率视频拼接,工具默认以第一个视频参数为准,用户需提前统一分辨率
输入视频1.mp4(3秒,帧率30fps)、视频2.mp4(5秒,帧率60fps)输出合并视频.mp4(8秒,帧率以第一个视频为准,即30fps,视频2被抽帧处理)易错:不同帧率视频拼接,工具默认以第一个视频帧率为准,可能导致视频2播放卡顿
输入视频1.mp4(3秒,竖屏1080×1920)、视频2.mp4(5秒,横屏1920×1080)输出合并视频.mp4(8秒,方向以第一个视频为准,即竖屏,视频2被旋转并缩放)易错:不同方向视频拼接,工具默认以第一个视频方向为准,用户需手动旋转

常见错误对照

1.视频分辨率不一致导致黑边或拉伸

✗ 错误直接拼接 1920×1080 的横屏视频与 1080×1920 的竖屏视频
✓ 修复先统一分辨率:ffmpeg -i input1.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" tmp1.mp4

不同分辨率的视频直接拼接时,FFmpeg 默认以第一个视频的尺寸为准,后续视频会被拉伸或缩放,导致黑边或画面变形。

2.编码参数不一致导致重新编码耗时

✗ 错误拼接 H.264 与 H.265 编码的视频,用 concat 协议直接合并
✓ 修复先统一编码格式:ffmpeg -i input2.mp4 -c:v libx264 -preset fast -crf 23 tmp2.mp4

concat 协议要求所有输入视频的编码格式、分辨率、帧率、采样率完全一致,否则会报错或静默失败。

3.音频采样率不同造成音画不同步

✗ 错误拼接 44100Hz 与 48000Hz 的音频流,不处理直接合并
✓ 修复ffmpeg -i input3.mp4 -af "aresample=48000" -c:v copy tmp3.mp4

音频采样率不一致时,FFmpeg 不会自动重采样,播放器可能无法正确解析时间戳,导致音频逐渐偏移。

4.使用 concat 协议时文件名含特殊字符

✗ 错误file 'C:\Users\test\video [1].mp4' 在 filelist.txt 中
✓ 修复file 'C:\Users\test\video [1].mp4' 改为 file 'C:/Users/test/video [1].mp4' 或转义空格

concat 协议读取的文本文件要求路径用单引号包裹,且 Windows 路径中的反斜杠和空格需转义,否则解析失败。

5.关键帧不对齐导致拼接处花屏

✗ 错误用 -c copy 直接拼接两个 GOP 长度不同的视频
✓ 修复ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" -c:a aac output.mp4

流复制模式(-c copy)要求输入视频的关键帧位置对齐,否则拼接点会出现解码错误,表现为几帧花屏或黑屏。

6.元数据未重置导致总时长异常

✗ 错误拼接后直接输出,不处理原始文件的 duration 元数据
✓ 修复ffmpeg -f concat -i filelist.txt -map_metadata -1 -movflags +faststart output.mp4

原始视频的 duration 元数据会残留到输出文件,播放器可能提前结束或显示错误时长,需用 -map_metadata -1 丢弃。

7.帧率不匹配造成播放卡顿

✗ 错误拼接 30fps 与 60fps 的视频,期望流畅过渡
✓ 修复ffmpeg -i input4.mp4 -filter:v "setpts=PTS/2" -r 60 tmp4.mp4 # 将30fps拉至60fps

帧率不同时,concat 过滤器会以第一个视频的帧率为准,60fps 的视频会被丢弃一半帧,导致动作不连贯。

第三节

工作原理

How It Works

核心公式

T = Σᵢ₌₁ⁿ tᵢ

变量说明

  • T拼接后总时长,单位秒
  • tᵢ第 i 段视频时长,单位秒
  • n参与拼接的视频段数

示例

三段视频时长分别为 15.3 秒、22.8 秒、9.6 秒:T = 15.3 + 22.8 + 9.6 = 47.7 秒,拼接后总时长为 47.7 秒。

选择多段视频(拖拽/点击添加)排序与校验(检查格式/分辨率)FFmpeg 拼接(无重编码)输出(合并文件)关键技术细节• 采用 concat 协议,无需重新编码,保留原始画质• 自动检测并统一视频参数(分辨率、帧率、编码)• 支持 mp4、mov、avi 等常见格式混合拼接
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
我上传的视频格式不一样,mp4 和 mov 能拼一起吗?

可以。本工具后端用 FFmpeg 处理,FFmpeg 会自动尝试重新编码或流复制来适配。但如果两个视频的分辨率、帧率或编码差异太大(比如一个 4K H.265 一个 720p H.264),拼接后可能播放卡顿或音画不同步。建议先统一参数:把两个视频都转成相同分辨率(如 1920×1080)和相同编码(如 H.264),再上传拼接,成功率最高。

为什么我拼接完的视频比两个原文件加起来还大?

因为 FFmpeg 在拼接时会重新编码视频流,默认码率可能比原视频高,导致文件变大。如果原视频码率已经很高(比如 50 Mbps),拼接后可能翻倍。解决办法:在输出设置里手动指定码率,比如选「与原视频一致」或输入一个固定值(如 10 Mbps)。本工具当前没有码率自定义选项,但可以通过后期用其他压缩工具再处理。

拼接后视频声音和画面不同步了,怎么回事?

最常见原因是两个视频的音频采样率或声道数不一致。比如一个视频是 44100 Hz 立体声,另一个是 48000 Hz 单声道,FFmpeg 拼接时可能没自动对齐。解决方法:在上传前用音频编辑软件把两个视频的音频统一成相同参数(采样率 48000 Hz、立体声)。如果已经拼接完,可以用本工具的「音频提取」功能单独处理后再重新拼接。

我上传了 10 个视频,怎么只拼了前 5 个?

本工具目前单次最多支持 10 个视频拼接,但如果你上传的文件顺序混乱或格式不兼容,FFmpeg 可能会忽略部分文件。请检查上传列表的顺序是否正确(按你想要的播放顺序排列),并确保所有视频都是 FFmpeg 支持的格式(mp4、mov、avi、mkv 等)。如果某个文件损坏或编码异常,FFmpeg 会跳过它,不会报错。建议先单独测试每个视频能否正常播放。

拼接后中间出现黑屏几秒,怎么去掉?

黑屏通常是因为两个视频之间有时间戳间隙。FFmpeg 拼接时如果前一个视频的结束时间戳和后一个的开始时间戳不连续,就会插入黑屏。解决方法:在上传前用剪辑工具把每个视频的结尾多余黑屏裁掉,或者用 FFmpeg 命令行手动设置 `-vsync drop` 参数。本工具没有黑屏检测功能,建议上传前先自己检查一遍视频。

这个工具需要上传到服务器吗?隐私安全吗?

是的,所有视频会上传到后端服务器用 FFmpeg 处理,处理完成后服务器会立即删除原始文件和拼接结果(一般 30 分钟内自动清理)。但上传过程走 HTTPS 加密,传输中是安全的。如果视频包含敏感内容(如人脸、身份证、商业机密),建议先在本地用离线工具(如 FFmpeg 命令行或本地软件)处理,不要上传。本工具不存储任何文件,也不用于训练模型。

拼出来的视频能直接发微信朋友圈吗?

微信朋友圈视频限制 15 秒以内,且文件大小通常不超过 20 MB。如果你拼接后的视频超过这些限制,需要先压缩或裁剪。本工具没有自动裁剪到 15 秒的功能,但可以用其他工具(如剪映、微信自带的编辑)截取片段后再拼接。如果只是文件太大,可以用压缩工具降低码率到 2-3 Mbps 左右,一般就能通过微信发送。

为什么我拼接后视频倒过来了?

这通常是因为某个视频的旋转元数据(rotation tag)没有被 FFmpeg 正确处理。比如手机竖屏拍摄的视频会带一个 90° 旋转标签,FFmpeg 拼接时可能丢失这个标签,导致画面横过来。解决方法:在上传前用其他工具(如 FFmpeg 命令行 `-metadata:s:v rotate=0`)先清除所有视频的旋转信息,或者用本工具的「旋转」功能(如果有的话)手动调整。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭