LosslessCut无损视频/音频编辑的瑞士军刀


LosslessCut

LosslessCut

无损视频/音频编辑的瑞士军刀

screenshot



LosslessCut 旨在成为一款极致的跨平台 FFmpeg 图形用户界面 (GUI),能够对视频、音频、字幕及其他相关媒体文件进行极速无损的操作。
其主要功能是对视频和音频文件进行无损修剪和剪切,非常适合通过粗剪摄像机、GoPro、无人机等拍摄的大型视频文件来节省存储空间。它可以让您快速提取视频中的精彩部分,并丢弃数 GB 的数据,而无需进行缓慢的重新编码,从而避免质量损失。此外,它还有更多用例。由于它几乎直接复制数据,所有繁琐的工作都由强大的 FFmpeg 完成,因此速度极快。

功能

  • 可无损剪切大多数视频和音频格式
  • 智能剪切(实验性)
  • 无损剪切部分视频/音频(例如,删除广告等)
  • 无损重新排列视频/音频片段的顺序
  • 无损合并/连接任意文件(使用相同的编解码器参数,例如来自同一摄像机的文件)
  • 无损多轨道/流编辑
  • 合并多个文件中的任意轨道(例如,将音乐或字幕轨道添加到视频文件)
  • 删除不需要的轨道
  • 替换或重新编码部分轨道
  • 提取文件中的所有轨道(将一个文件中的视频、音频、字幕、附件和其他轨道提取到单独的文件中)
  • 查看所有轨道的技术数据。编辑文件元数据、每个轨道的元数据和每个轨道的配置
  • 选择要播放的视频/音频轨道。同时播放多个音轨。
  • 快速多文件工作流程(注:暂不支持批量/批量导出)
  • 键盘快捷键工作流程
  • 无损将视频/音频重新混合到不同的容器(文件)格式
  • 以 JPEG/PNG 格式截取全分辨率快照(低质量或高质量)
  • 将视频帧范围导出为图像(每 n 帧、每秒、按场景变化、最佳缩略图)
  • 仅从选定的时间范围(片段)导出
  • 可选择在图像文件名中包含原始时间戳
  • 手动输入剪切点时间
  • 应用每个文件的时间码偏移(并自动从文件加载时间码)
  • 更改视频中的旋转/方向元数据
  • 时间线缩放和帧/关键帧跳转,用于剪切关键帧
  • 视频缩略图和音频波形
  • 将每个项目的剪切片段保存到项目文件
  • 查看 FFmpeg 的上一个命令日志,以便您在命令行中修改和重新运行最近的命令
  • 撤消/重做
  • 高级片段查询和基于 JS 的表达式语言突变
  • 为剪切片段添加标签,并使用标签进行注释
  • 导入/导出 片段:MP4/MKV 章节标记、文本文件、YouTube、CSV、CUE、XML(DaVinci、Final Cut Pro)等
  • MKV/MP4 嵌入式章节标记编辑器
  • 查看字幕
  • 可自定义键盘快捷键
  • 黑场检测、静音检测和场景变化检测
  • 将时间线划分为长度 L、大小 (X MB)、数量 N 甚至随机的片段!
  • 加速/减慢视频或音频文件速度(更改 FPS)
  • 基本 CLIHTTP API
  • 在地图上显示 (DJI) 嵌入的 GPS 轨迹
  • 通过 HTTP 无损下载视频(例如 HLS .m3u8

无损用例示例

  • 从录制的电视节目中剪切广告(并将 TS 格式重新格式化为 MP4)
  • 从文件中删除音轨
  • 从视频中提取音乐曲目并根据需要进行剪切
  • 为视频添加音乐(或替换现有音轨)
  • 合并来自不同录制内容的音轨和视频曲目
  • 在视频中添加外部字幕
  • 快速将 H264/H265 MKV 视频转换为 MOV 或 MP4 以便在 iPhone 上播放
  • 从其他工具中导入剪切时间列表作为 EDL(编辑决策列表、CSV)文件,并使用 LosslessCut 运行这些剪切
  • 将剪切时间列表导出为 CSV EDL 文件并在其他工具中处理
  • 快速按 MP4/MKV 章节剪切文件
  • 快速按章节(或按评论中的音乐时间)剪切 YouTube 视频
  • 更改文件音频/字幕轨道的语言
  • 将封面/缩略图附加到从外部 JPEG 文件或时间轴上的某一帧获取视频/音频
  • 更改视频的作者、标题、GPS 位置和录制时间
  • 修复设置了错误方向标志的视频旋转问题
  • 非常适合旋转播放方向错误的手机视频,无需重新编码。
  • 快速循环播放视频/音频片段 X 次,无需重新编码
  • 参见 #284
  • 将视频或其中的部分内容转换为 X 个图像文件(非无损)
  • 将视频无损分割为每个场景一个文件(请注意,您可能需要移动片段,参见 #330。)
  • 剪切音频/视频中的静音部分
  • 将视频分割成多个片段,例如,遵守 Twitter 的 140 秒时长限制
  • 使用一个或多个标签注释每个片段,然后使用这些标签来组织片段,或使用它来为片段创建输出文件夹结构或层次结构。

将剪辑片段导出为 YouTube 章节

  1. 使用“合并”功能导出并启用“从合并片段创建章节”
  2. 打开导出的文件,并在对话框中选择“导入章节”
  3. 文件 -> 导出项目 -> YouTube 章节

仅重新编码音轨,保留无损视频轨道

首先将每个轨道导出为单独的文件。然后使用 Handbrake 或类似软件重新编码音频文件(如果是 mp4 文件,请编码为 AAC)。然后在 LosslessCut 中打开提取的视频流。打开已编码的音频文件并选择“包含新文件中的所有轨道”。然后导出。

高级多步骤工作流程

提示: 您可以多次使用 LosslessCut 来分别修剪各个轨道:

  1. 打开一个文件并将所有轨道导出为单独的文件
  2. 单独打开导出的轨道文件并根据需要进行剪切
  3. 将轨道添加回视频并将它们合并为一个输出视频

下载

如果您想支持我继续开发 LosslessCut,并希望享受安全便捷的安装流程以及自动稳定的更新,请考虑从您最喜欢的应用商店下载:

如果您希望手动下载可执行文件,这当然是免费的(另请参阅支持的操作系统):

LosslessCut 由我独自维护,并将始终保持免费开源。如果它对您有用,请考虑支持我的工作。或者捐赠给 FFmpeg,因为他们正在为世界做出巨大的贡献。

Paypal | crypto | more

支持的格式

LosslessCut 使用 Chromium 浏览器的 HTML5 视频播放器,并非所有格式/编解码器都原生支持。通常,以下文件格式可用:MP4、MOV、WebM、Matroska、OGG 和 WAV。音频编解码器:FLAC、MP3、Opus、PCM、Vorbis 和 AAC。视频编解码器:H264、AV1、Theora、VP8、VP9 和 H265(带硬件解码器)。了解编解码器和格式之间的区别。上面未列出的编解码器和格式仍可从“文件”菜单转换为支持的格式/编解码器(请先尝试选项 最快:FFmpeg 辅助播放)。然后,将创建文件的低质量版本并在播放器中打开。请注意,实际的剪切/导出操作仍将在原始文件上执行,因此它是无损的。这样就可以打开任何 FFmpeg 能够解码的文件。

典型工作流程

  • 将视频文件拖放到播放器中,或使用/CTRL + O键。
  • SPACE键播放/暂停,或按 , .键或使用鼠标/触控板滚轮来回切换。
  • 设置当前片段的开始/结束时间:首先移动时间线光标,然后按I键设置开始时间,按O键设置结束时间。
  • +键创建新片段。
  • B键在时间线光标处分割片段。
  • BACKSPACE 键可移除剪切点/片段。
  • 如果您创建的片段没有结束时间,则它将被视为 标记 而不是片段。
  • 请注意,导出时,您创建的所有片段都将保留并导出为新文件。您可以使用阴阳符号 ☯️ 更改此行为,在这种情况下,LosslessCut 将跳过所有选定的片段,并将片段之间的部分导出为文件。
  • 另请注意,开始时间可能不准确,请参阅 已知问题
  • (可选)+ 键在当前光标时间添加另一个片段。然后使用 O 选择片段的结束时间。
  • (可选) 如果您想在剪切后将所有选定的片段合并为一个文件,请将“导出模式”从“单独文件”更改为“合并剪切”。
  • (可选) 如果您想导出到特定的输出文件夹,请按“取消设置工作目录”按钮(默认为与源文件相同的文件夹)。
  • (可选) 如果您想更改方向,请按旋转按钮。
  • (可选) 默认情况下,输入文件中的大多数音频、视频和字幕轨道将被剪切并导出。按“轨道”按钮可自定义和/或从其他文件添加新轨道。
  • (可选) 选择新的输出格式 (remux)。
  • (可选) 在右侧的片段面板中,右键单击某个片段以查看选项,或通过拖放操作重新排序。片段将按此顺序显示在合并的输出中。
  • 完成后,按“导出”按钮(或 E)显示包含导出选项的概览。
  • (可选) 调整任何导出选项。
  • 然后再次按“导出”确认导出
  • 如果您想从当前时间点截取 JPEG/PNG 快照,请按相机按钮(或 C)。
  • 如果您想将原始文件移至回收站,请按回收站按钮。
  • 为了获得最佳效果,您可能需要尝试其他输出格式(Matroska 几乎可以容纳所有内容)、更改关键帧剪切模式或禁用某些轨道(请参阅 已知问题)。
  • SHIFT + / 查看和编辑所有键盘和鼠标快捷键。
  • **注意:**原始视频文件不会被修改。而是在与原始文件相同的目录中创建一个文件,文件名中包含起始/终止时间戳。
  • 有关更多自定义操作,请参阅键盘快捷键对话框。(SHIFT + /)

入门:视频和音频格式与编解码器

以下是一些关于视频和音频格式的入门知识,供不熟悉的朋友参考。处理音频和视频文件时,一个常见的错误是混淆格式编解码器文件名。简而言之:文件的媒体格式是一个容器,其中包含一个或多个编解码器(音频/视频/字幕)。例如,.mov 是一种容器格式,而 H265/HEVC 是一种编解码器。有些格式只支持几种编解码器,而有些格式则支持更多编解码器。最常见的格式是 MP4/MOV(通常是 .mp4.mov.m4a)和 Matroska(通常是 .mkv.mka)。例如:如果您有一个名为 My video.mp4 的文件,则该文件很可能(但不一定)具有 MP4 格式。请注意,文件的扩展名(在本例中为“.mp4”)实际上并没有任何意义,例如,该文件实际上可能是“MOV”格式,也可能是“.txt”。在“My video.mp4”文件中,包含多个轨道/流,每个轨道/流都有各自的编解码器。在本例中,假设它包含一个“H264”轨道和一个“AAC”轨道。在LosslessCut中,您可以查看并添加/删除/修改这些轨道。

重新混合:如果您在LosslessCut中更改输出格式并导出文件,则相当于将轨道/编解码器重新混合为不同的容器格式。执行此操作理论上是无损的,这意味着您不会丢失任何编解码器数据,并且不同的轨道将保持完全相同,即使格式现在不同(但由于容器格式之间的不兼容,某些格式元数据可能会丢失)。但也存在一些限制:一些流行的编解码器(例如 VP8 或 VP9)在 MP4 等常见格式中不受支持,而一些流行格式(例如 Matroska(“.mkv”))在 iPhone 或 QuickTime 等常见视频播放器中并非原生支持。

如果您想使用 LosslessCut 缩减文件大小,您必须“删除”某些内容,具体操作如下:

  • 缩短文件时长(截断开头/结尾)
  • 删除一个或多个轨道/流(例如,删除不需要的音轨)
    除此之外,您无法通过无损转换文件来缩减其大小,除非您重新编码并损失质量。为此,我建议使用其他工具,例如 HandBrake

这里有一个关于音频/视频的精彩介绍:howvideo.works

片段

片段是 LosslessCut 的头等公民。片段是媒体文件的时间片段,由 开始​​时间结束时间 定义。如果片段没有 结束时间,则称为 标记
片段具有片段编号(其导出顺序),并且可以选择添加标签和标记。片段是导出内容的基础。

标记

没有 结束时间 的片段称为 标记。它没有长度,不会被导出,但其行为与片段类似。标记在时间线上以垂直线和顶部数字的形式清晰显示。您可以通过设置标记的出点 (O) 将标记转换为片段。这可以手动完成,也可以使用 LosslessCut 中的众多工具之一完成。例如,您可以反转时间线上的所有片段,以将所有标记转换为片段。

轨道

LosslessCut 轨道面板用于选择性地启用/禁用单个轨道的导出,以及编辑轨道或文件元数据。它还可用于更改内容处置

自定义导出文件名

将片段导出为文件时,LosslessCut 允许您使用 模板字符串 指定输出文件的命名顺序。该模板字符串会被解析为 JavaScript 模板字符串,因此您可以在其中使用 JavaScript 语法。

JavaScript 表达式技巧

填充数字

如果您需要填充数字,可以使用以下 JavaScript 代码围绕变量。例如,将 FILE_EXPORT_COUNT 变量填充为两位数,并以零开头:${String(FILE_EXPORT_COUNT).padStart(2, '0')}

如果您需要更多帮助,可以请求 AI 协助,例如“如何使用 JavaScript 填充数字?”

导入/导出项目

LosslessCut 还支持以多种文件格式导入/导出您的项目(片段)。请参阅支持格式列表

CSV 文件

  • CSV 导出/导入功能支持每行包含一个剪切片段的 CSV 文件。每行包含三列:“片段起始”、“片段结束”和“标签”。
  • segment startsegment end 以秒为单位。segment end 可以为空,在这种情况下它是一个标记。
  • 使用逗号 , 分隔字段(不要使用分号 ;

.csv 文件示例

csv 复制代码
,56.9568,第一个段从 0 开始
70,842.33,"另一个带引号的标签"
1234,,最后一个段

TSV 文件

与 CSV 相同,但使用 <tab> 代替。

关于项目

LosslessCut是一个无损视频/音频编辑的工具,可在几秒钟内减少视频和音频文件的 GB 大小,且不损失质量。LosslessCut 只需剪切数据流并直接复制即可。
GPL-2.0
Typescript
33,889
1593
251
2016-10-30
2025-10-10

增长趋势 - stars