IPTV 无需 IPV6,三网通看移动 iTV 直播源

coding · 2024年06月20日 · 最后由 max 回复于 2024年11月05日 · 26652 次阅读
本帖已被管理员设置为精华贴

Update:

小白或者不想折腾的用户可以直接使用 http://ip:port/itv_proxy.m3u 订阅,无需 nginx 或者 dns 配置,流量全部经过 pixman 代理,这种方式建议运行在家中内网设备上。


下面的方法需要一些动手能力,根据你的情况来选择。

中国移动 iTV 平台目前可用的直播系列有以下几种:

  • bestzb 百视通
  • FifastbLive 咪视通
  • hnbblive 咪咕视讯
  • wasusyt 华数
  • ystenlive 易视腾

对应的 m3u8 域名为:gslbserv.itv.cmvideo.cn,访问后会 302 跳转到 cache.ott.{CHANNEL_ID}.itv.cmvideo.cn 这样的域名。

而 cache.ott 开头的这个域名在非移动网络下会被解析到 1.1.1.1 这个 cloudflare 的 dns 服务 ip,所以无法访问,但是我们可以手动将这个域名映射到移动网络下响应的 CDN 节点 ip,然而这样带来的一个新问题就是 ip 可能会变动,当很多人使用同一个 ip 可能会导致此 CDN 节点负载太高。

所以我这边购买了 dnsany.com 这个域名,定时同步中国移动 ott 域名在全国各个大区的 CDN 列表,按照大区分区域解析,用户只需要将域名映射到 dnsany.com 这个域名上,就可以一劳永逸地观看 iTV 平台直播,也不用担心 ip 失效。

声明:禁止将 dnsany.com 域名使用在其他项目中,否则将停止解析。

目前 pixman/pixman 镜像已内置我整理过的 iTV 可用频道列表 (去掉了购物频道、低于 1080p、重复质量的频道),如果你有更高质量的 id 或者其他频道,可以在评论区回复,我将更新到镜像内置源里。

对于播放设备来说,需要将 iTV ott 的域名指向 dnsany.com 对应的域名,比较方便的方式是使用代理软件,因为系统默认的 hosts 格式必须是 ip 地址 {TAB} 域名 的形式,一般不会支持 域名 {TAB} 域名 这种别名的方式。除了使用代理软件,还有一些其他方式,我也列在帖子后面。

映射域名后,订阅链接就是 http://ip:port/itv.m3u,pixman 不会代理 ts 请求。

常见代理软件的配置方式

根据你实际情况来选择,如果下面没有列出某个软件,你可以在评论区回复我配置方式。

Ps: 不管任何代理软件,都需要将 dnsany.comcmvideo.cn 这两个主域名列入直连分流,比如

DOMAIN-SUFFIX,cmvideo.cn,DIRECT
DOMAIN-SUFFIX,dnsany.com,DIRECT

Surge

文档:https://manual.nssurge.com/dns/local-dns-mapping.html

[Host]
cache.ott.ystenlive.itv.cmvideo.cn = pixman.io.ystenlive.dnsany.com
cache.ott.bestlive.itv.cmvideo.cn = pixman.io.bestlive.dnsany.com
cache.ott.wasulive.itv.cmvideo.cn = pixman.io.wasulive.dnsany.com
cache.ott.fifalive.itv.cmvideo.cn = pixman.io.fifalive.dnsany.com
cache.ott.hnbblive.itv.cmvideo.cn = pixman.io.hnbblive.dnsany.com

Clash Meta 内核 (OpenClash 等)

文档:https://wiki.metacubex.one/config/dns/hosts/

# 开启 TCP 并发连接可使用延迟最低的 CDN 节点
tcp-concurrent: true

use-hosts: true
hosts:
  cache.ott.ystenlive.itv.cmvideo.cn: pixman.io.ystenlive.dnsany.com
  cache.ott.bestlive.itv.cmvideo.cn: pixman.io.bestlive.dnsany.com
  cache.ott.wasulive.itv.cmvideo.cn: pixman.io.wasulive.dnsany.com
  cache.ott.fifalive.itv.cmvideo.cn: pixman.io.fifalive.dnsany.com
  cache.ott.hnbblive.itv.cmvideo.cn: pixman.io.hnbblive.dnsany.com

Shadowrocket (iOS 小火箭)

APP 首页底部配置页面,Hosts,新增 Host 映射,类型选择 本地值,域名填写 cache.ott.ystenlive.itv.cmvideo.cn,本地值填写 pixman.io.ystenlive.dnsany.com,保存,然后再次新增映射,总共五个域名都要映射一下,对应关系参考上面 Clash Meta 的配置

Quantumult X

[dns]
alias = /cache.ott.ystenlive.itv.cmvideo.cn/pixman.io.ystenlive.dnsany.com
alias = /cache.ott.bestlive.itv.cmvideo.cn/pixman.io.bestlive.dnsany.com
alias = /cache.ott.wasulive.itv.cmvideo.cn/pixman.io.wasulive.dnsany.com
alias = /cache.ott.fifalive.itv.cmvideo.cn/pixman.io.fifalive.dnsany.com
alias = /cache.ott.hnbblive.itv.cmvideo.cn/pixman.io.hnbblive.dnsany.com

修改 Hosts 文件

如果以上代理软件的方法全部不能使用,那可以直接将 IP 写入 Hosts 文件,最好是每个域名都找一个 ip 映射,命令类似

$ ping pixman.io.ystenlive.dnsany.com

从响应的 ip 里随便选一个,然后修改 Hosts 文件类似:

1.1.1.1  cache.ott.ystenlive.itv.cmvideo.cn
2.2.2.2  cache.ott.bestlive.itv.cmvideo.cn
3.3.3.3  cache.ott.wasulive.itv.cmvideo.cn
4.4.4.4  cache.ott.fifalive.itv.cmvideo.cn
5.5.5.5  cache.ott.hnbblive.itv.cmvideo.cn 

这个方法有个缺点,就是 ip 可能会变化,如果一个 CDN ip 失效了,那只能修改 Hosts 为新的 ip

同时此方法也可用于非 Clash Meta 内核的 Clash 代理软件,配置文件类似:

hosts:
  cache.ott.ystenlive.itv.cmvideo.cn: 1.1.1.1
  cache.ott.bestlive.itv.cmvideo.cn: 2.2.2.2
  cache.ott.wasulive.itv.cmvideo.cn: 3.3.3.3
  cache.ott.fifalive.itv.cmvideo.cn: 4.4.4.4
  cache.ott.hnbblive.itv.cmvideo.cn: 5.5.5.5

以上就是三网通用的播放移动 iTV 平台的方法,Enjoy it ~

coding Docker 镜像 pixman/pixman 使用说明 提及了此话题。 06月20日 18:23
coding 将本帖设为了精华贴。 06月20日 18:47

牛叉嘿嘿。。。。。

前排就坐

纠错: hnbblive 不是湖南移动,正确名称是咪咕视讯

楼主真是太强了,膜拜

passwall 的设置方法有没有

shr 回复

感谢提醒,已纠正

chuannc 回复

应该还是需要找到 Hosts 设置,手动 ping 出可用 ip

真是个多能手

这个不错啊还不知道怎么用

移动网络不能直接播嘛?,反而 loon 里写好 dns 映射代理就可以了。

sha 回复

有些频道并不是全国移动可看的,限制地区,映射好域名就没问题了

跪求一个华硕路由器梅林固件的 merlin clash 配置方式,万分感谢

inzaghi458 回复

我没有这个固件,没法测试,应该跟通用的 clash 配置方法一样,hosts 把域名和 ip 关联起来

为什么 我群晖 使用 nginx 代理 TPTV 和 ITV 可以下载 m3u 文件就是无法播放?有详细一点的教程吗或者帮我看下 谢谢

大佬救命按照 Clash Meta 内核 的设置完成后在 iOS 的 aptv 上播所有内容都能播放,但在 android TV 的 tivimate 和 ott 软件中播放失败。。。加 ua 403 错误 不加 530 错误。顺带提一下 tptv 这个没问题哦

能否出一期 iTV 空间服务器部署的食用教程?

lj98 回复

虚拟空间不支持运行 docker

babyG 回复

android tv 是否将网关和 dns 设置为软路由 ip?

v2rayN 怎么设置啊?

coding 回复

是的啊 dhcp 啊要静态?

babyG 回复

你的 openwrt 是主路由吗

coding 回复

旁 主路由是爱快

coding 回复

iOS 为啥又可以呢😰

babyG 回复

你 iOS 有没有使用代理软件,设置的网关和 DNS 服务器又是什么

请教大佬,部署了 nginx,配置好 2 个文件 itv.conf 和 tptv.conf,如何共用同一个容器呢? 分别运行不行 docker run -d --name=pixman-nginx -p 8000:8000 -v /opt/pixman/nginx:/etc/nginx/conf.d --restart=always nginx docker run -d --name=pixman-nginx -p 9000:9000 -v /opt/pixman/nginx:/etc/nginx/conf.d --restart=always nginx

auney 回复

-p 8000:8000 -p 9000:9000 这样就行了

coding 回复

iOS mac 都没有用代理 也是自动获取 都可以播哦 回家把盒子静态试试

babyG 回复

我的意思就是需要让流量经过 openclash

coding 回复

嗯手机电脑都可以应该经过了吧而且看其他需要代理的流媒体都正常安分流走哦

coding 回复

我在群里在看别人的问题参考一下吧麻烦了哦

已成功吃上 ITV,谢谢大佬赏饭😛

kylin 回复

哈哈哈,good

除了 mytv 等因为代理节点问题不能使用,tptv、itv 等都很流畅!还学习了 docke compose 等新用法。感谢热心大佬!

coding 群晖搭建容器 TPTV 和 ITV 都无法播放 提及了此话题。 06月22日 16:16

pixman 宇宙无敌,以下重复一万遍!!

v2rayng 怎么设置呢?

ohjust 回复

不支持

coding Nginx 代理 TPTV 和 iTV 提及了此话题。 06月22日 22:04

docker run -d --name=pixman-nginx -p 8000:8000 -v /opt/pixman/pixman.conf:/etc/nginx/conf.d/pixman.conf --restart=always nginx 这个命令更新怎么办?

ccf 回复

这个帖子有写:https://pixman.io/topics/17

联通可以用 iTV 直播源,速度很快。感谢大佬!

请问:是需要把我搭建服务的 VPS 的 IP,做一条解析到 dnsany.com 吗?是做 A 记录还是 CNAME 呢?

246250 回复

不是,是你播放设备要把移动的域名指向 dnsany.com,

coding 回复

"播放设备要把移动的域名指向 dnsany.com",没明白这是什么意思?求更为详细的解答,谢谢!

246250 回复

就是这个帖子里写的,如果你搞不定,可以直接用 itv_proxy.conf 订阅,不过这样会消耗你服务器流量

使用 itv_proxy,除了 hnbblive 能正常跳转到 cache.ott.hnbblive.itv.cmvideo.cn,其它的都会跳转到 39.135.74.185 这个 ip 上面

feng 回复

什么网络,移动电信还是联通?

coding 回复

移动

coding 回复

docker 移动网,有办法解决吗

http://ip:port/itv_proxy.m3u 订阅,无需 nginx 或者 dns 配置,流量全部经过 pixman 代理,这种方式建议运行在家中内网设备上。 这个要在哪里设置

hui 回复

不需要设置,直接订阅 http://ip:port/itv_proxy.m3u

http://ip:port/itv_proxy.m3u 都无法播放了,TPTV、4GTV 都没问题

johnsyoun 回复

什么地区,什么网络

johnsyoun 回复

我更新了 DNS 负载均衡,你重启镜像再试试

coding 回复

辽宁沈阳,联通,已更新到最新镜像。 群晖 nas 搭建的 Docker 容器,软路由关闭代理,各直播源都能正常播放;开启代理,除 iTV 源之外,其他直播源都正常。

johnsyoun 回复

订阅 http://ip:port/itv_proxy.m3u,播放,然后 docker logs pixman 看看日志显示什么

真不错的项目,大佬牛逼👌

coding 回复

[2024-07-15 02:29:31,708] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /1000000005000025222/1.m3u8?channel-id=ystenlive&Contentid=1000000005000025222&livemode=1&stbId=3 (Caused by ConnectTimeoutError(, 'Connection to gslbserv.itv.cmvideo.cn timed out. (connect timeout=5)')), retrying... [2024-07-15 02:29:27,284] ERROR in app: Request failed: HTTPConnectionPool(host='pixman.io.ystenlive.dnsany.com', port=80): Max retries exceeded with url: /000000001000/1000000005000025222/1.m3u8?channel-id=ystenlive&Contentid=1000000005000025222&livemode=1&stbId=3&version=1.0&owaccmark=1000000005000025222&owchid=ystenlive&owsid=9345551721010170194&AuthInfo=7W4vzMPHMH4yEQv566B4OXNzI7oRgoZMjzFoYcaMONfOuXMLDCwL9Tn%2Bfigar0ngLgD%2Bv22RkFh%2BAr5hjHGp3A%3D%3D (Caused by ConnectTimeoutError(, 'Connection to pixman.io.ystenlive.dnsany.com timed out. (connect timeout=5)')), retrying... [2024-07-15 02:29:25,990] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /1000000005000025222/1.m3u8?channel-id=ystenlive&Contentid=1000000005000025222&livemode=1&stbId=3 (Caused by ConnectTimeoutError(, 'Connection to gslbserv.itv.cmvideo.cn timed out. (connect timeout=5)')), retrying...

johnsyoun 回复

看样子你连接这个 gslbserv.itv.cmvideo.cn 都连不上,你本地命令行测试 curl "http://gslbserv.itv.cmvideo.cn/1000000005000025222/1.m3u8?channel-id=ystenlive&Contentid=1000000005000025222&livemode=1&stbId=3" -I 试试看响应头是不是 302;

检查你的代理规则,确保下面两个域名走直连

- DOMAIN-SUFFIX,dnsany.com,DIRECT
- DOMAIN-SUFFIX,cmvideo.cn,DIRECT
coding 回复

代理规则都没问题,貌似代理插件配置有点问题,现在又正常了,谢谢!

大佬,我是 openclash,这个域名映射的配置代码写到哪里啊?

zjgtree 回复

写在配置文件里,或者在 覆写设置 - DNS 设置,勾选 Hosts,然后编写内容;主要需要用 meta 内核

coding 回复

是 meta 内核,修改 host 添加了那段代码 openclash 无法启动了。。。

zjgtree 回复

看内核日志

coding 回复

直接添加域名映射就可以了,但是播放有点不稳定,我再测试一段时间再说吧,谢谢大佬

请问一下大佬,passwall 的映射设置怎么弄呢?谢谢

真的不错哈 点赞

我的电视盒子比较落后,望大佬能不能保留低码率 720P 的列表呢

zjgtree 回复

你好,是在哪里添加域名映射?

cutepan 回复

你可以自己编写 m3u 列表

tanrenye 回复

可能是 ip 变更,晚点我刷新 dns

dns 应该失效了

用 itv_proxy.m3u 的地址请求出错,以前正常的。docker pixman 错误日志 [2024-08-06 07:54:08,787] ERROR in app: Request failed: HTTPConnectionPool(host='pixman.io.wasulive.dnsany.com', port=80): Max retries exceeded with url: /000000001000/6000000001000029752/1.m3u8?channel-id=wasusyt&Contentid=6000000001000029752&livemode=1&stbId=3&version=1.0&owaccmark=6000000001000029752&owchid=wasusyt&owsid=9072121722930838176&AuthInfo=oQgPgGpsRJMfIYt7hrZl1f8NkoG0i9ho53qgXDWzLd0knAlFvMRQo7fU5DZoM4aquy6Z2hfMhj7nCkuDa12SYA%3D%3D (Caused by ConnectTimeoutError(, 'Connection to pixman.io.wasulive.dnsany.com timed out. (connect timeout=5)')), retrying... [2024-08-06 07:54:08,787] ERROR in app: Request failed after retrying

浙江电信网络 pixman.io.wasulive.dnsany.com 的 dns 失效

redsun168 回复

v1.6.6 已修复

广州移动光纤,客户端是 APTV(APPLE TV 4K),ITV 十分稳定。就是有一个问题,很多频道重复,比如 CCTV5 有三个源,但是我只想用 HEVC。不然使用遥控器上下换台时,一个频道要切 3 次才跳过,很不方便。我试过在 APTV 里将多余频道删除,但是一更新源就又全部刷新了。有没有办法可以自行配置或过滤源的频道呢,谢谢!!!

dawuman 回复

首先将 itv 的 m3u 下载下来,然后手动调整

导入外部的 m3u 文件,从而通过 http://ip:port/your.m3u 访问:

docker run -d --name=pixman -p 5000:5000 -v /path/to/yours:/app/app/data/m3u --restart=always pixman/pixman

# 挂载后,将 m3u 文件放到 /path/to/yours 目录下,然后通过 http://ip:port/your.m3u 访问
coding 回复

请问大佬:pixman 如果更新升级,之前手动调整的 your.m3u 需要再次调整吗?谢谢!

老哥请教一下使用了 itv_proxy.m3u 也影射了说明中的 5 个域名,但不是有问题 logs 报错: [2024-09-15 08:49:21,036] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... [2024-09-15 08:49:22,178] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... [2024-09-15 08:49:23,552] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying... [2024-09-15 08:49:26,553] ERROR in app: Request failed: HTTPConnectionPool(host='gslbserv.itv.cmvideo.cn', port=80): Max retries exceeded with url: /6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Try again')), retrying...

大佬,移动的源应该都是支持时移回看的,itv_proxy.m3u 能不能传递 playseek 参数实现这个功能?

感谢 Coding 大佬!修改 hosts 的确非常方便!iOS 端的代理软件非常容易操作,但 Windows 11 稍微复杂了些(v2rayN 设置没有效果),最后是直接修改系统 hosts 解决问题了,最后让 ChatGPT 写了个脚本,每天自动 ping 一次,获取结果。如何哪天播放不了了(希望 IP 不要更换太频繁,哈~),再次修改一次 hosts。 再次感谢大佬造福大众的项目!

93 楼 已删除
94 楼 已删除

专程开贴来感谢大佬,域名解析很好用,大佬破费了,并不是出不起机顶盒的钱,而是研究技术很有趣,这个国庆在家过的很有意义

czpwpq 回复

客气

coding 回复

我在 server 2022 的 wsl2 里部署的 docker,因为宿主机平时要挂 PT,没有开代理,拉取镜像时用的这个:docker stop pixman && docker rm pixman && docker rmi dockerproxy.cn/pixman/pixman && docker pull dockerproxy.cn/pixman/pixman && docker run -d --name=pixman --restart=always -p 5050:5000 -e http_proxy=http://10.0.1.1:7890 -e https_proxy=http://10.0.1.1:7890 dockerproxy.cn/pixman/pixman 10.0.1.1 上有 shellcrash 代理软件,我现在在 mac 电脑上能看,但是在 iphone 上就看不了,这是怎么回事? 还有就是,要正常收看 itv 的话,是 docker 所在宿主机还有播放终端都得同时开代理么,还是只要镜像运行起来,在播放设备里有代理环境即可?

ccf 回复

有两种方法:

  • 播放设备需要代理软件映射域名
  • 直接订阅 /itv_proxy.m3u
coding 回复

播放设备上第二种不行呢,是不是下次拉取镜像时去掉 -e http_proxy=http://10.0.1.1:7890 -e https_proxy=http://10.0.1.1:7890这两行也没影响?

update:去掉之后重新拉取镜像,几个设备上用方案二都可以了。

大佬 镜像拉取失败 Error response from daemon: Get "https://registry-1.docker.io/v2/:" read tcp 198.18.0.1:46294->198.18.0.6:443: read: connection reset by peer

rygzs88 回复

docker 被墙了,你去 Google 搜一下解决方案

coding 回复

我用你说的这个订阅导进 APTV,频道有绿色的延迟显示,但是播放不出来,这是什么原因呢

还请教个问题 我是想把这个搭建在自己家的 NAS 上,然后给我岳父家也能看 但是岳父家没梯子 应该如何操作

bingbaicai 回复

使用 itv_proxy.m3u 订阅

coding 回复

嗯 TG 群里面的 poneday 大佬帮我看了,原因是我加了代理,我家删掉 2 个代理地址 OK 了

107 楼 已删除

不论是江苏移动线路或是江苏电信线路用代理,其中的中国移动 itv(itv.m3u)都没办法播放。只能用 itv_proxy.m3u 才可以播放。

109 楼 已删除

itv 在 aptv 里看一会儿就黑屏,接着就显示是无法播放该频道 这是咋回事呢,我记得很久之前 itv 没有这种情况啊

有个问题,每个卫视都会有三个,普通 25fps,50fps,hevc 25fps。能不能只保留一个 50fps?

112 楼 已删除

itv 支持 24 小时回放,希望能补上啦。 回放参数是

index.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=4&stbId=4&starttime=20241011T184900.00Z&endtime=20241011T190000.00Z

一般播放器检测到 TVOD 字段的话,就会请求类似于 playseek=20241011184900-20241011190000 的回放 URL。

linux 要怎么设置 host 呢?

为什么每天晚上会看不了,早上又可以了

我的环境是主路由没开梯子。局域网建立 AdGuard Home 服务器,用 DNS 重写功能。看 itv 的设备 dns 设成 AdGuard Home 服务器的 ip。即可观看 itv。 感谢大佬的项目。

楼主,可增加广东珠江,新闻,体育,民生系列台吗?

ABC 直播代理问题 提及了此话题。 10月31日 18:22
coding 回复

小白看不懂啊

itv_proxy.m3u 是不是挂了,人在海外。今天突然央视都没办法看了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号