# 搞笑视频制作经验教训（2026-06-15~2026-06-16更新）

## ⭐ 2026-06-16重大更新：TikTok已验证成功！

| 来源 | 内容类型 | 分辨率 | 9:16? | 搞笑程度 | 可用性 |
|------|----------|--------|-------|----------|--------|
| **TikTok** | **真人搞笑** | **720x1280~1080x1920** | **✅ 原生竖屏** | **⭐⭐⭐⭐⭐** | **✅ yt-dlp直接下，无需cookies** |
| Mixkit fail/prank | 摆拍素材 | 640x360 | ❌ 横屏 | ⭐⭐ | ✅ curl直接下 |
| Dailymotion | 熊猫纪录片 | 848x480 | 部分 | ❌ | ✅ yt-dlp |

**TikTok是目前唯一好用的真人搞笑竖屏视频来源**，下载即用，无需任何格式转换。
找视频：Yahoo Japan搜索 `tiktok funny <关键词>`，从结果页提取 `tiktok.com/@xxx/video/数字` URL。
下载：`yt-dlp --no-check-certificate -o "%(id)s.%(ext)s" "URL"`
**上传到视频号不会暴露TikTok水印**（裁掉即可）。

## 2026-06-16新增：笑声/反应音效生成技术

**张哥否决配音解说**：搞笑视频是「看的不是说出来的」，不要加旁白解说。
**要的是笑声效果**：哈哈哈哈、哎呦我去 等反应音效。

```bash
# 用edge-tts生成笑声（高音调+快速）
edge-tts --voice zh-CN-YunxiNeural --rate +50% --pitch +60Hz \
  --text "哈哈哈哈！我去！" --write-media /tmp/laugh.mp3

# 不同节奏
edge-tts --voice zh-CN-YunxiNeural --rate +40% --pitch +40Hz \
  --text "哎呦哈哈哈哈！" --write-media /tmp/laugh2.mp3

edge-tts --voice zh-CN-YunxiNeural --rate +60% --pitch +80Hz \
  --text "啊哈哈哈哈！" --write-media /tmp/laugh3.mp3

# 视频+笑声混合（adelay控制笑声出现时间）
ffmpeg -y -i video.mp4 -i "$INPUT" -i /tmp/laugh1.mp3 \
  -filter_complex \
  "[1:a]atrim=...volume=0.3[a_orig];\
   [2:a]adelay=2000|2000,volume=3.0[a_h1];\
   [a_orig][a_h1]amix=inputs=2:duration=first[aout]" \
  -map 0:v -map "[aout]" -c:v copy -c:a aac -shortest output.mp4
```

## 视频效果要震撼（2026-06-16张哥强调）
- 视觉效果要炸裂：镜像、调色、分屏、变速、字幕emoji
- 不依赖配音效果，靠画面本身搞笑
- "视频效果也特别震撼呢" — 画面要惊艳

## 核心问题：免费来源找不到真正的9:16竖屏搞笑视频

### 已验证的来源及其问题

| 来源 | 内容类型 | 分辨率 | 9:16? | 搞笑程度 | 可用性 |
|------|----------|--------|-------|----------|--------|
| Mixkit fail/prank | 摆拍素材 | 640x360 | ❌ 横屏 | ⭐⭐ | ✅ curl直接下 |
| Mixkit funny | 摆拍素材 | 640x360 | ❌ 横屏 | ⭐⭐ | ✅ curl直接下 |
| Dailymotion | 熊猫纪录片 | 848x480 | 部分竖屏 | ❌ 不搞笑 | ✅ yt-dlp下 |
| Coverr | 风景/生活 | 640x360 | ❌ 横屏 | ❌ 不搞笑 | ✅ curl直接下 |

### 关键发现

1. **Dailymotion搜索完全不可用** — 不管搜什么关键词，返回结果都是同一批约20个熊猫纪录片视频。
2. **Coverr搜索完全不可用** — 不管搜什么关键词，返回结果都是同一批风景/生活视频。
3. **Mixkit视频全部无声** — ffprobe检查无audio stream，必须后期配音。
4. **9:16是形状比例，不是分辨率** — 9:16指的是竖屏形状（宽:高=9:16），就是手机竖着拿的样子。关键是要让播放器正确识别为竖屏。
5. **张哥要的是真人搞笑视频** — "博主拍的搞笑的"、"拍下来的那种搞笑"，类似抖音/快手内容。

### 视频制作技术要点

#### 9:16竖屏转换
```bash
# ⭐ 关键：9:16是形状比例，不是分辨率数字
# 正确理解：宽:高 = 9:16，即竖屏、窄的、高高的
# 分辨率只是实现方式，1080x1920是其中一种（宽1080，高1920，比例为9:16）

# 加旋转元数据（让播放器正确识别为竖屏）- 必须做，否则播放器默认横屏播放
ffmpeg -y -i input.mp4 -metadata:s:v:0 rotate=90 -c copy output.mp4

# 横屏转竖屏（裁剪中间竖条）- 推荐方法，画面不变形
ffmpeg -y -i input.mp4 -vf "crop=ih:ih:(iw-ih)/2:0,scale=1080:1920" output.mp4

# 横屏转竖屏（加黑边）- 不推荐，画面太小
ffmpeg -y -i input.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=black" output.mp4
```

#### 下载链接必须用zip打包
```bash
# 直接给mp4链接，浏览器会播放而不是下载
# 必须打包成zip，浏览器才会直接下载
python3 -c "
import zipfile
with zipfile.ZipFile('/output.zip', 'w', zipfile.ZIP_DEFLATED) as zf:
    zf.write('/input.mp4', '文件名.mp4')
"
```

#### 多视频合并
```bash
# 创建文件列表
cd /root/news_clips/funny916
for i in $(seq -w 1 25); do echo "file 'funny_${i}.mp4'" >> concat_list.txt; done

# 合并
ffmpeg -y -f concat -safe 0 -i concat_list.txt -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 128k all_in_one.mp4
```

#### 配音
```bash
edge-tts --voice zh-CN-XiaoxiaoNeural --text "哈哈哈，太搞笑了！" --write-media /tmp/audio.mp3
ffmpeg -y -i video.mp4 -i /tmp/audio.mp3 -c:v copy -c:a aac -b:a 128k -shortest output.mp4
```

### Mixkit下载
```bash
curl -sL -L "https://assets.mixkit.co/videos/{ID}/{ID}-360.mp4" -o output.mp4
```

### 张哥视频号策略
- 两个视频号：一个专门发搞笑视频（测试能不能挣钱），另一个发动物+美女+搞笑混合
- 每天需要4-5个搞笑视频产出
- 要"博主拍的搞笑的"、"拍下来的那种搞笑"，不要摆拍素材

### 待解决
- 免费网站没有真正的9:16竖屏真人搞笑视频
- YouTube需要cookies才能下载
- 国内平台从印度服务器访问超时
