Agent Skills
返回列表
互联网电台流媒体库

互联网电台流媒体库

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-internet-radio-music-db。

技能介绍

要解决什么问题

如果你需要一批可直连播放的网络电台流 URL,而不是在网页里逐个点选,手工维护 http://server:port/stream 列表会很快失控:来源分散、.pls 解析不一致、慢速或死链混在库里,播放器还要自己猜「多慢算不可用」。

本技能面向 internet-radio.com 这类目录站,把「按流派分页采集 → 解析播放列表 → 测速过滤 → 持久化」做成可重复跑的流水线,输出统一的 state.json 流数据库,并配合定时任务做增量建库与可用性复检。

核心能力怎么跑

  • 并行采集:默认约 29 个流派各开一线程,抓取 /stations/{genre}/ 分页(MAX_PAGES 默认 10,可在 build_db.py 调整),空页停止;去重 URL 后典型一轮约 150+ 条可用候选(全量扫描规模更大,取决于页深)。
  • URL 解析:从电台页提取 .pls 链接,再解析出直连流地址。
  • 自适应测速:check_stream.py 为建库与复检共用逻辑;按码率计算阈值(例如 320k 需约 30 KB/s,128k 约 12 KB/s,未知码率下限 5 KB/s),并行短下载探测(建库侧约 60 worker,复检约 120 worker)。
  • 运维脚本:cli.py 列表/增删/导出,show_stats.py 看流派、语言、速度与效率,check_availability.py 全库复检;失败计数 failed_checks >= 3 的流会自动移除。
  • WebUI(可选):internet-radio-music-webui 插件可嵌入面板做播放与库管理;需同时安装本技能与 internet-radio-music-player,插件会自动发现本技能里的脚本。

适用边界与注意点

  • 数据源绑定 https://www.internet-radio.com/,目录结构或页面变更会影响采集。
  • 语言字段主要靠电台名称关键词推断,不是音频内容识别。
  • state.json 为本地状态,不包含在技能发布包内;Cron 示例为每 4 小时建库、错峰 30 分钟做可用性检查,可按环境改调度。
  • 测速是「能否在阈值内持续拉流」的启发式,不等同于全球 CDN 意义上的 SLA 保证。

使用场景

  • 在自建 WebChat 里嵌入电台面板前,先按流派批量采集并测速,只保留能稳定拉流的 URL
  • 播放器技能依赖的 `state.json` 过期或大量 404 时,用定时任务每 4 小时重建库并错峰做全库复检
  • 需要从 internet-radio.com 导出某一流派(如 Jazz、Ambient)的直连地址,供 CLI 或外部播放器配置使用
  • 上线 24 小时背景音或 mood 电台前,先跑 `check_availability.py`,自动剔除连续三次测速失败的死链

适合人员

  • 维护 OpenClaw/WebChat 电台插件、需要可嵌入播放且流列表可重建的集成工程师
  • 使用 internet-radio-music-player 并要把目录站链接整理成可播放直连库的自托管爱好者
  • 负责定时 Cron(建库 + 可用性检查)并要按码率阈值统一淘汰慢链的运维或脚本维护者
  • 做流派统计、语言分布或 `--effective` 效率报告,评估库质量的数据分析或内容策展人员