news 2026/7/12 1:25:57

LiteCut:长视频快剪,不追求帧精确,追求导出够快

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LiteCut:长视频快剪,不追求帧精确,追求导出够快

LiteCut:长视频快剪,不追求帧精确,追求导出够快

LiteCut 的出发点很简单:

对一小时以上的长视频来说,早一两秒、晚一两秒,很多时候不重要。真正重要的是:导出不要慢。

所以 LiteCut 不把目标设成“手机上的专业剪辑软件”,而是设成一个更锋利的小工具:

  • 基础切割、复制、删除、排序;
  • 单轨时间线,能看懂片段;
  • 预览要马上出声音、出画面;
  • 导出尽量走 stream copy;
  • 不为帧级精度付出重编码成本。

核心取舍:

牺牲一点边界精度 -> 避免重编码 -> 长视频导出更快

关键 idea:用 GOP 边界换速度

视频不是每一帧都能便宜地独立切开。大多数压缩视频由 GOP 组成,关键帧可以独立解码,非关键帧依赖前后帧。

如果硬要按任意一帧精确切,通常就要重编码。LiteCut 反过来:把用户选择的时间点对齐到可 stream-copy 的关键帧边界。

用户点的是“大概从这里开始”。LiteCut 真正导出时会做这种转换:

用户选择点 -> 查找附近关键帧 -> 扩展到安全范围 -> ffmpeg -c copy

这不是 bug,这是产品定位。

对于长视频快剪场景,1 秒边界误差往往比 10 分钟导出等待更可接受。

OpenSpec 怎么帮我们把 idea 做出来

这次最有价值的不是“写了一堆文档”,而是 OpenSpec 让我们一直守住边界。

我们把开发拆成三个 change:

Change解决的问题结果
litecut-mvpAndroid 文件访问、FFmpegKit、stream-copy 计划跑通无损导出核心
android-editor-timeline-ui中文时间线、片段选择、切割复制排序从工具变成可用 App
android-preview-timeline-polish长视频黑屏、缩略图、缩放滚动、时间映射真机上可预览、可导航

OpenSpec 在这里的作用是:

  • 每一步先写清楚目标和非目标;
  • 每个 change 都有任务清单和验收;
  • 发现问题时回到 spec,而不是凭感觉乱改;
  • 明确“不做什么”,避免变成另一个大而全的视频编辑器。

最重要的非目标:

不做帧精确 不默认重编码 不做滤镜/转场/多轨 不做逐帧缩略图

这让 LiteCut 的方向一直很清楚:快剪,不是精剪。

App 架构:只保留必要复杂度

实现上只保留几条主线:

  • Android 系统选择器导入 URI;
  • 立即用 ExoPlayer + TextureView 预览;
  • 后台复制到 app 私有 workspace;
  • ffprobe 读取时长和关键帧;
  • TimelineProject 管理片段和 source-time 映射;
  • Thumbnail 只做稀疏生成;
  • ExportPlanner 生成-c copy命令;
  • FFmpegKit 执行并发布结果。

这套架构的重点不是复杂,而是把“不重编码导出”这件事保护好。

一次关键调试:有声音但黑屏

长视频导入后,声音马上出来,但预览区域黑屏。

一开始容易怀疑视频解码失败。logcat 反而说明:

  • 硬解码器在工作;
  • render fps 正常;
  • SurfaceView 在 queue buffer;
  • 本地抽帧不是黑图。

结论:不是视频没解码,而是VideoView/SurfaceView在这个布局里显示路径不可靠。

最后改成:

VideoView -> Media3 ExoPlayer + TextureView

预览黑屏解决。这个细节很关键,因为 LiteCut 不是只会导出,真机上也必须能马上预览长视频。

为什么这个项目有意思

很多视频工具默认追求“更专业”:更精确、更复杂、更多效果。

LiteCut 追求的是另一个方向:

足够准确 + 极快导出 + 长视频友好

它适合这种人:

  • 手上有很长的视频;
  • 只想剪掉开头结尾或整理几个片段;
  • 不想等手机重编码;
  • 接受边界粗一点,但不能接受导出慢。

这就是 LiteCut 的价值。

开源

项目仓库:

gh repo clone STEPHENXING/LiteCut-android

仓库只包含 LiteCut Android 项目本身。OpenSpec 的 proposal、tasks、change 等开发过程材料没有混进代码仓库。

LiteCut 现在还是 MVP,但方向已经很明确:

不是做一个小剪映,而是做一个长视频快剪工具。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 1:24:31

VS Code 与 Visual Studio 2022 粘性滚动对比:4项差异分析与5个使用场景

VS Code 与 Visual Studio 2022 粘性滚动深度评测:功能差异与实战场景指南在代码编辑器的演进历程中,粘性滚动(Sticky Scroll)作为提升代码导航效率的重要功能,正在被越来越多的开发者所关注。这项源自电子表格"冻…

作者头像 李华
网站建设 2026/7/12 1:24:08

数据采集仪/数据采集器怎么选?搞懂这6个参数,买对不花冤枉钱——通道数、扫描速率、精度、采集卡、接口协议、冷端补偿全解析

核心提示:买数据采集器最忌讳的一件事,就是只看通道数。有这个习惯的,90%会在半年内后悔。 数据采集器到底能干什么? 先搞清楚一件事:数据采集器和示波器、万用表有什么不同? 万用表一次只能测一个点&…

作者头像 李华
网站建设 2026/7/12 1:22:57

Wireshark 实战:GB/T28181 录像回放 5 类信令交互抓包与深度解析

Wireshark 实战:GB/T28181 录像回放 5 类信令交互抓包与深度解析在视频监控领域,GB/T28181 标准已经成为国内设备互联互通的重要规范。其中,录像回放功能因其复杂的信令交互流程,常常成为运维工程师和开发者的调试难点。本文将基于…

作者头像 李华
网站建设 2026/7/12 1:22:42

VCS 2023.12 门级仿真 SDF 反标实战:3步解决负延迟与 X 态传播问题

VCS 2023.12 门级仿真 SDF 反标实战:负延迟与 X 态传播的工程解决方案门级仿真的核心挑战与价值在芯片设计流程中,门级仿真是连接RTL设计与物理实现的关键桥梁。与RTL仿真相比,门级仿真通过引入标准单元延迟和互连线延迟,能够更真…

作者头像 李华
网站建设 2026/7/12 1:22:17

Unity游戏本地化实战:XUnity.AutoTranslator动态翻译框架应用指南

1. 项目概述:为什么Unity游戏本地化是门必修课?如果你是一名独立游戏开发者,或者在一个小型团队里负责技术实现,那么“本地化”这个词对你来说,可能既熟悉又陌生。熟悉是因为你知道,想让游戏走向更广阔的市…

作者头像 李华