Releases: xiabee/XCut
Release list
v0.1.8-alpha — 远程访问鉴权 + 真实素材度量过的高光
XCut v0.1.8-alpha
这版把"能不能用"变成"能不能放心给别人用":远程访问终于有认证,剪辑质量第一次被真实比赛素材量化验证。/ This release made remote use safe to enable and made highlight quality measurable on real footage.
亮点 / Highlights
🔐 远程访问(可选,默认仍然只监听本机)/ authenticated remote access
xcut serve依旧只绑127.0.0.1;要开放给别的机器,必须同时显式
server.listen_remote = true且配置server.auth_token(≥24 字符),
缺一即启动失败——这条不变量在配置解析和真正 bind 前各查一次- 本机回环始终可信:桌面客户端、双击 exe、
xcut client零配置零 token - token 常量时间比较;按对端限流(5 分钟 20 次失败后 429);拒绝响应与
serve.log 都不携带 token;xcut config show显示为<set>,
xcut init不会把环境变量里的 token 落盘 - Web UI 也能远程用了:浏览器无法给
<video>、缩略图、下载链接加请求头,
所以登录一次后换发HttpOnly; SameSite=Strict会话 cookie 供读取,
写入仍必须把会话 id 回显在请求头里——跨站页面读不到 HttpOnly cookie,
也就伪造不出这个回显(CSRF 在结构上不成立,而不是靠额外 token 兜底) ⚠️ 传输仍是明文 HTTP:请只在可信内网或 Tailscale/SSH 隧道里开放;
不要用同机反向代理套 TLS(那会让所有远端都变成"本机回环"从而绕过鉴权)
🏸 剪辑质量:第一次用真实比赛量化 / measured on real footage
- 你那场 10:03 男单(终局 22:19)作为评测集:precision 0.742 → 0.886、
F1 0.167 → 0.199 - 高光不再只覆盖前 2/3:新增相位配额后,局末与制胜分进入成片
(逐帧核对比分确认,不只是看指标) - 片段不再跨得分点:窗口从"段正中"改为贴段首,因为 rally 分段是吸附到
安静谷切出来的,段中心常常是得分后的捡球停顿 - 方法学入
docs/EVAL.md:比分板叠加层可以自动产出回合真值
(43 候选 vs 真实 41 分),并附负结果表——哪些参数调了没用甚至更差
⚡ 传输与界面性能 / less bytes, fewer repaints
GET /api/v1/projects/{id}响应 5936 → 558 字节(−90.6%):
内部诊断用的 ffprobe 原始 JSON 不再随每个素材发给前端(前端零引用,
而界面在轮询这个端点)- 缩略图跨刷新保留(按素材指纹失效):一次浏览的媒体请求 3 → 0
- 时间线重绘从"每张缩略图到达各绘一次"合并为每批一次
- 空闲占用复测:16.4 MB / 45 秒 CPU 0.00 s(目标 <100 MB、≈0% CPU)
🐧 跨平台 / Linux and ARM64
- Linux 测试套件恢复绿色:它其实已经红了十二个 session——远端 CI 一直在
与开发机相同的平台上重跑,看不见平台漂移。8 个失败全部定位并修复 - 修复
.webm预览在 Linux 上被标成audio/webm导致播放器拒播
(内容类型不再取自宿主 MIME 表) - 银河麒麟 V10 SP1 aarch64 全链路实测通过(导入→分析→时间线→渲染)
- 已知限制:麒麟自带的 FFmpeg 会把海思 OMX 解码插件日志写到 stdout,污染
ffprobe 的 JSON 使导入失败——把XCUT_FFMPEG/XCUT_FFPROBE指向标准构建
即可(已在真机验证);XCut 选择明确报错而不是"尽力修复",因为那种修复会
把日志静默并进元数据里
🛠 工具
xcut eval --baseline results.json:一条命令做算法 A/B,并拒绝假装可比
(任一侧报错记NOT COMPARABLE、--iou不同会警告"比的是两把尺子")- 新增
event_config.rally_chunk(默认 30s 即实测最优,留给其他片源调)
下载 / Downloads
| 文件 | 用途 |
|---|---|
xcut-v0.1.8-alpha-windows-setup.exe |
Windows 安装包(推荐) |
XCut-v0.1.8-alpha-windows-amd64.zip |
Windows 便携 zip |
xcut-v0.1.8-alpha-windows-amd64.exe |
Windows 单文件 |
xcut-v0.1.8-alpha-linux-amd64 / -arm64 |
Linux 静态二进制 |
xcut-worker-media-v0.1.8-alpha-linux-amd64 |
可选 Rust worker(静态 musl) |
仍是 alpha:核心流水线可用,但桌面托盘/自动更新、远程 TLS、以及"识别本场
自己的击球"的语义能力都还没做。
Full changes: CHANGELOG.md
v0.1.7-alpha — UI v2 + 一键安装 + 真 Windows 安装包
XCut v0.1.7-alpha
所有者指令夜:UI 现代化 + 安装包 + 环境检测一键装组件。/ Owner-directive night: modern UI, a true installer, and one-click environment setup.
亮点 / Highlights
🎨 UI v2 视觉刷新 / modern UI refresh(仍零依赖、单文件 CSS、~13MB 单 exe)
- 渐变品牌强调色系统、分层表面、焦点环、按钮/输入/状态胶囊精修
- 时间线裁剪手柄首次可见可拖(此前 JS 指针目标从未被绘制)
- 空态编辑器漏渲染的隐藏状态 bug 修复;动效尊重 reduced-motion
📦 真 Windows 安装包 / true installer(xcut-*-windows-setup.exe,约 6MB)
- 开始菜单/桌面快捷方式、卸载器、安装前说明页(双语声明自动安装与 AI 配置策略)
- 便携 zip 继续提供
🔧 一键安装缺失组件 / one-click setup(首次启动自动检测环境)
- 缺 FFmpeg 时顶栏出现安装按钮:来源(Gyan.dev 官方构建)、体积(~110MB)、许可(GPL)先说明,点击后下载 → SHA256 校验 → 解压到 exe 旁 bin\ → ffprobe 实测验证
- URL/大小/哈希钉死在代码里,被篡改或换文件的下载会响亮拒绝
- 安装完成即刻可用,无需重启(工具解析活体重探)
🤖 AI 接口 / AI on your terms
- 字幕/卡拉OK 使用你自行配置的本地 Whisper 后端(
workers.ai_bin或 PATH 上的xcut-ai);health 端点与字幕面板现在会明示"未配置" - 核心不捆绑、不静默下载模型(刻意的产品边界)
🛠 其他
xcut subtitles --out/xcut eval --out不再可能覆盖输入媒体或标注清单(复用渲染同款同文件判定)- 新增 gitleaks 允许清单隔离 gitignored 草稿区的扫描假阳性
下载 / Downloads
| 文件 | 用途 |
|---|---|
xcut-v0.1.7-alpha-windows-setup.exe |
Windows 安装包(推荐) |
XCut-v0.1.7-alpha-windows-amd64.zip |
Windows 便携 zip |
xcut-v0.1.7-alpha-windows-amd64.exe |
Windows 单文件 |
xcut-v0.1.7-alpha-linux-amd64 / -arm64 |
Linux 静态二进制 |
xcut-worker-media-v0.1.7-alpha-linux-amd64 |
可选 Rust worker(静态 musl) |
Full changes: CHANGELOG.md
v0.1.6-alpha — 大文件双向自由传输 / streaming without time caps
v0.1.6-alpha — 大文件双向自由传输 / bidirectional streaming without time caps
中文
- 大文件上传与下载/播放都不再被总时限掐断:上传按读取空闲计时、
下载与播放按写入空闲计时——只要还在动就永不中断,停滞一 span 才切断。
多 GiB 素材上传、浏览器里慢速拖动播放多 GiB 成片,都稳了 - 羽毛球流水线真实素材三连修:自适应运动门限(跟住视频自身活跃度)、
组内相对归一化打分(不再"最早的先来")、chunk 边界自然吸附——
10 分钟真实比赛候选覆盖 21/21,选段按真实分差分布 - 工程删除门禁原子化(触发与删除不再互相穿透);并发同名上传绝不互相覆盖
- 语义 AI 接缝:远程 STT(
XCUT_SIDECAR_STT_URL)+ vision 帧描述
(XCUT_SIDECAR_VISION_URL,frame_describe)——env 配置即点亮,
不捆绑模型、不静默下载 - 评测工具链:
xcut eval --check秒级校验 manifest(媒体存在性 +
ffprobe 时长 vs 标注区间 + 风格解析,不建工作区);results.json 携带
逐 clip 得分与入选理由;逐 case 进度行 - 修复:SRT 内嵌换行导致的 cue 损坏;上传暂存清扫盲区(
imports/<pid>/
残留此前永不清扫) - 双语 README 改版(徽章 + 亮点表 + Releases 下载快速开始)
- 质量:FULL gate(race + linux amd64/arm64 交叉编译 + cargo + govulncheck)
绿;混合 API soak 累计 1800 轮 0 错误;空闲 17.5MB / CPU ~0%
English
- Large uploads AND downloads/playback are no longer cut by total-time
limits: uploads idle-timeout on reads, downloads/playback on writes —
progressing transfers are never cut, only stalled ones are. Multi-GiB
uploads and slow browser playback of big renders are now safe - Real-footage fixes for the badminton pipeline: adaptive motion floor
(tracks the clip's own active level), within-set relative scoring (no more
"earliest first"), chunk boundaries snapped to natural breaks — on a real
10-minute match, candidate coverage went to 21/21 chunks - Project deletion's active-jobs gate is atomic; concurrent same-name uploads
can no longer overwrite one another - Semantic AI seam: remote STT (
XCUT_SIDECAR_STT_URL) + vision frame
description (XCUT_SIDECAR_VISION_URL, frame_describe) — configure and it
lights up; no bundled models, no silent downloads - Eval tooling:
xcut eval --checkvalidates a manifest in seconds
(media existence + ffprobe durations vs annotations + style resolution);
results.json now carries per-clip score and reason; per-case liveness lines - Fixed: SRT cue corruption on embedded newlines; the upload-staging sweep
blind spot (debris underimports/<pid>/was never reclaimed) - Bilingual README refresh (badges + highlights table + release-download
quick start) - Quality: FULL gate green (race + linux amd64/arm64 cross-compile + cargo +
govulncheck); mixed-API soak 1800 rounds 0 errors; idle 17.5 MB / ~0% CPU
安装 / Install: unzip → (drop ffmpeg.exe + ffprobe.exe beside xcut.exe) → double-click.
Linux: download the static binary, chmod +x, run (FFmpeg required on PATH).
v0.1.5-alpha — 拖放导入 / drag-and-drop import
v0.1.5-alpha — 拖放导入 / drag-and-drop import
中文
- 媒体面板支持拖放视频文件与"选择文件…"按钮(可多选)——不再需要
手填本地路径;文件内容上传后落在工作区 imports/ 目录,同名不覆盖 - 每源球场 ROI(多机位各自框选)、窗口/exe 品牌图标、分析错误如实报告
- 性能复核零回归(analyze 0.09x / render 0.25x / 空闲 17.2MB)
English
- The media panel accepts dropped video files and a "pick files…"
button (multiple) — no more typing local paths; content lands in the
workspace imports/ dir, never overwriting an existing copy - Per-source court ROI, brand icons on window/exe, honest analyzer errors
- Performance re-check: zero regression (analyze 0.09x / render 0.25x /
idle 17.2 MB)
安装 / Install: unzip → (drop ffmpeg.exe + ffprobe.exe beside xcut.exe) → double-click.
v0.1.4-alpha
v0.1.4-alpha
中文
- 再次双击 exe 时不再静默失败:会探测到已运行的 xcut 并直接在浏览器
中打开它的界面 - 窗口/任务栏/exe 均显示品牌图标(延续 v0.1.2/0.1.3)
English
- Double-clicking while an instance is already running no longer fails
silently: it probes the live instance and opens its UI in the browser - Brand icon on the window, taskbar and the exe (continues v0.1.2/0.1.3)
安装 / Install: unzip → (drop ffmpeg.exe + ffprobe.exe beside xcut.exe) → double-click.
v0.1.3-alpha — 带图标的 exe / branded exe
v0.1.3-alpha — 带品牌图标的 exe / branded exe icon
中文
- exe 本体带品牌图标:资源管理器、任务栏固定、快捷方式全部显示
xcut 图标(程序化绘制生成,非第三方资源) - 窗口标题栏/任务栏/Alt-Tab 同样显示品牌图标(v0.1.2 起窗口已带)
- 附带修复:分析器失败不再误报为"超出 30 分钟时间预算"
English
- The exe itself now carries the brand icon: Explorer, pinned taskbar
and shortcuts all show the xcut mark (drawn programmatically — no
third-party resource) - The window title bar / taskbar / Alt-Tab show it too (since v0.1.2)
- Also fixes: analyzer failures are no longer misreported as "exceeded
its 30m0s time budget"
安装 / Install: unzip → (drop ffmpeg.exe + ffprobe.exe beside xcut.exe) → double-click.
v0.1.2-alpha — 品牌图标 / brand icon
v0.1.2-alpha — 品牌图标 / Brand icon
中文
- 桌面客户端窗口(标题栏/任务栏/Alt-Tab)现在显示 xcut 品牌图标——
运行时程序化绘制,仓库与安装包内无任何二进制图标资源 - 分析器失败不再被误报为"超出 30 分钟时间预算"(缺 FFmpeg 等错误
现在如实报告原始原因) - ROI 状态行跟随素材列表刷新(切换工程后不再空白)
English
- The desktop client window (title bar / taskbar / Alt-Tab) now carries
the xcut brand icon — drawn programmatically at runtime; no binary
icon asset ships in the repo or the package - Analyzer failures are no longer misreported as "exceeded its 30m0s
time budget" (a missing FFmpeg now reports its real cause) - The ROI status line follows asset-list rebuilds (no longer blank after
switching projects)
同 v0.1.1-alpha 的安装方式 / Install as in v0.1.1-alpha:
unzip → (drop ffmpeg.exe + ffprobe.exe beside xcut.exe) → double-click.
v0.1.1-alpha — 双击即用 / double-click friendly
v0.1.1-alpha — 双击即用 / Double-click friendly
中文
修复 alpha 反馈:直接运行 exe "闪退"。本次改动:
- 双击 xcut.exe 直接打开图形界面(之前打印命令行帮助后退出,看起来像闪退)
- FFmpeg 零配置:把
ffmpeg.exe和ffprobe.exe放到 xcut.exe 同目录
(或旁边的bin目录)即可自动识别,无需配置 PATH——推荐从
https://www.gyan.dev/ffmpeg/builds/ 下载 essentials 版 - 未检测到 FFmpeg 时,界面顶部显示黄色引导条(中/英文),照做即用
- 新增
XCut-...-windows-amd64.zip一键分发包(exe + 使用说明)
English
Fixes the alpha "flash crash": double-clicking the exe now opens the
desktop client instead of printing usage and exiting. FFmpeg is discovered
next to the executable (or its bin/ folder) before PATH — drop your own
ffmpeg.exe + ffprobe.exe beside xcut.exe and everything works with
zero setup; until then the UI shows a persistent setup banner (EN/ZH).
Adds a self-contained distribution zip (exe + quickstart).
安装 / Install
- 推荐 / Recommended: download
XCut-v0.1.1-alpha-windows-amd64.zip,
unzip, put yourffmpeg.exe+ffprobe.exein the same folder, runxcut.exe - Or the bare binaries below (windows-amd64 / linux-amd64 / linux-arm64);
FFmpeg stays a prerequisite for analyze/render on all platforms
v0.1.0-alpha
XCut v0.1.0-alpha — 首个打包发布 / First packaged release
中文
本地优先的自动视频剪辑:探测 → 分析 → 事件 → 风格 → 时间线 → 渲染。
无云端、无遥测;AI 只是可选增强(本地 Whisper sidecar),不是地基。
本版本亮点:
- 桌面客户端:
xcut client打开原生 WebView2 窗口(同一套内嵌 UI 也可用xcut serve跑在浏览器) - 可视化时间线编辑器:片段色块/拖动排序/边缘裁剪/转场徽标/检查器逐段编辑
- 中英文界面:顶栏即时切换,偏好持久化,首次访问自动跟随浏览器语言
- 每源球场 ROI:多机位素材各自框选运动区域,覆盖风格级设置
- 字幕全链路:本机 Whisper 转写 → SRT / 卡拉 OK ASS → 一键烧录
English
Local-first automatic video editing: probe → analyze → events → style →
timeline → render. No cloud, no telemetry; AI stays an optional local
enhancer (Whisper sidecar), never the foundation.
Highlights:
- Desktop client:
xcut clientopens a native WebView2 window (the same
embedded UI also runs in your browser viaxcut serve) - Visual timeline editor: duration-sized clip blocks, drag reorder,
edge-handle trimming, transition badges, per-clip inspector - EN/ZH UI: instant switch in the topbar, persisted preference,
browser-language auto-detect - Per-source court ROI: per-asset motion regions that override the
style-level rect — multi-camera sources each get their own region - Subtitles end to end: local Whisper transcription → SRT / karaoke
ASS → one-click burn
安装 / Install
- 安装 FFmpeg + ffprobe(确保在 PATH 上,或设
XCUT_FFMPEG/XCUT_FFPROBE) - 下载对应平台的二进制(下方 Assets),即可运行——完全静态,无额外依赖
./xcut doctor自检 →./xcut serve打开 http://127.0.0.1:8619 或
./xcut client进入桌面窗口
平台:windows/amd64、linux/amd64、linux/arm64(可选 Rust worker 未随包
分发,需要时按 README 自行 cargo build)。
状态为 Alpha:欢迎试用与反馈。仅监听本机回环;详见
README 与 docs/。