分享我的IPTV电视直播源自动更新工具

2025-05-20 02:02:42
前面一篇文章我把自己折腾iptv的一些经历给分享了下,具体见:IPTV整合,实现自由观看电视。 这里感谢各位观众老爷的抬爱,都纷纷留言讨论...

前面一篇文章我把自己折腾iptv的一些经历给分享了下,具体见:IPTV整合,实现自由观看电视。

这里感谢各位观众老爷的抬爱,都纷纷留言讨论。 很多朋友留言说要直接给可用的频道链接,也有认为我是卖设备、卖会员的,也有希望我直接打包成apk提供的。

这里澄清下,

我的记录只是我自己折腾的过程。这中间受到大家的关注我很荣幸。我不是商家,不卖设备,也不卖会员,也不会向谁收取任何费用来提供相关内容。我也不会直接给各位提供iptv的频道信息,这些都是互联网上可以找到的。但是涉及到的技术,比如怎么找,对应打包的脚本镜像等可以直接提供给大家。大家有什么相关的问题我们也可以交流。这个相关内容涉及的技术, 很多都是基于一些开源项目来二次整合的,如果你也感兴趣,我们可以一起交流。回到上一篇文章,其中的背景是:我想自己定义搜索一些家里iptv没有覆盖到的频道。 所以折腾了下脚本镜像什么的。

后面看到大家的留言,我才发现,Guovin大佬做了一个更完整的工具。感兴趣的可以自行去这个地址取用:https://github.com/Guovin/TV 。Guovin大佬做的比较完整,各种平台的都有,也包括一些windows平台下带图形界面的。

这里应一些同学的要求,我把我上一篇的整个过程打包到容器镜像里面去了。如果各位观众老爷用的过程中有问题,随时给我留言。也顺带借tvbox,解释下怎么用接口怎么用。

(好像我贴网盘链接被黑了,我放第一条评论了,Emmmm..)下面是关于镜像的说明

作用和约束先说一下作用和一些约束,如果你的环境不适用,也想用这套的,可以私信留言。这个镜像实现了自动搜索和并校验可用的iptv源。限x86环境。如果是arm的环境,有些包需要重新编译。

文件说明对应文件的说明:压缩包目录结构如下:

代码语言:javascript代码运行次数:0运行复制├── autoupdatetv.tar

├── README.md

└── tvconfig

├── iptv_config.json

├── start.sh

└── target.txt

autoupdatetv.tar 离线docker镜像README.md 使用说明tvconfig目录,配置文件,包括iptv_config.json:运行配置文件start.sh 容器运行时启动脚本target.txt,运行参数文件相关配置填写说明拿到需要先填写配置文件

修改iptv_config.json文件这是一个标准json格式的文件,这里定义的程序运行需要的一些必要参数。具体说明如下

配置项目

含义

填写说明

备注

ip_version_priority

协议优先版本

填写ipv4或者ipv6, 如果家里网络环境支持v6,建议填写为ipv6

source_urls

搜索的访问

这是一个数组,定义了从哪些源里面去搜索想要的频道

这里默认了一些比较全的源

url_blacklist

黑名单

这个列表里面的地址即使在source_urls定义也不会记录

epg_urls

epg信息

从这里面的信息里面获取到epg信息,

log_dir

日志目录

默认是空,表示当前目录。也可以自己定义。可以进入到容器里面的work目录看日志,日志文件是search_iptv.log

填写target.txt 这是比较重要的, 我关注什么频道,都可以在这里面定义。基本格式参考如下代码语言:javascript代码运行次数:0运行复制分组名称,#genre#

频道名称1,

频道名称2,

...

分组名称,#genre#

频道名称1,

频道名称2,

...

在压缩包里面附带了基本所有频道的列表,根据自己的需要来选择。

start.sh文件修改这个文件是定义容器里面的一些行为的,默认不用修改。不过如果你需要自己定义更新频率,可以修改这个文件的。具体方法如下:vi打开该文件,修改第22行,默认是

代码语言:javascript代码运行次数:0运行复制0 1 * * * /usr/bin/bash /app/autostart.sh

表示每天凌晨1点更新一次。如果你想修改,参考linux定时任务的写法,修改0 1 * * *部分即可。比如你想修改为每隔两小时运行,可以改成如下

代码语言:javascript代码运行次数:0运行复制0 */2 * * * /usr/bin/bash /app/autostart.sh

启动运行将网盘里面内容下载到你的环境上(需要提前安装好docker)导入镜像代码语言:javascript代码运行次数:0运行复制docker load -i autoupdatetv.tar

参考上面的步骤修改配置文件运行 将tvconfig文件作为容器卷映射到容器里面,比如你将以上文件保存到/opt/itv这个目录下,目录结构如下代码语言:javascript代码运行次数:0运行复制root@localhost:/opt/itv# pwd

/opt/itv

root@localhost:/opt/itv# ls -lr

drwxr-sr-x 2 root users 64 11月11日 17:34 tvconfig

-rw-r--r-- 1 root users 0 11月11日 17:13 README.md

-rw------- 1 root users 852023296 11月11日 17:11 autoupdatetv.tar

使用docker直接运行

代码语言:javascript代码运行次数:0运行复制docker run -d --restart always -p 8081:8089 -v /opt/itv/tvconfig:/app/config autoupdatetv:1.0

其中, -p 8081:8089 表示你的服务器8081端口代理容器内部的8089端口, -v /opt/itv/tvconfig:/app/config,表示将宿主机上的 /opt/itv/tvconfig挂载到容器内部/app/config下。

当然也可以docker-compose运行 可以编写yaml文件

代码语言:javascript代码运行次数:0运行复制version: '3.9'

services:

autoupdatetv:

image: 'autoupdatetv:1.0'

volumes:

- '/opt/itv/tvconfig:/app/config'

ports:

- '8081:8089'

restart: always

注意:以上端口和路径需要自己根据自己的环境自行修改

容器运行成功之后,等几分钟,首次搜索完成。就可以通过如下地址**http://yourip:8081/static/result.m3u **来查看更新的m3u文件了

关于播放器之前的文章,很多同学在问想用什么软件,还说让我打包个apk,其实没必要。你用任何一个软件,其实都不稳定,说不定哪天就跑路了(比如之前电视家)。所以我一直用tvbox加接口的方式,tvbox本身是个开源的, 不用担心跑路。 至于接口,你都本地部署了,改改参数就可以重新运行了,真正自主可控了。

不过目前tvbox的变种很多,推荐用多仓版本的(具体差异和下载地址自行搜索吧,魔改版太多了)。因为多仓版本可以自己定义直播地址,具体方法如下:首页---设置---配置地址,具体如下:

第一行是自己找的别人做好的接口地址。

第二行是直播接口 。

第三行是epg界面信息

手机观看效果,也可以安装到电视,投影,平板上:

以上就是本期内容了,欢迎各位观众老爷点评指正。