本地化节目播放方案:挑战使用DeepSeek编写酷9 JS脚本

前言

我们前面有写fengmi影视/OK影视本地使用的python脚本,该类脚本优势在于不需要如PHP的运行环境,本地运行即可。

酷9也支持本地运行的脚本,如js脚本,今天分享如何通道deepseek来写一个酷9的js脚本。

JS脚本基本方法

酷9的基本方法:可以用ku9.request请求接口,然后获取到节目地址:

function main(item{
    const id = item.id;
    
    // 1. 请求数据接口
    let apiUrl = `https://jzb123.huajiaedu.com/prod-api/iptv/getIptvList?liveType=0`;
    let res = ku9.request(apiUrl);
    
    // 2. 处理响应数据
    // ...数据处理逻辑...
    
    // 3. 返回播放地址
    return JSON.stringify({
        url: live_url
    });
}

JS脚本示例

用比较简单的JZB接口作为示例,JZB的数据接口:

https://jzb123.huajiaedu.com/prod-api/iptv/getIptvList?liveType=0

响应内容:

本地化节目播放方案:挑战使用DeepSeek编写酷9 JS脚本

实现方法:

请求接口,如果id = play_source_code,则返回对应的play_source_url

Deepseek实现方法

提问内容:

数据接口apiUrl为https://jzb123.huajiaedu.com/prod-api/iptv/getIptvList?liveType=0的响应内容为:
{
  "msg""ok",
  "code""0",
  "list": [
    {
      "play_source_name""CCTV1",
      "play_source_code""cctv1",
      "create_time""2024-12-12 18:02:40",
      "play_source_url""https://tvpull.careryun.com/live/6affc23769b9b98ae2aef4a030603d8b.m3u8?txSecret=7b70612c1625e5c6305f2cf26822246c&txTime=683c4015",
      "play_source_type": 1,
      "device_type": 0,
      "id": 578,
      "source_id": 1,
      "sort": 1,
      "is_subscribe": 0,
      "status": 0
    },
    {
      "play_source_name""东方卫视",
      "play_source_code""dfws",
      "create_time""2024-12-12 18:02:55",
      "play_source_url""https://tvpull.careryun.com/live/55a22c3494565b0b615ae40699e90bc4.m3u8?txSecret=ab827dad6dba08a1141514838a2e3faa&txTime=683c4015",
      "play_source_type": 2,
      "device_type": 0,
      "id": 597,
      "source_id": 1,
      "sort": 1,
      "is_subscribe": 0,
      "status": 0
    }
  ]
}

ku9.request是一种方法,类似fetch API get请求方法,传递id,如id=play_source_code的值,则返回对应的play_source_url,赋值给url

deepseek回答的代码:

本地化节目播放方案:挑战使用DeepSeek编写酷9 JS脚本

回答为使用缓存机制来处理数据,可以不用缓存来实现,继续补充提问:

本地化节目播放方案:挑战使用DeepSeek编写酷9 JS脚本

DeepSeek回答:

本地化节目播放方案:挑战使用DeepSeek编写酷9 JS脚本

基本已获得答案,根据代码修改成我们需要的代码:

function main(item{
 
    const apiUrl = "https://jzb123.huajiaedu.com/prod-api/iptv/getIptvList?liveType=0";
    const res = ku9.request(apiUrl);
 
    if (res.code !== 200) {
        return { error`API请求失败(状态码 ${res.code})` };
    } 
 
    try {
        const data = JSON.parse(res.body);
        if (data.code !== "0") {
            return { error`API错误:${data.msg || "未知错误"}` };
        }
        list = data.list;
  target = list.find(ch => ch.play_source_code === item.id);
  if (!target) {
   return { error`未找到ID为 ${item.id} 的频道` };
  }

  return {
   url: target.play_source_url
  };

  } catch (e) {
   return { error"数据解析失败" };
  }
}

测试,将脚本命名为如jzb.js,放到酷9文件夹下的js文件夹下,然后调用这个js即可,如

http://A/ku9/js/jzb.js?id=cctv1

该脚本播放会出现断流情况,可能和源本身有关。


源代码

关注公众号,后台私信【250601】获取js和列表,jzb.js文件放于js文件夹下,jzb.txt放于LocalData文件夹下即可。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部