Skip to content
phoenixdnaPublic

About

视频号成片工作台:字幕烧录 / 封面生成 / 片尾拼接 / 去水印,浏览器操作的本地批量视频后期工具

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vidkit · 视频号成片工作台

给已剪好的竖屏短视频做最后一公里:加字幕、做封面、接片尾、去水印,然后一次性批量导出。 全程在浏览器里操作,本地跑,不上传任何素材。

针对微信视频号的竖屏(720×1280)场景做了适配,但对任何分辨率的视频都能用。

能做什么

步骤 说明 可选
选视频 扫描指定目录,缩略图网格多选 必需
去水印 自动识别角落固定水印并消除,可拖框微调 ✅
字幕 FunASR 中文识别 → 网页逐句校对 → 烧进画面 ✅
封面 取任意帧 + 醒目标题,可拖拽定位,接到片头当首帧 ✅
片尾 上传 logo 视频接在正片后 ✅
导出 执行前汇总,批量输出 必需

中间四步都能跳过,各自带独立开关,互不依赖。

几个设计要点

  • 字幕预览是真帧:用 libass 实际渲染一帧,与最终烧录同一引擎,不存在"预览看着行、导出偏了"。
  • 字幕必须烧进画面:视频号不支持外挂字幕。默认底边距 190px 避开底部按钮遮挡,预览里有安全区标线。
  • 封面接进视频:作为第一帧停留 1 秒,上传时选「首帧」即为封面,不用另传图。
  • 去水印也作用于封面:封面取自视频帧,不处理的话封面上会残留水印。
  • 拼接自动对齐:片头/片尾与正片分辨率、帧率不同会自动缩放补边,无声片段补等长静音,避免音画错位。
  • 样式全局统一:所有样式参数存 cache/_style.json,改一次对全部视频生效。

安装

需要先装好 ffmpeg(要求带 libass、libfreetype,Windows 推荐 gyan.dev 的 full build)并加入 PATH:

ffmpeg -version          # 确认可用
pip install -r requirements.txt

字体:默认用微软雅黑 / 黑体(Windows 自带)。其他系统需修改 server.py 里的 FONTS。

运行

python server.py         # 然后打开 http://127.0.0.1:8731

Windows 可直接双击 启动.bat。

默认扫描上级目录的视频,可用环境变量指定:

VIDKIT_MEDIA=/path/to/videos python server.py

首次做字幕识别时会自动下载 FunASR 模型(paraformer-zh + fsmn-vad + ct-punc,约 1GB),之后本地缓存。

输出

导出到 output/:

  • 原名_成品.mp4 — 封面片头 + 正片(字幕已烧录、水印已去除)+ 片尾
  • 原名_封面.jpg — 单独的封面图

小技巧

  • 封面标题里用 [方括号] 包住的词会渲染成高亮色:普通人翻身只有这[三条路]
  • 标题支持回车强制换行,也会按字数自动断行
  • 「水平居中」勾上时标题只能上下拖,批量做封面时左右严格对齐
  • 字幕表格里点任意一句,即可预览那一句的实际效果

说明

  • 去水印基于 ffmpeg delogo(用框周围像素插值填补),只对位置固定的水印有效,滚动水印不行。背景越复杂,残留的插值痕迹越明显,把框调小贴紧水印会好一些。
  • 若去除的是 AI 生成标识,按《人工智能生成合成内容标识办法》(2025-09 施行)相关要求,发布时应通过平台的「内容由 AI 生成」声明等方式保留标识。

技术栈

FastAPI + 原生 JS 单页(无构建步骤) / ffmpeg + libass / FunASR / Pillow / OpenCV

About

视频号成片工作台:字幕烧录 / 封面生成 / 片尾拼接 / 去水印,浏览器操作的本地批量视频后期工具

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages