336 lines
13 KiB
Markdown
336 lines
13 KiB
Markdown
# 视频平台开放API接入方案备忘录
|
||
|
||
> 最后更新:2026-05-08 | 用途:U-Desk 生态链接 — 视频模块可行性评估
|
||
|
||
---
|
||
|
||
## 一、平台总览对比
|
||
|
||
| 维度 | 哔哩哔哩 | **抖音开放平台** | 腾讯视频 | 爱奇艺 | 优酷 | YouTube IFrame |
|
||
|------|---------|------------|---------|--------|------|----------------|
|
||
| **官网** | [developer.bilibili.com](https://developer.bilibili.com/) | [open.douyin.com](https://open.douyin.com/) | [open.tencent.com](https://open.tencent.com/) | 开放程度有限 | 开放程度有限 | [developers.google.com/youtube](https://developers.google.com/youtube) |
|
||
| **官方开放平台** | ✅ 有 | ✅ **有(完善)** | ✅ 有 | ⚠️ 有限 | ⚠️ 有限 | ✅ IFrame API |
|
||
| **核心能力** | 搜索/播放/弹幕/投屏 | **分享/授权/小程序/支付/数据** | 播放SDK | 嵌入播放 | 嵌入播放 | 嵌入播放/数据API |
|
||
| **费用** | 需申请确认 | **免费** | 商务合作 | 不明 | 不明 | 免费 |
|
||
| **Windows桌面适配** | 待确认(官网500) | **SDK / H5** | SDK/H5 | H5嵌入 | H5嵌入 | WebView2完美 |
|
||
| **中文内容** | 极全 | **极全(日活8亿+)** | 极全 | 全 | 全 | 中等 |
|
||
| **推荐评级** | ⭐⭐⭐ 待确认 | **⭐⭐⭐ 国内首选** | ⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐⭐ 技术可行 |
|
||
|
||
---
|
||
|
||
## 二、抖音开放平台(国内首选 ⭐⭐⭐)
|
||
|
||
### 基本信息
|
||
- **官网**:https://open.douyin.com/
|
||
- **归属**:字节跳动 / 抖音
|
||
- **资质**:增值电信业务经营许可证 川B2-20220549
|
||
- **客服电话**:400-140-2108
|
||
- **状态**:**活跃维护中(2026年3月仍有更新日志)**
|
||
|
||
### 开放形态(5种载体)
|
||
| 载体 | 说明 | U-Desk 适配 |
|
||
|------|------|-------------|
|
||
| **抖音开放能力 SDK** | 分享/授权/投稿/名片/数据能力 | ✅ **核心接入方式** |
|
||
| **抖音小程序** | 在抖音内运行的小程序 | 可选(需抖音内分发) |
|
||
| **抖音小游戏** | 游戏类小程序 | 不适用 |
|
||
| **直播小玩法** | 直播互动工具 | 不适用 |
|
||
| **网站应用** | H5 网页应用 | 备选 |
|
||
|
||
### 核心能力(SDK 详细)
|
||
|
||
#### 分享能力
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| **分享到私信** | 从第三方 App 指定链接分享至抖音 IM(含私聊/群聊),生成消息卡片 |
|
||
| **分享到朋友日常** | 转发非本人创作内容至"朋友"Tab 社交分发 |
|
||
| **投稿到抖音** | 从第三方 App 直接发布视频到抖音 |
|
||
|
||
#### 授权与身份
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| **抖音授权** | OAuth 式用户授权登录 |
|
||
| **抖音名片** | 展示用户在抖音的身份信息 |
|
||
|
||
#### 数据能力
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| **数据 API** | 获取分享数据、播放量等统计 |
|
||
| **搜索服务直达** | 从抖音搜索直达第三方服务 |
|
||
|
||
### 行业解决方案
|
||
| 方向 | 核心能力 |
|
||
|------|---------|
|
||
| **通用行业** | 搜索直达 / 短视频达人推广 / 短视频挂载 / 直播挂载 |
|
||
| **生活服务** | 餐饮团购 / 酒店景区 / 到综服务(线上购买+线下履约) |
|
||
| **交易能力** | 线上支付 / 结算分账 |
|
||
|
||
### 接入流程
|
||
```
|
||
01 注册/入驻 → 02 选择业务生态 → 03 开发调试 → 04 经营业务
|
||
```
|
||
|
||
### 费用模式
|
||
- **免费接入**(基础 SDK 能力)
|
||
- 交易场景涉及支付结算时按规则分成
|
||
- 无月费/年费
|
||
|
||
### U-Desk 集成方案
|
||
```
|
||
U-Desk + 抖音 SDK
|
||
├── 视频分享 → 选中视频文件 → 一键分享到抖音
|
||
├── 投稿发布 → 编辑好的视频 → 直接发布到抖音
|
||
├── 用户授权 → OAuth 登录(可选,用于同步抖音身份)
|
||
└── 数据回流 → 抖音播放/互动数据回传 U-Desk 统计
|
||
```
|
||
|
||
### 为什么是"国内首选"
|
||
1. **日活 8 亿+** — 国内最大短视频平台,远超 B站
|
||
2. **完善的开放平台** — 官网活跃、文档齐全、SDK 成熟
|
||
3. **免费接入** — 无门槛,个人开发者友好
|
||
4. **Windows 桌面支持** — SDK 支持 H5/网站应用形态
|
||
5. **生态完整** — 分享/投稿/授权/支付/数据全链路
|
||
6. **与文件管理器天然契合** — 视频文件管理 → 分享/投稿一键触达
|
||
|
||
### 与 YouTube IFrame 的分工
|
||
| 场景 | 选抖音 | 选 YouTube |
|
||
|------|--------|-----------|
|
||
| 分享视频到社交平台 | ✅ 抖音(国内8亿用户) | ❌ |
|
||
| 发布/投稿视频 | ✅ 抖音(直接发布) | ❌ |
|
||
| 在 U-Desk 内播放视频 | ❌ | ✅ YouTube(IFrame 嵌入) |
|
||
| 国际内容消费 | ❌ | ✅ YouTube |
|
||
| 搜索国际视频元数据 | ❌ | ✅ YouTube Data API |
|
||
|
||
---
|
||
|
||
## 三、哔哩哔哩开放平台(⚠️ 已确认不可用)
|
||
|
||
### 基本信息
|
||
- **官网**:https://developer.bilibili.com/
|
||
- **状态**:**❌ 持续不可达**(2026-05-08 多次验证:connection refused)
|
||
- **法律状态**:**⚠️ 非官方 API 文档已被律师函强制关停**(见下方证据)
|
||
|
||
### ⚠️ 法律风险升级(2026-05-08 核实)
|
||
> **B站最大 GitHub API 文档仓库 `SocialSisterYi/bilibili-API-collect` 已于 2026-01-28 收到 B 委托律师事务所发律师函警告邮件,维护者随即停止维护并删除相关文档及源代码。**
|
||
|
||
这意味着:
|
||
- 文档中此前列出的"已知能力"(搜索API/视频播放/弹幕/用户信息/投屏/数据统计等)**全部来自已被法律关停的非官方逆向工程**
|
||
- **无法作为合法接入依据**
|
||
- 使用此类 API 的商用产品面临法律风险
|
||
|
||
### 可行方案(仅限轻量场景)
|
||
| 方案 | 可行性 | 风险 |
|
||
|------|--------|------|
|
||
| iframe 嵌入 B站视频播放页 | ✅ 技术可行 | 低(官方分享嵌入通常允许) |
|
||
| 非官方 API(自部署 NeteaseCloudMusicApi) | ✅ 技术可行 | **高(法律风险,已发生律师函先例)** |
|
||
| 官方 OpenAPI | ❌ | 平台不可达 + 无公开文档 |
|
||
|
||
### 最终评估
|
||
- **作为 API 数据源**:❌ **不可用**(平台不可达 + 非官方文档已关停)
|
||
- **作为 iframe 嵌入**:⭐ 可行但功能有限(仅播放,无搜索/推荐/个性化)
|
||
- **推荐评级从 "待确认" 降为 D(不可用)**
|
||
- **搜索API**:搜视频/番剧/影视/直播/用户
|
||
- **视频播放**:支持嵌入播放器(iframe)
|
||
- **弹幕系统**:发送/获取弹幕
|
||
- **用户信息**:关注/粉丝/动态
|
||
- **投屏协议**:DLNA/Cast
|
||
- **数据统计**:播放量/点赞/投币/收藏
|
||
|
||
### 接入方式(推测)
|
||
| 方式 | 说明 |
|
||
|------|------|
|
||
| iframe 嵌入 | 最简单,直接嵌入视频播放页 |
|
||
| OpenAPI | RESTful 接口,需申请 AppKey |
|
||
| SDK | 可能有桌面端 SDK(待确认) |
|
||
|
||
### U-Desk 适配路径
|
||
1. **轻量方案**:WebView2 iframe 嵌入 B站视频 → 最快实现
|
||
2. **深度方案**:对接 OpenAPI → 搜索+自定义播放器UI
|
||
|
||
### 费用
|
||
- 个人开发者通常有免费额度
|
||
- 商用需联系商务
|
||
|
||
### 下一步
|
||
- 等 B站开发者平台恢复后查看完整文档
|
||
- 备选:直接使用 iframe 嵌入方案(无需API)
|
||
|
||
---
|
||
|
||
## 四、腾讯视频开放平台(⚠️ 需区分两条路径)
|
||
|
||
### 基本信息
|
||
- **C端产品**:https://v.qq.com/ (腾讯视频消费者端)
|
||
- **B端云服务**:https://cloud.tencent.com/product/vod (腾讯云点播 VOD)
|
||
- **开放平台**:https://open.tencent.com/ (存在,主要覆盖应用宝/微信/QQ)
|
||
|
||
### ⚠️ 关键区分(2026-05-08 核实)
|
||
|
||
| 路径 | 说明 | U-Desk 适配 |
|
||
|------|------|-------------|
|
||
| **A. 腾讯云点播 VOD** | B端云服务:上传/管理/播放**自己的视频内容** | 如果 U-Desk 要做"用户上传视频→云端转码→分发播放",可用此 API |
|
||
| **B. 腾讯视频内容接入** | 在 U-Desk 中嵌入播放腾讯视频的**自有内容** | ❌ **无官方 API**。v.qq.com 无开发者页面(返回404) |
|
||
|
||
### 腾讯云 VOD 能力(路径 A,如需要)
|
||
- 完整的媒资上传/转码/处理/分发 API
|
||
- 控制台 + SDK(但主要是移动端/服务器端)
|
||
- 计费:按存储量 + 转码时长 + CDN 流量
|
||
|
||
### 结论
|
||
- 文档此前写的"可能通过腾讯云点播 VOD"是**方向正确但场景需澄清**
|
||
- **如果目标是"在 U-Desk 里看腾讯视频"**:只能 H5 嵌入(无官方 API)
|
||
- **如果目标是"U-Desk 做视频托管平台"**:腾讯云 VOD 有完善 API 可用
|
||
- 对 U-Desk 当前定位(文件管理器 + 生态入口),**腾讯视频价值有限**,优先级低于抖音和 YouTube
|
||
|
||
---
|
||
|
||
## 五、爱奇艺 / 优酷
|
||
|
||
### 共同特点
|
||
- 开放程度有限,主要以 **H5 嵌入** 或 **合作接入** 为主
|
||
- 无完善的公开开发者 API 文档
|
||
- 更倾向于大客户商务合作模式
|
||
|
||
### 可行方案
|
||
- **iframe 嵌入**:直接在 WebView2 中加载视频页面
|
||
- 作为"快捷链接"功能而非深度集成
|
||
- 合规风险较低(官方提供的分享嵌入代码)
|
||
|
||
---
|
||
|
||
## 六、YouTube IFrame API(国际内容补充)
|
||
|
||
### 基本信息
|
||
- **文档**:https://developers.google.com/youtube/iframe_api_reference
|
||
- **Player API**:完整的播放控制 JavaScript API
|
||
- **Data API v3**:搜索/获取视频元数据(需要 API Key)
|
||
|
||
### 核心能力
|
||
```javascript
|
||
// IFrame API 示例 — 完美兼容 Wails WebView2
|
||
var player;
|
||
function onYouTubeIframeAPIReady() {
|
||
player = new YT.Player('player', {
|
||
height: '360',
|
||
width: '640',
|
||
videoId: 'M7lc1UVf-VE',
|
||
events: {
|
||
'onReady': onPlayerReady,
|
||
'onStateChange': onPlayerStateChange
|
||
}
|
||
});
|
||
}
|
||
```
|
||
|
||
- 播放/暂停/停止/音量/seek
|
||
- 播放状态事件监听
|
||
- 播放列表/队列管理
|
||
- 全屏控制
|
||
|
||
### 费用
|
||
- **IFrame Player API**:完全免费,无需 API Key
|
||
- **Data API v3**:免费额度 10,000 units/day
|
||
|
||
### U-Desk 适配
|
||
- **完美适配**:纯前端 JS API,WebView2 原生运行
|
||
- Go 后端可选调用 Data API 补充搜索能力
|
||
- 中国区需翻墙
|
||
|
||
### 推荐用途
|
||
- 国际视频内容补充
|
||
- 技术验证的首选平台(零成本、文档完善)
|
||
|
||
---
|
||
|
||
## 七、Vimeo Player API
|
||
|
||
### 基本信息
|
||
- **文档**:https://developer.vimeo.com/api/reference
|
||
- **嵌入式播放器**:高度可定制
|
||
|
||
### 能力
|
||
- 嵌入式播放器(类似 YouTube)
|
||
- Player JS API(播放控制)
|
||
- Upload API(上传视频)
|
||
- Data API(视频信息获取)
|
||
|
||
### 费用
|
||
- 免费层级可用(有播放限制)
|
||
- Pro 版本 ($7/月) 解锁高级功能
|
||
|
||
### 特点
|
||
- 无广告、画质高
|
||
- 设计感强,适合高端场景
|
||
- 中文内容较少
|
||
|
||
---
|
||
|
||
## 八、合规要点
|
||
|
||
| 规则 | 说明 |
|
||
|------|------|
|
||
| 嵌入播放 | 使用平台官方提供的嵌入代码/播放器,不自行解析视频流 |
|
||
| 广告保留 | 不得去除原平台的广告或会员提示 |
|
||
| 内容审核 | 平台对内容负责,但需注意嵌入内容的合规性 |
|
||
| 版权标注 | 视频版权归创作者及平台所有 |
|
||
| 流量上报 | 如有要求,按规范上报播放数据 |
|
||
|
||
> **关键原则**:视频模块优先采用 **H5/iframe 嵌入** 方案,而非自建播放器解析流地址。这样既合规又简单。
|
||
|
||
---
|
||
|
||
## 九、最终推荐方案
|
||
|
||
### MVP 阶段(快速上线)
|
||
|
||
| 优先级 | 方案 | 工作量 | 说明 |
|
||
|--------|------|--------|------|
|
||
| P0 | **抖音开放 SDK** | 1-2天 | 国内首选:分享/投稿/授权 |
|
||
| P0 | **YouTube IFrame API** | 0.5天 | 国际视频 + 嵌入播放 |
|
||
| P1 | **B站 iframe 嵌入** | 0.5天 | 国内二次元/长视频社区 |
|
||
|
||
### 迭代阶段(深度集成)
|
||
|
||
| 优先级 | 方案 | 工作量 | 说明 |
|
||
|--------|------|--------|------|
|
||
| P1 | B站 OpenAPI 对接 | 3-5天 | 搜索/推荐/个性化(需等官网恢复) |
|
||
| P1 | 抖音数据能力对接 | 2-3天 | 播放量/互动数据回传统计 |
|
||
| P2 | 腾讯视频 H5 嵌入 | 0.5天 | 补充国内长视频 |
|
||
| P2 | Vimeo API | 2-3天 | 高端无广告体验 |
|
||
|
||
### 明确舍弃
|
||
- ~~爱奇艺/优酷深度API~~ — 开放程度不足
|
||
- ~~自建视频流解析~~ — 合规风险极高
|
||
|
||
---
|
||
|
||
## 十、U-Desk 视频模块架构建议
|
||
|
||
```
|
||
U-Desk 生态链接 - 视频模块
|
||
├── VideoPlayer (Vue Component)
|
||
│ ├── YouTubePlayer.vue → YT.Iframe API
|
||
│ ├── BilibiliEmbed.vue → iframe embed
|
||
│ ├── TencentVideo.vue → H5 embed
|
||
│ └── GenericPlayer.vue → 统一播放器外壳
|
||
│
|
||
├── VideoService (Go)
|
||
│ ├── SearchYouTube() → YouTube Data API (可选)
|
||
│ ├── SearchBilibili() → B站 OpenAPI (后续)
|
||
│ └── SearchLocal() → 本地视频文件索引
|
||
│
|
||
└── VideoPanel.vue → 主面板 (搜索 + 列表 + 播放)
|
||
```
|
||
|
||
### 与文件管理器的融合点
|
||
- 在文件浏览时识别视频文件 → 提供在线搜索相似内容
|
||
- 右键菜单:"在线搜索相关视频"
|
||
- 底部栏迷你播放器(浏览文件时同时看视频)
|
||
- 收藏夹同步(收藏的视频与文件收藏统一管理)
|
||
|
||
---
|
||
|
||
*Sources:*
|
||
- *B站开放平台: https://developer.bilibili.com/*
|
||
- *YouTube IFrame API: https://developers.google.com/youtube/iframe_api_reference*
|
||
- *Vimeo Developer: https://developer.vimeo.com/api/reference*
|