Skip to content
SJ3199Public

About

Right-click any video to export first/last frame as JPG (右键视频导出首帧/末帧为JPG)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🎞️ FrameGrab (帧取)

将导出视频首帧和尾帧(JPG)的功能集成到鼠标右键菜单

Version License Windows Author


📖 一句话

右键任意视频文件 → 导出首帧 / 导出尾帧 → 高质量 JPG,就这么简单。

主要用于 AI 视频分段生成时,拿上一段的尾帧作为下一段生成的起始参考图。

✨ 功能

  • 🖱️ 右键菜单集成 — 无需打开任何软件,右键视频直接导出
  • 🎞️ 23 种视频格式 — mp4、mov、avi、mkv、webm、wmv、flv、m4v、3gp、ts、mts、m2ts、ogv、asf、rm、rmvb、vob、divx、mxf、mpg、mpeg、f4v、m2v
  • 🖼️ 高质量 JPG — 视频帧无需透明通道,JPG 更通用且体积更小
  • ⚡ 智能尾帧 — 自动跳过末尾可能的黑屏帧,确保抓到真正有效画面
  • 🏠 完整 Windows 集成 — 开始菜单快捷方式、控制面板卸载、文件属性版本信息
  • 🛡️ 干净安装 — 不修改任何现有右键菜单项,仅新增两个选项
  • 🔓 MIT 开源 — 完全免费

⚠️ 已知限制

视频片段本身以渐黑结尾时,程序无法区分"画面内容"与"淡出效果",尾帧可能仍是暗帧。此场景建议手动选取尾帧。

📥 安装

  1. 从 Releases 下载 FrameGrab-v3.0-Setup.exe
  2. 双击 → UAC 弹窗点"是" → 安装完成
  3. 右键任意视频文件 → 导出视频首帧 / 导出视频尾帧

🗑️ 卸载

  • 开始菜单 → FrameGrab → Uninstall FrameGrab
  • 或:设置 → 应用 → FrameGrab → 卸载

卸载会清理所有注册表项、开始菜单、程序文件,不残留。

🔧 从源码构建

pip install pyinstaller opencv-python numpy pillow
python make_icon_v2.py                          # 从 framegrab_logo.png 生成图标
pyinstaller --onefile --noconsole \
  --icon framegrab.ico \
  --version-file version_info.txt \
  framegrab.py

构建 SFX 安装器:

csc /target:winexe /win32icon:framegrab.ico \
  /r:System.IO.Compression.FileSystem.dll \
  /out:sfx.exe sfx.cs
# 然后将 dist/* 打包为 ZIP,拼接 sfx.exe + ZIP

📋 版本历史

版本 日期 更新内容
v3.0 2026-07-22 新图标、SFX 自解压安装器、开始菜单+控制面板集成、双语错误信息、UTF-8 BOM 修复
v2.x 2026-07-22 自动管理员提权、4 位置注册表注册、ProgID 自适应、PyInstaller 无控制台
v1.0 2026-07-22 首帧/尾帧提取、OpenCV + imencode 中文路径支持、右键菜单注册

🏗️ 技术栈

  • Python 3 + OpenCV — 视频解码和帧提取
  • PyInstaller — 打包为独立 .exe(无需安装 Python)
  • C# SFX Stub — 自解压安装器外壳,自动 UAC 提权
  • PowerShell — 注册表操作和系统集成
  • Pillow — 图标生成

👤 作者

MajorSam — AI 影视制作人

📄 许可

MIT License — 详见 LICENSE

About

Right-click any video to export first/last frame as JPG (右键视频导出首帧/末帧为JPG)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages