多平台IPTV聚合工具Pixman
什么是 pixman/pixman ?
pixman/pixman 是一个基于 Docker 的 IPTV 工具,支持Arm64, Arm/v7 和 x86_64 架构,它能让你轻松获取和观看各种 IPTV 直播源。
软件特点:
多平台支持: Pixman 可以在支持 Docker 的多个操作系统上运行,包括 Linux、Windows 和 macOS。
架构兼容性: 提供不同架构的镜像,如 pixman/pixman-armv7,以支持不同的设备。
易于使用: 用户可以通过简单的 Docker 命令快速拉取和运行 Pixman 镜像,灵活地指定版本和端口。
环境变量配置: 支持通过环境变量配置代理设置和访问特定直播源(如 MytvSuper)。
外部文件支持: 允许导入外部 M3U 文件,以便通过 HTTP 访问该源。
更新简便: 提供清晰的更新流程,用户可以轻松停止、删除旧容器并拉取新镜像。
支持的直播源: 支持多种直播源,包括 4GTV、TPTV、央视频等。
社区支持: 活跃的论坛和社区,用户可以在其中寻求帮助和分享经验。
安装在群晖上以 Docker 方式安装。
在注册表中搜索 pixman ,选择第一个 pixman/pixman,版本选择 latest。
本文写作时, latest 版本对应为 v1.8.2;
卷在 docker 文件夹中,创建一个新文件夹 pixman,并在其中建一个子文件夹 data
文件夹
装载路径
说明
docker/pixman/data
/app/app/data/m3u
存放其他途径收集的直播源列表
端口本地端口不冲突就行,不确定的话可以用命令查一下
12# 查看端口占用netstat -tunlp | grep 端口号
本地端口
容器端口
5042
5000
环境
可变
值
http_proxy
如果某些域名无法访问,可以设置 http 代理
https_proxy
如果某些域名无法访问,可以设置 https 代理
MYTVSUPER_TOKEN
如果你需要访问 MytvSuper 直播源,需要设置
HAMI_
如果你要访问 Hamivideo 直播源,需要设置,同时有三个参数,分别是 HAMI_SESSION_ID、HAMI_SERIAL_NO 和 HAMI_SESSION_IP
获取 MYTVSUPER_TOKEN 的方法:https://pixman.io/topics/31
获取 HAMI_ 的方法:https://pixman.io/topics/71
以上参数需要根据自己的实际情况进行设置,没有也可以不设置
命令行安装如果你熟悉命令行,可能用 docker cli 更快捷
12345678910111213141516171819202122# 新建文件夹 pixman 和 子目录mkdir -p /volume1/docker/pixman/data# 进入 pixman 目录cd /volume1/docker/pixman # 运行容器(挂载自己的源)docker run -d \ --restart unless-stopped \ --name pixman \ -p 5042:5000 \ -v $(pwd)/data:/app/app/data/m3u \ pixman/pixman# 运行容器(设置代理的示例)docker run -d \ --restart unless-stopped \ --name pixman \ -p 5042:5000 \ -e http_proxy=192.168.0.201:2081 \ -e https_proxy=192.168.0.201:2081 \ pixman/pixman
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
123456789101112131415161718version: '3'services: pixman: image: pixman/pixman container_name: pixman restart: unless-stopped ports: - "5042:5000" volumes: - ./data:/app/app/data/m3u #environment: # - http_proxy=192.168.0.201:2081 # - https_proxy=192.168.0.201:2081 # - MYTVSUPER_TOKEN=<你的 MytvSuper 的 token> # - HAMI_SESSION_ID=<你的 Hamivideo 的 session_ID> # - HAMI_SERIAL_NO=<你的 Hamivideo 的 session_No> # - HAMI_SESSION_IP=<你的 Hamivideo 的 session_IP>
然后执行下面的命令
12345678910# 新建文件夹 pixman 和 子目录mkdir -p /volume1/docker/pixman/data# 进入 pixman 目录cd /volume1/docker/pixman# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d
运行一开始可能会占用率比较高
但是很快就会降下来
内置接口pixman/pixman 的使用方法和 Guovin/TV 类似,也没有界面,区别在于 Guovin/TV 最后只生成一个源,而 pixman/pixman 则支持多个热门直播源,其访问接口是不一样的
文章传送门:IPTV直播源自动检测和更新工具
直播源
接口
四季线上 4GTV
http://群晖IP:5042/4gtv.m3u
江苏移动魔百盒 TPTV
http://群晖IP:5042/tptv.m3u 或者 http://群晖IP:5042/tptv_proxy.m3u
央视频直播源
http://群晖IP:5042/ysp.m3u
LITV 直播源
合并到 4gtv
YouTube 直播源
http://群晖IP:5042/youtube/{VIDEO_ID}
MytvSuper 直播源
http://群晖IP:5042/mytvsuper.m3u
Beesport 直播源
http://群晖IP:5042/beesport.m3u
TheTV
http://群晖IP:5042/thetv.m3u
中国移动 iTV 平台
http://群晖IP:5042/itv.m3u 或者 http://群晖IP:5042/itv_proxy.m3u
Hami Video
http://群晖IP:5042/hami.m3u
DLHD
http://群晖IP:5042/dlhd.m3u
自定义接口如果你有自己的源文件,需要放入到 data 目录中,这是 Pixman 为了统一管理,可通过 http://群晖IP:5042/文件名.m3u 访问
假设我们放入了一个 result.m3u 文件,可以通过 http://群晖IP:5042/result.m3u 来访问。需要注意的事项:
如果文件名输入错误,则会返回 {"error":"File not found"}
只支持 .m3u 文件,其他文件不行,例如 .txt
这样做的目的,是为了让支持订阅的播放器(例如:TiviMate),可以不用将源文件传到设备,再进行本地导入,大大简化了操作难度
说明
Pixman 对网络有较高的要求:某些域名无法访问,不仅容器需要通过环境变量设置科学上网,播放器端也可能同样需要
部分源提供了 2 个地址:
订阅 /tptv.m3u,如果不能播放,可以尝试修改播放器的 UA (User-Agent)
如果播放器不支持修改 UA,那可以订阅 /tptv_proxy.m3u,Pixman 将会代理请求,任何播放器都支持;
假如你觉得 Pixman 代理流量性能不如 nginx,可以参考:https://pixman.io/topics/39
如果使用 MytvSuper 源,可能会用到的命令
12345# 清理缓存 docker exec pixman sh -c 'flask clean_cache' # 更新 mytvsuper_tivimate.m3u 文件 docker exec pixman sh -c 'flask mytvsuper_tivimate'
更多的使用问题和技巧,可以去官方查找:https://pixman.io
参考文档
pixman.io地址:https://pixman.io/
Docker 镜像 pixman/pixman 使用说明 · pixman.io地址:https://pixman.io/topics/17
pixman/pixman - Docker Image | Docker Hub地址:https://hub.docker.com/r/pixman/pixman
在群晖 Synology 上运行 pixman 及 nginx · pixman.io地址:https://pixman.io/topics/14
pppyyyccc/streamshield-proxy: StreamShield Proxy 是一个用于解决IP限制无法直接播放来自 pixman.io 的 4gtv.m3u 和myspuertv.m3u theTV.m3u的项目。通过个人 VPS 代理转发流量,目前集成了 YSP 、ITV、TPtv和、4Gtv、MyTVsuper、Thetv地址:https://github.com/pppyyyccc/streamshield-proxy

