[ PROMPT_NODE_24344 ]
Stream 常见陷阱
[ SKILL_DOCUMENTATION ]
# Stream 常见问题
## 常见错误
### "ERR_NON_VIDEO"
**原因:** 上传的文件不是有效的视频格式
**解决方案:** 确保文件格式受支持(MP4, MKV, MOV, AVI, FLV, MPEG-2 TS/PS, MXF, LXF, GXF, 3GP, WebM, MPG, QuickTime)
### "ERR_DURATION_EXCEED_CONSTRAINT"
**原因:** 视频时长超过了 `maxDurationSeconds` 限制
**解决方案:** 在直接上传配置中增加 `maxDurationSeconds` 或在上传前裁剪视频
### "ERR_FETCH_ORIGIN_ERROR"
**原因:** 从 URL 下载视频失败(从 URL 上传)
**解决方案:** 确保 URL 可公开访问,使用 HTTPS,且视频文件可用
### "ERR_MALFORMED_VIDEO"
**原因:** 视频文件损坏或编码不当
**解决方案:** 使用 FFmpeg 重新编码视频或检查源文件完整性
### "ERR_DURATION_TOO_SHORT"
**原因:** 视频时长必须至少为 0.1 秒
**解决方案:** 确保视频具有有效时长(而非单帧图像)
## 故障排除
### 视频卡在 "inprogress" 状态
- **原因**:正在处理大型/复杂视频
- **解决方案**:等待最多 5 分钟进行处理;使用 Webhook 而非轮询
### 签名 URL 返回 403
- **原因**:令牌过期或签名无效
- **解决方案**:检查过期时间戳,验证 JWK 是否正确,确保时钟同步
### 直播流无法连接
- **原因**:RTMPS URL 或流密钥无效
- **解决方案**:使用 API 提供的精确 URL/密钥,确保防火墙允许出站 443 端口
### Webhook 签名验证失败
- **原因**:密钥不正确或时间戳窗口偏差
- **解决方案**:使用 Webhook 设置中的精确密钥,允许 5 分钟的时间戳漂移
### 视频已上传但不可见
- **原因**:启用了 `requireSignedURLs` 但未提供令牌
- **解决方案**:生成签名令牌或将公共视频的 `requireSignedURLs` 设置为 `false`
### 播放器显示无限加载
- **原因**:`allowedOrigins` 存在 CORS 问题
- **解决方案**:将您的域名添加到 `allowedOrigins` 数组中
## 限制
| 资源 | 限制 |
|----------|-------|
| 最大文件大小 | 30 GB |
| 最大帧率 | 60 fps (推荐) |
| 每次直接上传的最大时长 | 可通过 `maxDurationSeconds` 配置 |
| 令牌生成 (API 端点) | 建议 1,000/天 (更高需求请使用签名密钥) |
| 直播输入输出 (多路广播) | 每个直播输入 5 个 |
| Webhook 重试次数 | 5 次 (指数退避) |
| Webhook 超时 | 30 秒 |
| 字幕文件大小 | 5 MB |
| 水印图片大小 | 2 MB |
| 每个视频的元数据键 | 无限制 |
| 每页搜索结果 |