# 新闻视频真实画面获取工作流

## 核心原则
- 新闻视频必须用真实比赛/现场画面
- 绝对不要用 Mixkit/Coverr 等通用素材库
- "不考虑版权，版权我来考虑" — 张哥

## 获取比赛录像的途径

### 途径一：腾讯视频 v.qq.com ✅（强烈推荐）

**2026-06-13验证成功，下载美国vs巴拉圭(4-1)世界杯集锦**

搜索策略：
1. Yahoo Japan搜索 `"中国球队名" "VS" "对手" "集锦" "视频"`
2. 在结果中找 v.qq.com 链接（格式：`https://v.qq.com/x/cover/xxx/xxx.html`）
3. 用yt-dlp直接下载

```bash
yt-dlp "https://v.qq.com/x/cover/xxx/xxx.html" -o "/tmp/match_video.mp4"
```

- 无需登录，无需cookies
- 下载速度 ~1MB/s
- 视频编码：HEVC (H.265)，1280x716，25fps
- 文件大小：约30MB/3.5分钟
- 视频来源：央视/腾讯体育转播

### 途径二：CCTV官网

搜索Yahoo Japan找 worldcup.cctv.com 上的比赛页面

1. 访问比赛页面获取GUID（从HTML中正则提取）
2. 调用API获取视频信息：
   ```
   https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={GUID}
   ```
3. API返回HLS URL和manifest
4. **注意**：CDN有WSSEA反盗链保护，直接下载会被403拦截
5. Token在浏览器JS中生成，无法从服务器端获取

### 途径三：新闻网站

从NBC News, USA Today, BBC Sport, FOX Sports等下载比赛报道视频。

注意：CNN/FOX/BBC等site的详情页curl可能超时或被Cloudflare拦截，需要转圈尝试。

### 途径四：Getty Images真实比赛照片（最后手段）

当以上所有途径都失败时，使用Getty Images的真实比赛照片做slideshow。

```bash
# 搜索Getty Images
curl -s "https://www.gettyimages.com/photos/usa-paraguay-world-cup-2026" -H "User-Agent: ..." 

# 下载照片URL
curl -o /tmp/photo1.jpg "https://media.gettyimages.com/..."

# 用ffmpeg转成视频
ffmpeg -loop 1 -i /tmp/photo1.jpg -c:v libx264 -t 5 -pix_fmt yuv420p -vf "scale=1280:720" /tmp/clip1.mp4
```

注意：不要用pad滤镜，用简单的scale即可。

## 比赛集锦视频制作流程

### 前置步骤：先写文案给张哥确认
- **2026-06-13教训**：张哥说"先把文案写好给我看看"——必须先写新闻稿文案给他看，他确认后再做配音
- 文案要包括：比赛基本信息 + 每个进球描述 + 最终比分 + 结束语
- 不要直接做配音，张哥要看文字版确认风格

### 视频编辑步骤

1. **下载比赛录像**（优先途径一：v.qq.com）
   ```bash
   yt-dlp "https://v.qq.com/x/cover/xxx/xxx.html" -o "/tmp/match_video.mp4"
   ```
   - v.qq.com的yt-dlp提取器自动处理，无需额外参数
   - 速度约1MB/s，30MB/3.5分钟
   - 文件格式：HEVC(H.265) 1280x716 25fps

2. **分析视频结构**，找到进球时间点
   ```bash
   # 场景检测找到关键切换点
   ffmpeg -i /tmp/match_video.mp4 -filter:v "select='gt(scene,0.25)',showinfo" -f null - 2>&1 | grep "pts_time" | sed 's/.*pts_time://' | sed 's/ .*//' | sort -n | uniq
   ```
   通常场景切换点对应：开场→第1球→庆祝→第2球→庆祝→对手进球→...→结束

3. **裁剪掉平台水印/Logo**
   - 腾讯视频(v.qq.com)下载的视频带有"Tencent Video" logo水印
   - **张哥明确要求：不能出现腾讯logo**
   - 用ffmpeg裁剪掉顶部水印区域：
   ```bash
   ffmpeg -i input.mp4 -vf "crop=in_w:in_h-40:0:20" -c:a copy output.mp4
   ```
   （具体裁剪参数因视频分辨率而异，先检查水印位置再裁剪）

4. **只提取进球片段**（不要用整个集锦）
   - 张哥要求只截取每个进球的片段，不是整个3分钟集锦
   - 每个进球片段约10-15秒，共5个进球（4:1比赛）
   - 中间穿插球员庆祝+球迷欢呼镜头
   - 用ffmpeg精确截取：
   ```bash
   ffmpeg -ss [start_time] -i input.mp4 -t [duration] -c copy clip_N.mp4
   ```

5. **写新闻稿文案** → 先给张哥看 → 确认后再配音
   - 文案结构：开场白 → 逐球解说（比分变化）→ 最终结果 → 结束语
   - 每个进球都要提到：进球球员、比分变化、大致时间

6. **用edge-tts生成中文解说配音**
   ```bash
   edge-tts --voice zh-CN-YunxiNeural --rate=+10% -f /tmp/script.txt --write-media /tmp/commentary.mp3
   ```
   - 推荐语音：zh-CN-YunxiNeural（男声，适合体育解说）
   - 语速+10%让解说更紧凑
   - 解说时长通常60-110秒，需要用apad填充或配合背景音

7. **替换/混合音频**
   - **张哥要求：把原声换成你自己的声音**，不能和原版一模一样
   - 方法：原视频声音降到10%，TTS解说叠加在上面
   ```bash
   ffmpeg -y -i match_video.mp4 -i commentary.mp3 \
     -filter_complex "[0:a]volume=0.1[a1];[1:a]adelay=2000|2000[a2];[a1][a2]amix=inputs=2:duration=first[out]" \
     -map 0:v -map "[out]" -c:v copy -c:a aac -b:a 128k output.mp4
   ```
   - adelay=2000让解说在视频开始后2秒开始（避免和开头音乐重叠）
   - 原声10%保留作为背景环境音（球场氛围）

8. **加上文字字幕**（进球时间、比分、进球球员）
   - 使用ffmpeg drawtext滤镜
   - 字幕在视频底部，白色字体+黑色描边
   - 格式示例："15' ⚽ 美国 1-0 巴拉圭 — 巴洛贡"

9. **检查视频质量**后再发给张哥
   - 确认文件大小合理
   - 确认音频同步
   - 确认水印已裁剪

10. **输出到web服务器**
    ```bash
    cp /tmp/output.mp4 /tmp/tech_video.mp4
    ```
    用户通过 http://157.173.212.215:8080/tech_video.mp4 查看
    **注意**：张哥浏览器可能有缓存，需要提醒他刷新或清除缓存
