MediaChef

MediaChef 剪切视频

无损剪切视频

把视频拖进 MediaChef,选「不重新编码剪切」,按 HH:MM:SS 填好起点和终点,然后运行。片段会出现在原文件旁边。这里没有任何重新计算:数据流被原样复制,因此画面与之前逐比特一致,整个过程在百分之几秒内结束——我们实测是 0.03 秒,无论片段是五秒还是十五秒。唯一的限制是切点只能落在关键帧上,下文会讲清楚。

需要什么
MediaChef 0.8.5——下载一个文件,FFmpeg 已经在里面
离线可用
完全可以——全程不碰网络
画质代价
为零。不重新编码,只复制数据流
时间格式
HH:MM:SS。终点留空表示:一直到文件结尾
速度
约 0.03 秒,且不随片段长度增加
得到什么
原文件旁边的 clip.trim.mp4,原文件保持不动

免费且开源—— 在 GitHub 上查看代码 全部文件与版本说明

怎样从视频里截出一段

  1. 下载 MediaChef

    macOS、Windows、Linux 各一个文件。FFmpeg 随安装包一起来:不用单独装,也不用往 PATH 里加东西。

  2. 把视频拖到操作台上

    MediaChef 用 ffprobe 读取文件,只显示适用的菜谱。无论源文件是什么格式,剪切这张卡片都会出现。

  3. 选「不重新编码剪切」并填时间

    起点和终点用 HH:MM:SS——00:01:30 就是一分半。终点留空的话,片段就从起点一直到文件结尾。

  4. 运行,取走片段

    结果以 clip.trim.mp4 的名字出现在原文件旁边,原文件毫发无损。快到你还没来得及移开视线就已经完成了。

MediaChef 准备转换:操作台等待视频文件,任务队列在右侧。
视频落在这块操作台上。MediaChef 读完文件后,菜谱就会出现。

实际到底有多快

既然什么都不用重新计算,这件事就只是把需要的字节复制出来。耗时与片段长度无关——在一段二十秒的 1080p 素材上实测。

截取的片段结果耗时
00:00:02 → 00:00:075.2 秒0.03 秒
00:00:00 → 00:00:1010.1 秒0.03 秒
00:00:05 → 00:00:2015.0 秒0.04 秒

作为对比:把同一素材重新编码用了 1.3 到 2.0 秒,大约是五十倍,而且还额外搭上画质损失。如果你要的只是一段,这是第一个该试的菜谱。

切点为什么有时会挪位

这就是那条限制,直说了吧——知道它,一个费解的结果就变成了预料之中的结果。视频并不完整保存每一帧:大多数帧只描述与前一帧的差别,而切点只能从一个完整保存的帧开始,也就是关键帧。你要求的点若落在两个关键帧之间,切点就从前一个关键帧开始。

素材关键帧位置要求的起点实际的起点
关键帧稀疏0 秒、8.33 秒、16.67 秒5 秒0 秒——提前了五秒
关键帧稀疏0 秒、8.33 秒、16.67 秒9 秒8.33 秒——提前了 0.67 秒
关键帧密集每秒一个5 秒5 秒——分毫不差
关键帧密集每秒一个9 秒9 秒——分毫不差

偏移有多大是文件本身的属性,不是 MediaChef 的:手机录像和录屏通常每秒放一个关键帧,而为发布导出的文件之间可能隔上八秒甚至更久。如果切点必须精确到帧,那就得用剪辑软件——它靠重新编码才能做到。

什么变了,什么保持原样

几乎什么都没变,这正是这道菜谱的意义所在。清单很短,因为复制这件事碰到的东西极少。

属性剪切后说明
画质不变同一批已编码的帧被重新写出。永远不会有转码代次损失。
视频编码不变进去是 H.264,出来还是 H.264。源用什么就保留什么。
分辨率不变需要更少像素的话,请用缩放那道菜谱。
音频复制,不重新编码音轨保留原本的编码和码率。
封装容器MP4无论源是什么容器,结果都写成 MP4。
原文件毫发无损旁边生成一个新文件,什么都不会被覆盖。

时间怎么填

两个输入框都接受用冒号分隔的时、分、秒。问题最多的是终点那一栏。

你想要的起点终点
开头三十秒00:00:0000:00:30
从 1:30 到文件结尾00:01:30留空
长录像中间的一分钟01:12:0001:13:00
从 2:05 开始的结尾部分00:02:05留空

终点是时间轴上的位置,不是时长:想从第一分钟起取十秒,要填 00:01:00 和 00:01:10,而不是 00:00:10。

为什么在自己电脑上剪

什么都不上传。 剪切通常是拿到素材后做的第一件事——也就是恰恰对着还没给任何人看过的画面。它留在你的硬盘上。

不用等。 网页工具得先把整个文件收下来,才能从里面取十秒。这里无论文件多大,都在百分之几秒内做完。

不付画质代价。 多数在线剪切工具会重新编码,于是每剪一次就要赔上一代画质。复制数据流不花任何代价,同一个文件你想剪多少次都行。

没有体积上限。 两小时的录像在这里不成问题——而这恰恰是网页工具会拒收的体量。

可以一次多个。 把整个文件夹拖进来:队列会逐个处理,并告诉你每段片段写到了哪里。

什么时候这不是合适的菜谱

复制数据流既让这道菜谱又快又无损,也正是它的边界所在。下面这些情况,别的做法更合适。

  1. 切点必须落在某一特定帧上。

    如上文实测,起点会回退到最近的关键帧,某些文件上就是好几秒。精确到帧的切割需要重新编码,那是剪辑软件的活儿。

  2. 你想去掉中间的一段。

    这道菜谱截取的是一段连续内容。去掉中间一块意味着做出两段再拼起来,那属于剪辑,不是剪切。

  3. 反正之后还要压缩。

    那就先剪后压:这个顺序只付一次重新编码的代价而不是两次,而剪切本身仍然免费。

  4. 最后需要别的格式。

    输出是 MP4,里面装着原本的音视频流。如果你要 WebM、GIF 或只要音频,请用对应的菜谱——那些天生就要重新编码。

常见问题

剪切会损失画质吗?

完全不会。已编码的帧被原封不动地复制,所以片段的画面与原片逐比特一致。这正是与多数在线剪切工具的区别——它们会重新编码,每剪一次就让你赔上一代画质。

为什么我的片段比填的时间开始得早?

因为切点只能落在关键帧上——也就是完整保存的那一帧——而你的文件在你要求的位置上没有关键帧。我们实测过:在一个每 8.33 秒才有一个关键帧的文件上,要求从第 5 秒开始,得到的片段是从 0 开始的;而在每秒一个关键帧的文件上,同样的要求分毫不差。这是文件的属性,不是程序的问题。

怎样才能精确到帧地切?

不重新编码就做不到:你想切中的那一帧在文件里并不是以完整帧的形式存在的。如果精确比速度和画质更重要,请用剪辑软件——它先解码再编码,因此能给你任意一帧。

要花多长时间?

我们实测约 0.03 秒,而且不随片段长度增加:五秒和十五秒用时相同。把同一素材重新编码则要 1.3 到 2.0 秒,大约是五十倍。

起点和终点怎么写?

用 HH:MM:SS 格式——时、分、秒。00:01:30 就是一分半。终点是位置而不是时长:想从第一分钟起取十秒,就填 00:01:00 和 00:01:10。

终点留空会怎样?

片段会从你的起点一直到文件结尾。这是砍掉长尾巴最快的办法——比如会议结束后还在继续录的那段。

能去掉中间一段、保留其余部分吗?

一步做不到。这道菜谱给出的是一段连续内容。去掉中间一块意味着做出两段再拼起来,那是剪辑的活儿,不是剪切。

原文件会被改动吗?

不会。片段以 clip.trim.mp4 的名字写在旁边,源文件不会被修改、改名或删除。你可以从同一个文件里接连截出好几段不同的内容。

声音会怎样?

声音和画面一起被复制,保留原本的编码和码率。两条轨都不会被重新编码。

有时长或体积限制吗?

没有。MediaChef 不设限制,而且既然这件事是复制而不是计算,两小时的文件剪起来并不比两分钟的慢。唯一的限制是磁盘剩余空间,程序开始前会先检查。

能剪哪些格式?

凡是 FFmpeg 能读的都行:MP4、MKV、MOV、WebM、AVI、TS 等等。结果写成 MP4,里面装着原本的视频流和音频流。

能一次剪多个视频吗?

可以,但它们会用同一个起点和终点。把它们都拖到操作台上、加上菜谱,队列会一个接一个地处理。

没有网络能用吗?

完全可以。FFmpeg 随安装包一起来,所以剪切全程不碰网络。只有转文字需要一次性下载模型,那是另一道菜谱。

有水印或者付费版吗?

没有。MediaChef 是 GPL-3.0 下的开源软件,没有付费版;而且既然什么都不重新编码,也压根没有地方能加上水印。

Windows 和 Linux 上能用吗?

三个平台都能用。Windows 有安装程序,Linux 有 AppImage 和 .deb,Apple Silicon 的 macOS 有 DMG。这道菜谱在哪儿表现都一样。

把那段截出来

MediaChef 0.8.5——免费、开源,macOS · Windows · Linux。

免费且开源—— 在 GitHub 上查看代码 全部文件与版本说明

MediaChef 还很年轻:安装包尚未由 Apple 或 Microsoft 签名,因此首次启动会要求确认——每个下载包里都附有纯文本说明。

有问题,或者少了什么?给我们写信: hello@mediachef.app