No description
  • JavaScript 83.7%
  • CSS 15%
  • HTML 1.3%
Find a file
2026-09-17 23:45:15 +08:00
public feat: update watermark image and page titles 2026-09-17 18:00:19 +08:00
scripts fix: bypass 25MB cloudflare limit by loading WASM exclusively via CDN 2026-09-17 17:48:50 +08:00
src style: update engine selection hints to match user requested concise wording 2026-09-17 23:45:15 +08:00
.gitignore init: video watermark tool 2026-09-17 17:34:23 +08:00
index.html feat: update watermark image and page titles 2026-09-17 18:00:19 +08:00
package-lock.json feat: integrate WebAV for GPU hardware accelerated video processing 2026-09-17 22:29:57 +08:00
package.json feat: integrate WebAV for GPU hardware accelerated video processing 2026-09-17 22:29:57 +08:00
README.md init: video watermark tool 2026-09-17 17:34:23 +08:00
vite.config.js init: video watermark tool 2026-09-17 17:34:23 +08:00
wrangler.toml chore: migrate to new cloudflare assets syntax 2026-09-17 17:46:04 +08:00

视频样片水印工具(Cloudflare Pages)

纯前端网页应用。视频不会上传服务器,FFmpeg 在浏览器中本地运行。Cloudflare Pages 只托管静态文件。

支持 多线程加速(需要浏览器支持 SharedArrayBuffer),不支持时自动回退单线程。

项目结构

logoadder/
├── index.html              # 入口 HTML
├── src/
│   ├── main.js             # 应用逻辑(单文件)
│   └── style.css           # 样式
├── public/
│   ├── _headers            # Cloudflare Pages HTTP 头(COOP/COEP)
│   └── watermark.png       # 水印图片(替换这个文件即可换水印)
├── scripts/
│   └── copy-ffmpeg-core.mjs # 构建前复制 FFmpeg 核心文件
├── vite.config.js          # Vite 配置
├── wrangler.toml           # Cloudflare Pages 配置
└── package.json

public/ffmpeg/、public/ffmpeg-mt/、public/ffmpeg-worker/、src/ffmpeg-worker/ 都是 npm run prebuild 从 node_modules 自动生成的,已在 .gitignore 中排除,不需要手动管理。

本地运行

需要 Node.js 18+:

npm install
npm run dev

部署到 Cloudflare Pages

方式一:GitHub 自动部署(推荐)

  1. 把项目推送到 GitHub 仓库
  2. 登录 Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git
  3. 选择仓库,填写构建配置:
设置项 值
Framework preset Vite
Build command npm run build
Build output directory dist
  1. 点击 Save and Deploy,等待构建完成即可

之后每次 push 到 GitHub,Cloudflare 会自动重新构建部署。

方式二:Wrangler 命令行手动部署

npm install
npm run build
npx wrangler pages deploy dist --project-name video-watermark-tool

首次运行 wrangler 会弹出浏览器要求登录 Cloudflare 账号。

换水印

替换 public/watermark.png 文件,重新构建部署即可。水印会被自动拉伸到视频的完整分辨率。

限制

  • 大视频需要较多内存,处理速度取决于本机 CPU
  • 输出统一为 MP4 格式
  • 首次使用需加载约 30MB 的 FFmpeg WASM 文件(浏览器会缓存)
  • 多线程需要 COOP/COEP 头支持(已在 _headers 中配置)