自建IPTV直播源,不需要再为到处寻找直播源烦恼了

对于很多 IPTV 爱好者来说,pixman、allinone 等 docker 镜像不可不知。部署好 pixman、allinone 等直播源工具,不仅功能丰富、易用,绝对能够做到想看啥就看啥。这些项目/工具的难点不在使用,而在认知、部署,对于普通电视直播观看者而言,一个闲置吃灰的电视盒子不难找,即便没有,Windows 环境下本地部署总是可以的,难的是要敲命令行才能“部署”、才能用。本文就将融合了 pixman、allinone 两个工具的一键脚本进行分享,同时以 allinone 为例复现其手动部署过程,供有动手能力的小伙伴参考。

前备条件

首先,本文的项目(自建的直播源服务)安装在一个刷好了 armbian 的机顶盒上,当然,你在公网 VPS 上部署也是可以的。

其次,你需要畅通的网络,可以正常拉取 docker 镜像、下载 github 文件、播放国外内容,镜像拉取可借助本站「公益加速」。

一键脚本

登录 Linux 主机,拷贝以下命令直接运行,将下载、运行精简一键脚本。脚本尚未对 armv7 设备适配适当的镜像,谨慎使用。

bash <(curl -L -s https://appscross.com/as-tools/pub%20Tools/tv-allinone/iptv.sh)

选择安装 pixman、allinone 两个工具即可,也可先后都安装,默认监听端口会分别为 5000 和 35455,两者可以同时工作。安装完成后,会显示直播源连接信息。

当前,pixman 项目的国内直播源均不再可用,4gtv、thetv 等均可正常使用,前提是要自备魔法。MytvSuper、HamiVideo 需要已注册开通/订阅相关服务,并配置额外环境变量方可使用,本脚本显示仅为示例。

Allinone工具手动部署

Allinone 项目可以部署在任何远程或本地主机上,包括 VPS、Linux 机顶盒甚至本地 Windows 环境下。这里仅以 armbian 机顶盒为例。SSH 登录后,创建 allinone 项目的部署目录,此处使用 iptv,并在该目录下创建 docker-compose.yml 配置文件。

mkdir -p /opt/iptv

cd /opt/iptv/ && nano docker-compose.yml

docker compose.yml 配置文件参考如下,可直接引用。

version: '3'

services:

allinone:

image: youshandefeiyang/allinone

container_name: allinone

restart: unless-stopped

privileged: true

ports:

- 35455:35455

av3a-assistant:

image: youshandefeiyang/av3a-assistant:arm64

container_name: av3a-assistant

privileged: true

restart: unless-stopped

ports:

- 35442:35442

allinone_format:

image: yuexuangu/allinone_format:latest

container_name: allinone_format

restart: unless-stopped

ports:

- 35456:35456

volumes:

- ./config/:/app/config/

depends_on:

- allinone

watchtower:

image: containrrr/watchtower

container_name: watchtower

restart: unless-stopped

volumes:

- /var/run/docker.sock:/var/run/docker.sock

command: --schedule "0 0 2 * * *"

直接拷贝、粘贴上述 docker compose.yml 务必进行格式检查,避免不可见的非空格符和不规范缩进。保存配置文件后,使用 docker-compose up -d 命令拉取镜像并自动加载容器。

docker-compose up -d

容器正常加载运行后,就可以通过启用的监听端口 35455 或 35442 远程加载直播节目了,默认使用 35455 端口,仅在 4K/8K 无法播放或无声的情况下尝试切换为 35442 端口。

http://IP:35455/tv.m3u

http://IP:35455/tptv.m3u

http://IP:35455/migu.m3u

http://IP:35442/tv.m3u

http://IP:35442/tptv.m3u

http://IP:35442/migu.m3u

其他支持的直播平台还包括:

BiliBili 生活:http://IP:35455/bililive.m3u虎牙一起看:http://IP:35455/huyayqk.m3u斗鱼一起看:http://IP:35455/douyuyqk.m3uYY 轮播:http://IP:35455/yylunbo.m3u

同时还可使用 http://IP:35456/tv.php 在套壳工具中使用,并同时指定聚合参数。

http://IP:35456/tv.php?h=allinoneIP&p=allinonePort&m=1&t=0

请求参数说明:h-可选参数,allinone 项目部署的主机 IP 或域名(不能使用 127.0.0.1),默认值为主机 IPp-可选参数,allinone 项目使用的宿主机端口,默认值为 35455m-可选参数,是否对频道连接进行聚合,默认值为 1(聚合),可选 0(不聚合),推荐不支持聚合格式的 tvbox 类 app 使用t-可选参数,输出格式 默认值为 0(m3u),可选 1 (txt)

可能出现的问题

docker镜像无法拉取

如果 docker 镜像无法拉取或拉取缓慢,可使用本站公益加速 docker.appscross.com | ghcr.appscross.com 。

tee /etc/docker/daemon.json <

{

"registry-mirrors": ["https://docker.appscross.com"]

}

EOF

systemctl daemon-reload

systemctl restart docker

找不到 docker-compose 命令

如果提示找不到 docker-compose 命令,可通过如下两种方法安装。

#方法一

apt install docker-compose -y

#方法二

apt update -y

apt install -y python3-pip -y

pip3 install docker-compose

或者直接下载 docker-compose 可执行文件。

curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

pixman为什么看不了国内频道

Pixman 是免费的,实际也是也开源的,推测出于国内直播平台跨省跨网限制、无良商家用来收费、伸手党等诸多因素,作者不再更新所致。但是,可以将自己的直播源(例如 fmm 源)放置于项目目录的 data 目录(默认为 /opt/pixman/data)下,同样可以统一使用 pixman 作为直播源服务接口。