跳到主要内容

myTV SUPER 直播代理

  • 新帖
  • 热门
  • 精选

myTV SUPER 直播代理

coding 2y ago in IPTV · 117 views

Update:

现已在 Docker 支持: https://pixman.io/topics/31


myTV SUPER 是香港的流媒体平台,注册用户可以看免费的一些频道,比如翡翠台、TVB Plus 等,如果要在 iptv 软件里播放的话,需要使用程序做一个转换,下面是使用 cloudflare workers 来代理的方法,这个代码也支持付费频道,但是需要你自己开通了会员。

代码

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
})

const api_token = '你的 TOKEN';
async function get_mytvsuper(channel) {
  const headers = {
    'Accept': 'application/json',
    'Authorization': `Bearer ${api_token}`,
    'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
    'Host': 'user-api.mytvsuper.com',
    'Origin': 'https://www.mytvsuper.com',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5.2 Safari/605.1.15',
    'Referer': 'https://www.mytvsuper.com/',
    'X-Forwarded-For': '210.6.4.148', 
  }

  const params = new URLSearchParams();
  params.append('platform', 'android_tv');
  params.append('network_code', channel);

  const response = await fetch(`https://user-api.mytvsuper.com/v1/channel/checkout?${params}`, { headers });
  if (response.status != 200) {
    return null;
  }

  const json = await response.json();
  const profiles = json.profiles || [];
  let play_url = '';
  for (let i of profiles) {
    if (i.quality === 'high') {
      play_url = i.streaming_path;
      break;
    }
  }

  if (!play_url) {
    return null;
  }
  return play_url.split('&p=')[0];
}

async function handleRequest(request) {
  const url = new URL(request.url);
  const path = url.pathname.split('/');
  const id = path.pop();

  const redirect_url = await get_mytvsuper(id) || 'https://nolive.livednow.com/nolive.m3u8';

  let cacheControl = 'public, max-age=10'
  if (redirect_url !== 'https://nolive.livednow.com/nolive.m3u8') {
    cacheControl = 'public, max-age=43200' 
  }

  const response = new Response(null, {
    status: 302,
    headers: {
      Location: redirect_url,
      'Cache-Control': cacheControl,
    },
  });
  return response;
}

播放链接类似:https://DOMAIN/{ID},例如翡翠台 4k: https://DOMAIN/JUHD

完整的 m3u 文件可以访问 https://assets.livednow.com/m3u/mytvsuper.m3u 获取,注意将里边的 https://mytvsuper.livednow.com 替换成你自己的域名。

Token 的获取

登录 myTV SUPER 官网后,打开开发者工具 - Network,过滤 https://www.mytvsuper.com/api/auth/getSession/self/ 这个 api 的请求,查看 Response 中的 token 字段,如下图

  • 引用文章
  • 被文章引用
pixman 已支持 MytvSuper 直播源
pixman 已支持 MytvSuper 直播源
coding #1 2024年05月13日

这个平台的流是 MPEG-DASH 格式,所以需要支持 MPD 的播放器

回复此楼 修改
Williams #2 2024年05月13日

感激之情,溢于言表,一键三连

回复此楼 修改
stronghu #3 2024年05月13日

嘿嘿,支持。。。。。。。。

回复此楼 修改
lew8o9w8 #4 2024年05月13日

一键三连

回复此楼 修改
qinsmoon #5 2024年05月13日

感谢分享

回复此楼 修改
Guo_123 #6 2024年05月13日

请问大佬如果长期在tivi软件上播放啊,转换base64是可以播放,但地址只能播放一天左右就失效了,又要更换地址

回复此楼 修改
coding #7 2024年05月13日
对 Guo_123 #6 回复

这个暂时没有好的解决办法,因为官方 api 返回的 url 就是 24 小时有效,可以尝试下别的软件,比如 ott 什么的

回复此楼 修改
Even #8 2024年05月13日
对 Guo_123 #6 回复

m3u前面固定的啊,包括key,只是你获得的URL 需要变动,而URL 使用老大的方法也可以固定获取的链接https://domain/JUHDm3u,URL。根本不需要变动 自动获得

回复此楼 修改
yandex #9 2024年05月13日

请问用vlc 播放的话 画面是花屏 看不到正常视频 怎么解决?

回复此楼 修改
Guo_123 #10 2024年05月13日
对 Even #8 回复

是的,我知道这个https://DOMAIN/JUHDurl,在ott播放器写入这个地址的m3u没问题的。但在tivi上就必须要用这个地址https://DOMAIN/JUHD返回的url.mpd才能播放是不变,可以自动获取

回复此楼 修改
coding #11 2024年05月13日
对 Guo_123 #10 回复

看样子是 tivi 不支持 302 跳转

回复此楼 修改
coding #12 2024年05月13日
对 Even #8 回复

tivi 不支持 302 跳转

回复此楼 修改
coding #13 2024年05月13日
对 yandex #9 回复

vlc 没支持 drm 视频吧,你可以试试浏览器安装 https://chromewebstore.google.com/detail/videoplayer-mpdm3u8m3uepg/opmeopcambhfimffbomjgemehjkbbmji 这个插件后打开 m3u

回复此楼 修改
yandex #14 2024年05月13日

我请求地址是https://mytvsuper.yandexmixman.workers.dev/JUHD 但返回 {"error":"Error","message":"Token and remote not found"}

请教什么问题?

回复此楼 修改
coding #15 2024年05月13日
对 yandex #14 回复

const api_token = '你的 TOKEN';

这里的 token 设置正确了吗?要复制完整

回复此楼 修改
wailan #16 2024年05月13日

tivimate不行 好忧伤

回复此楼 修改
coding #17 2024年05月13日
对 wailan #16 回复

试试 OTT: https://files.pixman.io/Android

回复此楼 修改
linx #18 2024年05月14日

感谢大佬已成功

回复此楼 修改
minor8429 #19 2024年05月14日

请问是php代码吗?

回复此楼 修改
coding #20 2024年05月14日
对 minor8429 #19 回复

这是 cloudflare workers 代码

回复此楼 修改
Samuel #21 2024年05月15日

请问 报错302是什么问题? 可以分析下是哪个步骤出错了吗

回复此楼 修改
coding #22 2024年05月15日
对 Samuel #21 回复

302 不是报错,他是跳转到播放地址

回复此楼 修改
bsex #23 2024年05月15日

能用actions定时获取直链吗。

回复此楼 修改
coding #24 2024年05月15日
对 bsex #23 回复

可以啊,你写个 GitHub action,把链接保存下

回复此楼 修改
aiwei #25 2024年05月16日

想请教下,这个key如果不使用up提供的,想要自己试下获取,要怎么去获取

回复此楼 修改
coding #26 2024年05月16日
对 aiwei #25 回复

关键词 getwvkeys

回复此楼 修改
eyou #27 2024年05月18日
对 coding #24 回复

研究下用GitHub action能不能定时生成供tivimate使用的m3u。

回复此楼 修改
Samuel #28 2024年05月18日
对 coding #22 回复

显示302之后 OTT报发生了错误 这种情况是什么问题呢😂

回复此楼 修改
Guo_123 #29 2024年05月18日

请问老大我在vps上正常推流了mysuper了,但在本地nas部署Ubuntu后,最后推流失败,是因为本地没有代理原因吗?如果是可以麻烦老大提供一个代理部署的代码吗?

回复此楼 修改
coding #30 2024年05月18日
对 Guo_123 #29 回复

对的,要代理访问,这个是 workers 的代码,我不知道你说的 ubuntu 什么意思

回复此楼 修改
  • 1
  • 2
  • 3
  • 4
  • 下一页
收到新回复,点击立即加载
需要 登录 后方可回复, 如果你还没有账号请 注册新账号
Coding
@coding
有事请发帖 @coding 或 联系 [email protected]
统计信息
会员
1,802
话题
261
回帖
2,991
活跃会员 查看排行
stronghu
Li888
Brian9394
mengzehe
coding
fandaz
Raymon
duboy
v6wind
jefflyrop
daisy_rain
john
jerainlvjing
rudy
tiao
jiangwl
server
winship
xiasufern
ccf

A digital lifestyle community co-maintained by Pixer

本网站服务器由 提供,CDN 由 提供,基于 Homeland 构建,采用 Docker 部署。