abox.tools

语言: 简体中文

怎么剪视频而不重新编码

复制可以缩短视频,而不改变已经编码的画面帧。本指南解释关键帧带来的限制、何时可以可靠地复制,以及何时应选择重新编码。

打开视频剪切 一边看一边标出要留的段落,最后拿回一个视频。

以 Markdown 查看

先说结论

打开视频剪切,放入视频,按I和O标记每个想保留的片段,再选择导出方式。对于MP4、MOV或M4V,“一个字节都不动”会将保留的画面帧和声音原样复制到新文件中。保留一段时可以使用;保留多段时,后续每一段都必须从关键帧开始。其他选择需要使用明确标注为重新编码的方式。

复制不会损失画质,而且很快:从4 GB的录像中剪出一分钟,耗时大致就是把这一分钟写入磁盘所需的时间,因为程序只引用画面帧的位置,不加载它们。该选哪种方式,取决于每个保留片段的起点。下文讲的就是这件事。

为什么剪切可以完全不掉画质

如果所选片段支持直接复制,每个保留的画面帧都能保持原有编码。复制这些已有字节无需解码和重新编码,因此这条路径可以缩短视频,而不增加一次有损编码。

如果复制能保留所选的剪切时间,工具就读取文件索引,找出需要的已编码画面帧,再把这些字节写入新的容器,并在前面写入新索引。这条路径不进行解码。

如果复制无法可靠地保留所选的剪切时间,就需要重新编码。它通常更慢,因为浏览器必须解码并编码每一帧保留的画面;复制的速度则主要受文件写入速度限制。

关键帧,以及你的刀为什么可能落早了

下面这条约束,是剪切这件事一切结论的源头。

视频不是一张接一张完整画面存下来的,那样体积会大得离谱。多数帧存的是“我跟邻居有哪些不同”,也就意味着离开周围那些帧就解不出来。只有关键帧是一张能独立成立的完整画面,而关键帧一般每隔一到十秒才有一个。

所以,你要是把刀标在上一个关键帧之后两秒,一个靠复制帧干活的剪切工具就没法从那儿开始。你标记处的那些帧,没有前面那一串引路,根本读不出来。它必须把你标记前面那个关键帧起的一整段一并带上。

对于第一个保留片段,文件格式可以说明从这一点开始播放:额外的画面帧仍在文件中,编辑标记要求播放器跳过它们。遵循这条指示的播放器会从标记处开始;忽略它的播放器也可能显示前面的帧。

后续拼接处不参与播放的帧,可能让浏览器过早显示某个片段,即使编辑列表本身完全正确也一样。因此,只要第一段之后的某一段从两个关键帧之间开始,工具就不允许复制。页面会解释原因,由你明确选择重新编码的方式。

什么时候该认下重新编码

“就在这儿下刀”从前一个关键帧开始解码,丢弃标记片段之外的帧,并重新编码每一个保留的画面帧,而不是只处理开头一段。它比复制更慢,也可能降低整个保留视频的画质。声音在格式允许时直接复制。

当所选片段无法复制,或者你需要成品直接从保留的画面开始、不依赖开头的编辑标记时,就选这种方式。保留一段,或者保留多段且后续起点都在关键帧上时,复制仍然有用,前提是接收方的播放器能正确处理开头的编辑标记。

你也可以把某个片段的起点移到时间轴上显示的关键帧。这样可能让后续片段也能直接复制,无需重新编码。不过,这会改变保留哪些画面,所以请根据需要的内容来决定。

导出卡片:方式、质量滑块、声音开关,以及数清片段数、时长和大小的摘要。
这一节的判断就在摘要上做出:复制要付什么代价,改成重新编码又要付什么。

从中间挖掉一段

挖掉一段和留下一段是两个不同的操作,而“支持挖掉”这件事值得知道,因为很多剪切工具只会后者。把你不要的那段标出来,选“剪掉它们”,两边剩下的部分会接成一段,声音也跟着对齐。

如果第一段之后的每一段都从关键帧重新开始,复制可以把剩余片段接起来。如果后续某一段需要带上起点之前不参与播放的帧,请改选“就在这儿下刀”。下文的录制备用方式无法拼接分开的片段,因为它只能从一个播放头连续录制一遍。

标出两段的时间轴,下面的表格给出每段的起点、终点和时长,以及保留的总时长。
从同一段片子里留下两块。表格可以直接编辑,所以晚了五分之一秒的标记,改成输入数字就行,不必重新标。

格式,以及兜底方案

MP4、M4V 和 MOV 直接读,里面是什么编码都行,H.264、HEVC、AV1、VP9。复制帧根本不涉及解码,所以哪怕你的浏览器压根没有那个编码的解码器,这条路照样走得通,这算是“不去看画面”带来的一个好处。

其他浏览器能播的格式,最典型的是 WebM,改成一边播一边录来剪。能用,代价有两条:段落多长就得花多长时间,而且画面和声音都要重新编码一遍。

AVI、WMV、FLV 和大多数 MKV,浏览器既读不了也播不了,工具会直说,不会干到一半才崩。这些先拿别的能处理它们的东西转成 MP4。

别处常常悄悄出错的两件事

旋转。手机是横着拍的,然后往文件里写一条旋转指令,而不是真把像素转过来。一个靠复制帧干活的剪切工具必须把这条指令一并带过去,否则你那段竖屏片子出来就是躺着的,而这正是剪坏一段视频的经典方式。这里的精确剪切那条路,在重编时就把画面转正了,写出来的文件根本不需要旋转。

音画同步。音频和视频是两条各有各时间轴的流,而且不是在同一个点上被切开的。刀口处两边要是没被有意对齐,声音就会漂。这里的复制路径上,音频是逐个采样、全程不解码复制过去的,跟原文件里的字节一模一样,而一个编辑标记让它和画面对齐到千分之一秒以内。

剪时长不是裁画面

这两个词常被人混着用。剪时长改的是片子的长度,裁画面改的是画面的形状。你要的是把一段横版视频弄成方的,或者把两边的黑边去掉,那该找视频裁剪,而它跟剪时长不同,是非重新编码不可的,为什么,它那篇指南里讲了。

为什么这件事不用上传,尤其是这件

视频是人们最觉得非上传不可的文件类型,因为文件大,活儿听着也重。而剪切恰恰是这句话最不成立的一件:走复制那条路,文件基本没被读过。工具走一遍索引,算出该留哪些字节区间,然后写出去。为了干这么点事,把一个四 GB 的文件传到服务器上,是所有安排里最慢的那一种。

这也是最不愿上传时代价最大的一类文件:视频里有面孔、有声音、有家、有位置,这些是文档给不了的。这里的工具没有任何联网功能,页面的 Content-Security-Policy 把它可能联的地址全列了出来,没有一个是本站的。

与其听我们说,不如拔掉网线,照剪一段试试。把文件传给在线转换器安全吗?里还有另外三个同类检查。