Skip to content

Releases: Weidows/video2script

v0.4.0 · uv 依赖管理 + 界面四改(预览卡片 / 实时进度 / 完整日志 / 打开目录)

Choose a tag to compare

@github-actions github-actions released this 18 Sep 08:10
b58ab61

video2script v0.4.0 — uv 依赖管理 + 界面四个痛点全部修掉

你这四条反馈的对应改动 / Your four issues, fixed

反馈 现在
「选中视频后只有文件名,想要 card 预览」 选中/预载后出现预览卡片:真的能播的播放器(/api/media,支持 HTTP Range,可拖进度条)+ 文件名 / 大小 / 时长 / 源路径
「日志被截断,只显示最新几条」 服务端最多留 20000 行、前端增量追加并自动滚动,加「复制日志 / 清屏」;进度日志从"每段一行"改为每 10% 一行,不再刷爆
「结果出现太慢,想要进度」 分阶段进度(asr 47% → 顺滑处理 → 生成字幕 → 烧字幕,ASR 占 1→80%)+ 实时逐字稿边转写边出字 + 产物写出的瞬间就能下载
「打开输出目录点了没反应」 现在会返回成功路径或明确错误,页面上给出提示;新增「复制输出路径」兜底(实测资源管理器确实打开到该目录)

依赖管理改用 uv / uv-managed dependencies

  • uv.lock 入库(70 个包全锁),uv sync 即可开工;dev 工具用 PEP 735 依赖组,无需记 --extra
  • CI 与 Release 全部切到 astral-sh/setup-uv + uv sync --locked:改了依赖忘了 uv lock 会直接失败
  • 锁文件覆盖 requires-python 全区间(3.9 → 3.13):onnxruntime 在 1.20 之后不再出 cp39 轮子,
    用 [tool.uv] constraint-dependencies 给 <3.10 钉住,锁里同时保留 1.19.2 / 1.24.3 / 1.30.0
  • 规则层 CI 只装 dev 组(--only-group dev),6 条矩阵腿 9~29 秒跑完
git clone https://github.com/Weidows/video2script && cd video2script
uv sync                 # 核心(CLI + GUI)
uv sync --extra diar    # 追加说话人分离
uv run video2script --help

国内镜像:UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple uv sync

其他 / Also

  • 界面从 gui.py 的内嵌字符串搬到 src/video2script/assets/gui.html,可直接编辑、单独审阅
  • CLI 现在会打印每个产物 ✔ raw.txt,阶段标题不再被进度行吃掉
  • 新增 scripts/gui_smoke.py:真起服务跑端到端自检(页面钩子 / 预览 Range / 上传 / 进度单调 / 产物 / 打开目录)
  • 测试 55 → 85,新增的 30 个用例集中在 GUI 行为(tests/test_gui_page.py:预览/进度/日志/产物/依赖声明一致性)

下载 / Downloads

资产 平台 说明
video2script-windows.exe Windows 双击 = 界面,拖文件到它上面 = 命令行
video2script-macos macOS 未签名,首次右键 → 打开
video2script-linux Linux 先 chmod +x
video2script-0.4.0-py3-none-any.whl 任意 pip install <wheel>(或用 uv)

模型权重不入包:首次运行自动下载到 ~/.cache/video2script/models
(huggingface.co 不通时自动走 hf-mirror.com)。全部本地运行,不上传任何数据。

许可证:PolyForm Noncommercial 1.0.0(禁止商用,商用需单独授权)。

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 06:46
ae19a29

video2script v0.3.0 — 一个命令,两种用法 + 应用图标 / one command, two modes + app icon

这次的重点 / Highlights

  • 入口合并:不再需要记两个命令。
    Unified entry point — one command for both interfaces:

    命令 / Command 行为 / What happens
    video2script 不带参数 → 启动本地网页界面 / starts the local web GUI
    video2script 会议.mp4 … 命令行转写 / CLI transcription
    video2script --gui 会议.mp4 打开界面并预载该文件 / GUI with the file pre-loaded
    video2script --cli … 强制命令行(脚本里用)/ force CLI in scripts
    video2script --version 打印版本 / print version
  • 应用图标:纯代码生成(Pillow,scripts/make_icon.py)—— 渐变圆角块 + 声波 + 文稿行 + 播放角标;
    16/24/32px 用简化构图单独绘制,小尺寸不糊。图标同时用于窗口图标与网页界面 favicon。
    App icon, generated from code: gradient rounded square, waveform, text lines, play badge, with
    per-size simplified variants for small sizes; used as the window icon and the GUI favicon.

  • 一个可执行文件顶两个:Release 里每个平台只有一个二进制(video2script-windows.exe /
    video2script-macos / video2script-linux),双击 = 界面,拖文件到它上面 = 命令行。
    One binary per platform instead of two.

  • video2script-gui 作为 video2script --gui 的别名保留,老脚本不用改。
    video2script-gui is kept as an alias — existing scripts keep working.

修掉的问题 / Fixed

  • 冻结后的可执行文件里 favicon 返回 0 字节:PyInstaller 下模块在 PYZ 里,__file__ 不再指向真实路径,
    改为优先用 sys._MEIPASS 定位打包资源;并加了一条“图标必须存在且非空”的测试。
    Favicon/icon requests returned 0 bytes from frozen builds — asset lookup now goes through
    sys._MEIPASS, with a regression test asserting the icons are present and non-empty.

下载哪个 / Which file

文件 / Asset 平台 说明
video2script-windows.exe Windows 双击 = 网页界面;把视频拖到它上面 = 命令行
video2script-macos macOS 未签名,首次运行右键 → 打开
video2script-linux Linux 先 chmod +x
video2script-0.3.0-py3-none-any.whl 任意 pip install(CLI + GUI 都在)
video2script-0.3.0.tar.gz 任意 源码包

模型权重不打进可执行文件:首次运行会下载到 ~/.cache/video2script/models
(small ≈ 0.5 GB、medium ≈ 1.5 GB;说话人模型 ≈ 35 MB,仅 --diarize 时)。
huggingface.co 不可达时自动改用 hf-mirror.com。

许可证 / License

限制商用。 PolyForm Noncommercial License 1.0.0:
个人 / 学习 / 研究 / 非营利 / 学校 / 公共机构可用;商业使用需单独授权
(提 issue 或联系 @Weidows)。第三方组件(Whisper 权重、faster-whisper、
PyAV、onnxruntime、sherpa-onnx)各自保留原许可证。

README ·
中文说明 ·
CHANGELOG

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 02:49
3dd47bc

video2script v0.2.0 — 视频 → 干净文稿 / Video → clean transcript

首个公开发布版。输入视频或音频,输出逐字稿与顺滑稿(语气词 / 结巴 / 重复词自动剔除),
全程本机运行:不上传、不需要 API key、不需要 LLM,纯 CPU 可跑。

First public release. Feed it a video or audio file, get both a verbatim and a cleaned
transcript (fillers, stutters and repetitions removed). Everything runs locally — no upload, no API
key, no LLM required, CPU-only.

这一版包含 / Highlights

  • 🧹 可解释的顺滑规则(三档力度 --level 1/2/3)+ report.json 记录每一处删除的时间戳与原因
    — Explainable cleaning rules with a per-deletion audit log.
  • 🗣️ 说话人分离 --diarize:零 torch(sherpa-onnx,模型 ~35 MB),输出 说话人N: 与 speakers.json
    — Speaker diarization, torch-free.
  • 💬 字幕:两档 SRT、--ass 导出 ASS、--burn 烧进画面
    — SRT for both tiers, ASS export, burned-in subtitles.
  • ✂️ 顺带剪片 --cut:把语气词从音视频里物理剪掉
    — Optionally re-encode the video with fillers removed.
  • 🖥️ CLI + 本地网页 GUI(只绑 127.0.0.1) — CLI + local web GUI.
  • 📦 本页附免安装可执行文件(Windows / macOS / Linux)与 wheel / sdist
    — Standalone binaries and a wheel are attached below.

下载哪个 / Which file

文件 平台 说明
video2script-windows.exe Windows 命令行版,免 Python
video2script-gui-windows.exe Windows 网页 GUI 版,拖文件进去即可
video2script-macos macOS 命令行版(未签名,首次运行需右键→打开)
video2script-gui-macos macOS 网页 GUI 版
video2script-linux Linux 命令行版(chmod +x 后运行)
video2script-gui-linux Linux 网页 GUI 版
video2script-0.2.0-py3-none-any.whl 任意 pip install 用(已含 CLI + GUI 入口)
video2script-0.2.0.tar.gz 任意 源码包

模型权重不打进可执行文件:首次运行会下载 Whisper 权重到 ~/.cache/video2script/models
(small ≈ 0.5 GB、medium ≈ 1.5 GB;说话人模型 ≈ 35 MB,仅 --diarize 时)。
huggingface.co 不可达时会自动改用 hf-mirror.com。

video2script meeting.mp4 --model medium --diarize --ass     # 中文建议 medium 以上
video2script-gui --open                                     # 网页界面

已知取舍 / Caveats

  • 中文识别请用 --model medium 以上:small 会把"嗯"识别成近音字。
    Use --model medium or larger for Chinese.
  • --level 2(默认)保留"停顿不够长"的口头禅,--level 3 更干净但可能误删实义词;
    需要更高质量时加 --rewrite llm。Level 2 is conservative, level 3 aggressive.
  • 实测(16 核 CPU、int8、21 秒中文音频):small 8.3 s / 605 MB,medium 24.9 s / 1431 MB。
  • macOS / Linux 二进制未签名:macOS 首次运行需右键→打开,Linux 需 chmod +x。

许可证 / License

限制商用。 采用 PolyForm Noncommercial License 1.0.0:
个人、学习、研究、非营利/学校/公共机构可用;商业使用需单独授权
(在本仓库提 issue 或联系 @Weidows)。

Source-available, non-commercial. Commercial licensing is available separately.
Third-party components (Whisper weights, faster-whisper, PyAV, onnxruntime, sherpa-onnx) keep their
own licenses — see the README.

完整说明见 README ·
中文说明 ·
CHANGELOG