Private
Public Access
1
0
Files
u-desk/docs/04-功能迭代/生态链接/03-广播电台.md

11 KiB
Raw Blame History

广播电台 / 电视 / 播客 开放平台接入方案备忘录

最后更新2026-05-08 | 用途U-Desk 生态链接 — 音频流媒体模块可行性评估


一、平台总览对比

平台 类型 费用 中文内容 桌面端适配 合规性 接入难度 评级
Radio Browser API 国际电台 免费 极高(RESTful) 极低 A
Apple iTunes Search API 播客索引 免费 极高(HTTP) A-
喜马拉雅开放平台 国内音频 商务合作 极高 中低(Web嵌入) B-
蜻蜓FM开放平台 国内音频 商务合作 极高 C+
CCTV 嵌入 电视 不定 极高 中风险 C-
TuneIn API 国际电台 不开放 - - D
荔枝FM / 云听 国内音频 无API - - D
IPTV/电视直播 电视 无合法方案 极高 - - D

二、Radio Browser API强烈推荐

基本信息

  • 官网https://www.radio-browser.info
  • API 地址https://api.radio-browser.info
  • 协议开源项目GitLab可自由用于免费和商业软件
  • 版本v0.7.442026-05-08 验证API 在线,/json/stats 端点可能已迁移,但核心 station 接口正常)
  • 当前规模27,000+ 可用电台 / 80+ 国家 / 59+ 语言
  • 验证状态 已验证在线de1.api.radio-browser.info/json/stations/topclick 返回实时数据2026-05-08 15:26 UTC

核心能力

列表类接口

接口 说明
/json/countries 按国家列出电台
/json/codecs 编码格式列表 (MP3/AAC+/OGG)
/json/states 按州/省列出
/json/languages 语言列表 (含 ISO 639 代码)
/json/tags 标签/流派列表 (jazz/pop/rock/news)
/json/stations 全部电台列表

搜索类接口

接口 说明
/json/stations/search 高级搜索name/country/language/tag/codec/bitrate/geo 多维度组合查询
/json/stations/byname/{term} 按名称搜索
/json/stations/bycountry/{code} 按国家搜索 (CN=中国)
/json/stations/bylanguage/{lang} 按语言搜索 (chinese)
/json/stations/bytag/{tag} 按标签搜索

排行类接口

接口 说明
/json/stations/topclick 最热门电台
/json/stations/topvote 最高评分电台
/json/stations/lastclick 最近被点击的

交互类接口

接口 说明
/json/url/{uuid} 点击计数 + 获取播放 URL
/json/vote/{uuid} 为电台投票
/json/add 添加新电台到数据库

运维类接口

接口 说明
/json/stats 服务器统计
/json/servers 镜像服务器列表(可自建)
/json/config 服务器配置

数据结构关键字段

{
    "stationuuid": "唯一ID",
    "name": "电台名称",
    "url": "原始流地址",
    "url_resolved": "已解析的直接播放URL ← 核心字段",
    "homepage": "电台主页",
    "favicon": "图标",
    "tags": ["标签"],
    "countrycode": "CN",
    "language": "chinese",
    "codec": "MP3",
    "bitrate": 128,
    "lastcheckok": true,
    "clickcount": 24小时点击量
}

输出格式

JSON / XML / CSV / M3U / PLS / XSPF / TTL7种

U-Desk 集成方式

Go 后端 → HTTP GET radio-browser API → JSON → Vue 展示电台列表
                                              ↓ 点击播放
                                    url_resolved 字段 = 直接可播放的 MP3/AAC 流
  • Go 有现成库goradios
  • 零成本、零审核、零依赖
  • 工作量估算2-3天含 UI

特别优势

  • 支持按 countrycode=CN 筛选中文电台
  • 用户可添加自定义电台(/json/add
  • 可自建镜像服务器(完全自主可控)
  • 支持 M3U/PLS 导出(兼容各类播放器)

三、Apple iTunes Search API — 播客发现(推荐

基本信息

核心能力

搜索参数

参数 说明 示例
term 搜索关键词 news, 故事, 科技
media 媒体类型 podcast
entity 实体类型 podcast, podcastAuthor
country 国家代码 cn
limit 返回数量 25

使用示例

# 搜索中文新闻播客
GET https://itunes.apple.com/search?term=news&country=cn&media=podcast&limit=25

# 搜索特定作者
GET https://itunes.apple.com/search?term=故事&entity=podcastAuthor&country=cn

返回数据关键字段

{
    "collectionName": "播客名称",
    "artistName": "作者",
    "feedUrl": "RSS订阅地址 ← 核心:获取音频的入口",
    "artworkUrl60": "小封面",
    "artworkUrl100": "大封面",
    "releaseDate": "发布日期",
    "primaryGenreName": "分类"
}

播放流程

iTunes Search API → 获取 feedUrl (RSS)
                    ↓
              解析 RSS XML → 提取 episode 列表
                              ↓
                        enclosure URL → 音频播放

U-Desk 集成方式

  1. Go 后端调用 Search API → 获取播客列表和 RSS 地址
  2. 解析 RSS XML 提取 episode 音频 URL
  3. 前端播放器播放音频流
  4. 实现 20次/分钟速率限制的客户端缓存

中文播客覆盖

  • iTunes Podcast 目录包含大量中文播客(大陆/台湾/香港创作者)
  • 覆盖新闻/故事/科技/商业/教育等各领域

工作量估算3-4天含 RSS 解析逻辑)


四、喜马拉雅开放平台(备选

基本信息

  • 官网https://open.ximalaya.com/
  • 定位:国内最大音频分享平台(纽交所上市)
  • 商务热线(021)50179077-8806 / -8803

核心能力

  • 音频内容分发 SDK/API
  • 支持移动应用、智能硬件、车载、网页/小程序接入
  • 内容类型:有声书、课程、播客、相声评书、新闻资讯、亲子儿童、景点导览
  • AI 制作专区

接入方式

方式 说明
移动应用 SDK Android/iOS/Flutter
智能硬件 SDK IoT 设备
网页/小程序 JS SDK ← U-Desk 的可行路径

费用模式

  • 商务合作模式,需"立即入驻"申请后商谈
  • 通常为分成或流量付费模式
  • 有运营中心(内容中心/数据中心/活动中心)

U-Desk 适配路径

通过 Wails WebView 加载喜马拉雅 H5/JS SDK 播放器

  • 技术层面工作量1-2天
  • 商务层面周期不确定(需审批)

注意事项

  • 开发者文档页面部分返回 404生态维护程度一般
  • 但"网页/小程序"接入通道确实存在

五、蜻蜓FM开放平台低优先级

基本信息

  • 官网https://open.qingting.fm
  • 能力SDK/API/H5嵌入式播放器
  • 内容:直播流、点播、有声书、相声评书、全国电台

问题

  • 主要面向 B 端大客户(车企、智能硬件厂商)
  • 对独立桌面应用开发者门槛较高
  • 文档需入驻后才可查看完整内容
  • Windows 桌面端无原生支持

结论:优先级低于喜马拉雅


六、电视/IPTV当前不可行

CCTV 央视网

  • 无公开开发者 API
  • 可能存在 iframe 嵌入方案(灰色地带)
  • 版权严格管控,合规风险高
  • 评级C-(仅作为外部链接实验)

各省市 IPTV

  • 三大运营商分别运营,无统一 API
  • 专有传输协议IGMP/RTP/RTSP需专用机顶盒
  • 完全不存在合法的桌面端接入途径
  • 评级D

EPG 数据源(国际参考)

  • epg-guide.com:免费 EPG 数据XMLTV 格式
  • 仅覆盖欧洲(意大利为主),不支持中文电视台
  • 技术成熟但无中文内容,参考价值有限

结论:电视模块暂不纳入 MVP


七、荔枝FM / 云听

平台 状态 原因
荔枝FM (lizhi.fm) 无公开 API 官网无 developer/open 入口
云听 (yunting.fm) 服务不稳定 访问时 500 错误,且无 API

八、最终推荐组合方案

第一优先级MVP 即可上线)

平台 用途 工作量 成本
Radio Browser API 全球网络电台收听 2-3天 免费
iTunes Search API 播客发现与播放 3-4天 免费

第二优先级(后续迭代)

平台 用途 工作量 前置条件
喜马拉雅 Web 嵌入 国内有声书/课程 1-2天技术 + 商务周期 商务合作审批
央视网链接 电视直播快捷入口 0.5天 关注版权政策

不推荐

  • TuneIn — 不开放第三方 API
  • IPTV/电视直播 — 无合法接入途径
  • 荔枝FM/云听 — 无可用 API

九、U-Desk 广播/播客模块架构建议

U-Desk 生态链接 - 音频流媒体模块
├── RadioService (Go)
│   ├── StationSearch()     → Radio Browser /stations/search
│   ├── TopStations()       → /stations/topclick
│   ├── StationsByCountry() → /stations/bycountry/CN
│   ├── StationsByTag()     → /stations/bytag/{tag}
│   └── PlayStation()       → /json/url/{uuid} → url_resolved 直播流
│
├── PodcastService (Go)
│   ├── SearchPodcasts()    → iTunes Search API (media=podcast)
│   ├── GetPodcastDetail()  → iTunes Lookup API
│   ├── ParseFeed()         → RSS XML → episode 列表
│   └── PlayEpisode()       → enclosure URL → 音频播放
│
├── AudioPlayer (Vue Component)
│   ├── RadioPanel.vue      → 电台浏览/搜索/播放/收藏
│   ├── PodcastPanel.vue    → 播客发现/订阅/播放/下载
│   └── MiniPlayer.vue      -> 底部栏迷你播放器
│
└── QuickLinks (Vue)
    └── LinkCard.vue        → 央视网/喜马拉雅等外部链接卡片

与文件管理器的融合点

  • 浏览文件时底部迷你播放器持续播放电台/播客
  • 收藏夹统一管理(收藏的电台/播客/文件混合展示)
  • 右键菜单:"搜索相关播客内容"

十、合规要点总结

平台 合规要求
Radio Browser 开源协议友好,商用无限制,仅需合理 User-Agent
iTunes API 遵守 Apple 使用条款(速率限制 + 展示要求)
喜马拉雅 必须走正式商务流程,签订合作协议
央视网 以外部链接方式最安全,避免深度集成

Sources: