Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GB/BB 视频转动态图

将纯色背景的 GB/BB 视频素材批量转换为动态图片(GIF / WEBP / APNG),支持逐视频微调色度抠图参数、实时预览抠图效果、缩放输出与 RGBA 透明通道输出。

功能

  • 批量转换:一次添加多个视频,逐个转换并显示进度,可随时停止
  • 色度抠图:把与背景色相近的像素变为透明;参数(背景色 / 容差 / 羽化 / 去边)可逐视频微调。「去边」将画面最外 N 像素渐变透明,用于去除边缘残留(如绿幕素材顶部的绿缝)
  • 逐帧预览与播放:拖动进度条逐帧查看,支持播放/暂停、上一帧/下一帧
  • 剪辑:在进度条上拖拽起止针(clip_begin / clip_end)裁剪输入视频范围
  • 实时预览:预览画面以棋盘格表示透明区域,可直接点击画面取样背景色
  • 多种输出格式:GIF / WEBP / APNG
  • RGBA 输出:WEBP / APNG 下可保留透明通道;关闭时自动合成到指定填充色
  • 缩放输出:保持原尺寸 / 按百分比 / 指定宽度
  • 帧率控制:保持原帧率,或设置最大帧率(maxfps)自动抽帧输出

下载

Github Releases: 下载链接

Release里面有打包好的exe,直接运行即可,不需要python环境。

安装

请确保已安装 Python 3.10.6及以上的版本,然后执行以下命令安装依赖:

pip install -r requirements.txt

运行

python main.py

使用说明

  1. 点击「添加视频」选择素材(支持 mp4 / avi / mov / mkv / webm 等常见格式)
  2. 选中左侧列表中的视频行,右侧自动加载预览
  3. 用进度条下方的「播放 / 回退(跳到剪辑起点)/ 上一帧 / 下一帧」逐帧查看;进度条下方有帧刻度,右侧显示原始帧数与 fps,方便换算成秒;拖动进度条两端的剪辑针可裁剪输出范围
  4. 在「抠图参数」面板调整背景色(点击预览画面取样、或点按钮打开取色器)、容差、羽化,实时查看抠图效果
  5. 在底部「输出设置」选择格式、缩放、RGBA 透明、帧率(原帧率或最大帧率 maxfps)、循环次数与输出目录
  6. 点击「开始转换」批量导出;「停止」可中断当前任务

输出说明

  • GIF:只支持 1 位透明度(完全透明 / 完全不透明),半透明像素会被二值化;颜色量化到 256 色
  • WEBP / APNG:支持完整 RGBA 半透明;未勾选「保留透明通道」时会把透明区域合成到填充色
  • APNG 输出文件扩展名为 .png
  • 输出目录留空时,文件生成在各自源视频所在目录
  • 源目录不可写时(如视频位于 Program Files 等受保护目录),程序会自动把输出改到可写的专用目录(桌面/视频/图片下的 GB2动图输出),并弹出提示

项目结构

main.py                 # 入口
app/
  config.py             # 数据类与默认参数
  matting.py            # 色度抠图算法(numpy)
  video.py              # 视频读取封装(OpenCV)
  encoder.py            # GIF/WEBP/APNG 编码(Pillow)
  pipeline.py           # 单视频转换流程
  worker.py             # 批量转换工作线程(QThread)
  preview.py            # 预览控件(棋盘格 + 取样)
  main_window.py        # 主窗口

已知限制

  • 素材需为纯色背景(色度抠图原理),复杂背景请使用绿幕或自行预处理
  • 长视频 + 高分辨率 + 全帧率会占用较多内存;可使用「抽帧」降低帧数与体积
  • OpenCV 对部分 webm/vp9 封装支持不佳,若打不开请转码为 mp4

About

将纯色背景的 GB/BB 视频素材批量转换为动态图片(GIF / WEBP / APNG),支持逐视频微调色度抠图参数、实时预览抠图效果、缩放输出与 RGBA 透明通道输出。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages