Skip to content

Releases: xiabee/XCut

v0.1.8-alpha — 远程访问鉴权 + 真实素材度量过的高光

Choose a tag to compare

@xiabee xiabee released this 20 Sep 10:19

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 安装包

Choose a tag to compare

@xiabee xiabee released this 18 Sep 16:32

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 installerxcut-*-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

Choose a tag to compare

@xiabee xiabee released this 18 Sep 00:48

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 --check validates 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 under imports/<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

Choose a tag to compare

@xiabee xiabee released this 14 Sep 17:18

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

Choose a tag to compare

@xiabee xiabee released this 13 Sep 18:18

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

Choose a tag to compare

@xiabee xiabee released this 13 Sep 18:08

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

Choose a tag to compare

@xiabee xiabee released this 13 Sep 17:54

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

Choose a tag to compare

@xiabee xiabee released this 13 Sep 17:16

v0.1.1-alpha — 双击即用 / Double-click friendly

中文

修复 alpha 反馈:直接运行 exe "闪退"。本次改动:

  • 双击 xcut.exe 直接打开图形界面(之前打印命令行帮助后退出,看起来像闪退)
  • FFmpeg 零配置:把 ffmpeg.exeffprobe.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 your ffmpeg.exe + ffprobe.exe in the same folder, run xcut.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

Choose a tag to compare

@xiabee xiabee released this 13 Sep 16:49

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 client opens a native WebView2 window (the same
    embedded UI also runs in your browser via xcut 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

  1. 安装 FFmpeg + ffprobe(确保在 PATH 上,或设 XCUT_FFMPEG/XCUT_FFPROBE
  2. 下载对应平台的二进制(下方 Assets),即可运行——完全静态,无额外依赖
  3. ./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/。