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
替换成你自己的域名。
登录 myTV SUPER 官网后,打开开发者工具 - Network,过滤 https://www.mytvsuper.com/api/auth/getSession/self/
这个 api 的请求,查看 Response 中的 token 字段,如下图
m3u 前面固定的啊,包括 key,只是你获得的 URL 需要变动,而 URL 使用老大的方法也可以固定获取的链接https://domain/JUHDm3u,URL。根本不需要变动 自动获得
vlc 没支持 drm 视频吧,你可以试试浏览器安装 https://chromewebstore.google.com/detail/videoplayer-mpdm3u8m3uepg/opmeopcambhfimffbomjgemehjkbbmji 这个插件后打开 m3u
我请求地址是https://mytvsuper.yandexmixman.workers.dev/JUHD 但返回 {"error":"Error","message":"Token and remote not found"}
请教什么问题?
请问老大我在 vps 上正常推流了 mysuper 了,但在本地 nas 部署 Ubuntu 后,最后推流失败,是因为本地没有代理原因吗?如果是可以麻烦老大提供一个代理部署的代码吗?
我有一个点不理解:本机浏览器 无代理访问 worker 经历以下步骤: 1.worker 服务器发出获取节目源请求 2.获取到的源 url(也就是代码的 redirect_url) 以重定向响应返回给浏览器
这时候浏览器会以没挂代理的状态去请求这个 redirect_url,那没挂代理肯定访问不通呀。所以我测试的结果也是一定要挂梯子才能看得了。 我不太理解为什么大家可以呢....
那不就和免代理的想法背道而驰了吗。我是由于挂梯子看电视会耗费很多流量。
但是本地能直连 worker,而 worker 又能访问得了外网,所以理论上应该是能够完全不够挂梯子的。我琢磨琢磨
播放 url 返回给你的东西应该是 302 跳转,worker 服务器没有给你做反代,所以等于你本地是直连播放 url,ban 了国区正好能活得久
感谢大佬,但是用 o11 推流失败了 [autorestart in 29s] Error: Get "http://hk4-edge27-1.edgeware.tvb.com:80/session/6510cb52-4289-11ef-bd05-00505692d62f/__cl/slocalr21/__c/ott_J_hevc/__op/cenc_m/__f/index.mpd?token=59b8exxxxxxx:" EOF 显示这个问题,请问知道什么原因吗?
"interactive_channels": [
{
"network_code": "C2",
"channel_no": "83II",
"name_tc": "互動窗2",
"name_en": "Interactive Window 2"
},
{
"network_code": "C3",
"channel_no": "83I",
"name_tc": "互動窗1",
"name_en": "Interactive Window 1"
}
],
增加 C2 和 C3 频道,license 怎么获取的
我尝试从https://wv.drm.tvb.com/wvproxy/mlicense?contentid=ott_J_h264 来获取 license,但是是一堆乱码,
......4...Q..R.P..u..-U.....Q..R.P..u..-U.... .(.8[email protected]............. .(.0.p.x..V..Z...]x.AM.3([email protected].3..F#.....Q..P2.....uu..Y..][email protected]2..S.i..#..{...=..l ..P..'G.7$.L..q ._..L..fe.;hZ$Eh.R.q.Q....Rw..~pcA.../.S. .(.B...kc16....' ......b. .....2$d457c65f-95c1-430d-8ebf-5be588dc3bfe8.P.. `{.R.E....g.Wv. ].).......K.X=.."..e.Vz4.......y4.9.....G.;[email protected]]...UA..;T.."[.eP.T0..r.....s...m..?y...nb...fS]C'..z.:.m9......=.Q.u...'.-R.:2.019.0.5 Built on Jun 5 2024 15:13:38 (1717625618)@user1' ....r....L.......^...@............................................................................................................+..*.mm+u...>.y.t..=3..`..u!`..GX.
这个怎么转换成 license
需要香港的原生 ip 才行,在https://www.mytvsuper.com/api/auth/getSession/self/中, 地区显示的是 HK,才可以
"country_code": "HK",
当你正确获取到 token 之后,就可以不用代理观看了
你好,感谢分享文章。成功搭建起来
但是关于获取完整的 m3u 文件 我看文章:完整的 m3u 文件可以访问 https://assets.livednow.com/m3u/mytvsuper.m3u 获取
我输入https://mydomain.com/m3u/mytvsuper.m3u
无法获取到。 请问怎么获取完整列表~ 我输入https://mydomain.com/J 是能播放到翡翠台的。
老大帮忙看看这个是怎么回事,谢谢
[root@OpenWrt:08:27 PM ~] # docker exec pixman sh -c 'flask mytvsuper_tivimate' [2024-09-26 20:27:49,584] ERROR in core: Request failed: 403 Client Error: Forbidden for url: https://user-api.mytvsuper.com/v1/channel/checkout?platform=android_tv&network_code=C18, retrying... [2024-09-26 20:27:50,533] ERROR in core: Request failed: 403 Client Error: Forbidden for url: https://user-api.mytvsuper.com/v1/channel/checkout?platform=android_tv&network_code=C18, retrying... [2024-09-26 20:27:51,521] ERROR in core: Request failed: 403 Client Error: Forbidden for url: https://user-api.mytvsuper.com/v1/channel/checkout?platform=android_tv&network_code=C18, retrying... [2024-09-26 20:27:51,522] ERROR in core: Request failed after retrying [2024-09-26 20:27:53,897] ERROR in core: Request failed: 403 Client Error: Forbidden for url: https://user-api.mytvsuper.com/v1/channel/checkout?platform=android_tv&network_code=CTVC, retrying...