# 新闻视频制作流程（2026-06-08 验证）

## 需求背景
张哥要求：搜集全世界2小时内的新闻，剪辑成视频发给他。
关键要求：**搬运现成的视频素材，不要自己做画面**。

## 现实限制
- **YouTube 需要登录**：yt-dlp 从服务器下载 YouTube 视频全部报 "Sign in to confirm you're not a bot"
- **其他视频网站也被墙**：Dailymotion 403、Vimeo 404、Bilibili 412
- **服务器无 GPU**：无法运行 ComfyUI/Stable Diffusion 生成 AI 图片
- **结论：无法下载现成新闻视频片段**

## 退而求其次的方案：自制新闻视频

### 数据源
**百度热搜 API**（服务器可直接访问）：
```bash
curl "https://top.baidu.com/api/board?platform=wise&tab=realtime"
```
返回 JSON，包含实时热搜标题和描述。

### 制作流程
1. curl 百度热搜 API 获取新闻
2. Python 解析 JSON，筛选有价值的新闻
3. 编写新闻稿脚本
4. edge-tts 生成中文配音（zh-CN-XiaoxiaoNeural）
5. 用 PIL 生成中文文字图片帧
6. ffmpeg 合成视频

### 中文字体
服务器默认没有中文字体，必须先安装：
```bash
apt-get install -y fonts-wqy-zenhei fonts-noto-cjk
```
字体路径：`/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc`

### PIL 生成帧 + ffmpeg 合成
```python
from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype('/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc', 52)
img = Image.new('RGB', (1280, 720), (10, 10, 40))
draw = ImageDraw.Draw(img)
draw.text((x, y), "中文标题", fill=(255,255,255), font=font)
img.save(f'/tmp/frames/frame_{i:06d}.png')
```

然后用 ffmpeg 合成：
```bash
ffmpeg -framerate 25 -i /tmp/frames/frame_%06d.png -c:v libx264 -preset ultrafast -crf 28 -pix_fmt yuv420p output.mp4
```

### 性能注意事项
- 2200 帧（88秒）生成约需 56 秒
- 帧数太多会超时（300s 限制），控制在 2500 帧以内
- 使用 `-preset ultrafast -crf 28` 加速编码

### 张哥的反馈
- 第一版（纯色背景+英文）："不行"
- 第二版（渐变背景+中文）：能看了，但"没有真实新闻画面"
- **核心问题：没有真实视频素材，只有文字+背景**

## 未来改进方向
1. 解决 YouTube 登录问题（需要张哥提供 cookies）
2. 找到不需要登录的新闻视频源
3. 用 AI 生成新闻配图（需要 GPU 或在线 API）
