Vidu 视频提取与去水印
核心流程
输入 vidu.cn/share 链接 → 浏览器访问页面 → 提取视频URL → 下载视频 → 去除水印 → 保存无水印视频
重要说明
Vidu 的水印策略:
- 所有用户(包括登录的创作者本人)下载的都是带水印版本(watermarked.mp4)
- 无水印导出是付费会员功能,需要开通 Vidu 付费会员后在作品页面选择"无损源文件(Pro)"导出
- Vidu 服务端不存在无水印源文件可以解析提取(第三方"去水印工具/小程序"对Vidu无效)
- 不开通会员的情况下,唯一方式是视频后处理去水印(inpainting/图像修复)
步骤详解
Step 1: 提取视频URL
使用 browser 技能访问分享页面,通过 performance.getEntriesByType('resource') 获取视频直链。
关键JS代码(通过 execute_script 执行):
(function() {
const entries = performance.getEntriesByType('resource');
const videoUrls = entries
.filter(e => e.name.includes('watermarked.mp4'))
.map(e => e.name);
// 将结果设置到 document.title 以便读取
document.title = JSON.stringify(videoUrls);
return document.title;
})()
要点:
- 页面需要先完全加载(等待3-5秒),可先尝试点击播放按钮触发视频加载
- 视频URL格式:https://files.vidu.cn/infer/tasks/{date}/{task_id}/creation-{n}/watermarked.mp4?{CloudFront签名参数}
- Vidu使用AWS CloudFront签名URL,有效期约7天
Step 2: 下载视频
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Referer": "https://www.vidu.cn/",
}
r = requests.get(video_url, headers=headers, stream=True, timeout=60)
with open(output_path, "wb") as f:
for chunk in r.iter_content(chunk_size=1024*100):
if chunk:
f.write(chunk)
Step 3: 检测水印位置
Vidu水印特征:
- 位置:视频右下角,固定比例位置(约 x: 83%-98%, y: 92%-96%)
- 内容:"Vidu AI 生成"
- 样式:半透明白色/浅灰色文字,轻微立体阴影效果
- 尺寸:约为视频宽度的8%,高度的4%
自动检测方法(使用 scripts/detect_watermark.py):
# 检测多帧取中值,找到帧间稳定的文字区域
Step 4: 去除水印
使用 scripts/remove_watermark.py 执行视频去水印:
python scripts/remove_watermark.py input.mp4 output.mp4
支持三种去水印模式:
1. inpaint(默认):基于周围像素的图像修复,适合简单/渐变背景(推荐,效果最好)
2. blur:高斯模糊覆盖,适合复杂/纹理背景
3. crop:裁剪水印区域后缩放,会改变视频比例(不推荐)
脚本说明
| 脚本 | 功能 | 用法 |
|---|---|---|
scripts/detect_watermark.py |
自动检测水印位置 | python detect_watermark.py video.mp4 |
scripts/remove_watermark.py |
去除水印并输出新视频 | python remove_watermark.py input.mp4 output.mp4 [--mode inpaint\|blur\|crop] [--x X1,X2] [--y Y1,Y2] |
Vidu无水印下载方案
| 方案 | 说明 | 推荐度 |
|---|---|---|
| 开通Vidu付费会员 | 在作品页选择"无损源文件(Pro)"导出,官方无水印 | 最推荐(正版) |
| 本脚本inpaint去水印 | 视频后处理修复,效果自然,免费 | 推荐(免费方案) |
| 第三方去水印工具 | 对Vidu无效(服务端无无水印源文件) | 不推荐 |
Vidu分享页面技术细节
详细参考见 references/vidu-tech-details.md,包括:
- 页面渲染机制(Next.js RSC + 腾讯验证码)
- API端点与签名URL结构
- 视频数据在RSC payload中的位置