之前分享过直播软件,结果大家都说不差软件,差的是源,今天就给大家能自动更新的直播源吧,它就是Guovin佬的iptv-api。
什么是iptv-api?
iptv-api一个可高度自定义的IPTV接口更新项目,支持丰富的个性化配置,自定义频道菜单,自动获取直播源,测速验效后生成可用的结果,将结果地址输入播放器即可观看,实现秒播级体验。
有什么特点
自定义模板 :生成自己想要的频道菜单
频道别名:提升频道结果获取量与准确率,支持正则表达式
多源聚合:本地源、订阅源
推流:改善弱网播放体验,支持浏览器直接播放
回放类接口:回放类接口的获取与生成
EPG:获取并显示频道预告内容
频道台标:自定义频道台标库来源
测速验效:获取延迟、速率、分辨率,过滤无效接口,支持实时输出结果
高级偏好设置:速率、分辨率、黑/白名单、归属地与运营商自定义过滤
结果管理:结果分类存储与访问、日志记录、未匹配频道记录、统计分析、冻结过滤/解冻回归、数据缓存
定时任务:定时或间隔执行更新
多平台部署:工作流、命令行、
GUI软件、Docker (amd64/arm64/arm v7)
项目地址:https://github.com/Guovin/iptv-api/tree/master
项目部署
新建存储目录
安装之前需先在docker文件夹中新建一个iptv-api文件夹,再在文件夹下创建config和output两个文件夹,用于配置持久化保存和结果输出,后面所有相关文件都存在这里。
准备Compose文件
打开飞牛的docker--compose--新增项目--项目名称(填iptv-api,可识别即可),路径选择上面建立好的文件夹“iptv-api”,选择创建docker-compose.yml,然后将下面代码复制粘贴到代码框,最后勾上创建项目后立即启动,点击创建即可:
services:
iptv-api:
# 使用最新版iptv-api镜像
image: guovern/iptv-api:latest
# 容器名称
container_name: iptv-api
# 重启策略:除非手动停止,否则自动重启
restart: unless-stopped
# 端口映射:宿主机8190端口 -> 容器8080端口
ports:
- "8190:8080"
# 数据卷挂载:将本地目录映射到容器内,持久化配置和输出结果
volumes:
- ./config:/iptv-api/config
- ./output:/iptv-api/output
# 环境变量配置
environment:
- PUBLIC_SCHEME=http
- PUBLIC_DOMAIN=192.168.1.36
- PUBLIC_PORT=8190
- NGINX_HTTP_PORT=8080
- CDN_URL=http://gh.qninq.cn/
❝
注意
端口按自己端口修改,不重复就行;
volumes冒号前的部分需要改为自己创建的文件夹名字;环境变量里面:
PUBLIC_DOMAIN:改为自己的域名或者局域网IP,要是外网使用,这里必须是域名
CDN_URL: "http://gh.qninq.cn/"这是CDN代理加速
显示正在运行,就表示部署成功了。
容器配置
容器部署好后可以进行一些简单的配置。
找到并打开上面创建的目录文件夹中的config这个文件
打开后可以看到很多配置选项。可以通过配置文件对相关配置进行修改,修改保存后重启即可生效。
相关配置项可查阅
https://github.com/Guovin/iptv-api/blob/master/README.md
接口使用
这个容器部署成功后没有可视化界面,你如果想验证是否成功,只需要浏览器输入NASIP:8190,就会跳出一个hls.m3u的文件包,这是推流的地址,说明容器运转正常
这时候你只需要在其他需要源的软件里面填写地址就能用了,比如你想用m3u的源,就填写NASIP:8190/m3u,要是想用其他的接口,可以按下面表中的来,换个接口就行。
所有的结果文件都在创建的输出文件夹中。
另外这个工具还支持RTMP 推流:
iptv-api 里开启 RTMP 推流后,程序会把采集到的直播源接口转换成RTMP协议的流,能改善弱网下的播放体验,还支持浏览器直接播放,解决部分原始直播源播放卡顿、兼容性差的问题。
❝
如果是服务器部署,请务必配置
PUBLIC_DOMAIN环境变量为服务器域名或IP地址,PUBLIC_PORT环境变量为公网端口,否则推流地址无法访问开启推流后,默认会将获取到的接口(如订阅源)进行推流
如果需要对本地视频源进行推流,可在
config目录下新建hls文件夹,将以频道名称命名的视频文件放入其中,程序会自动推流到对应的频道中
推流接口使用方法和前面一样,只是后缀改一下就行。
最后
如果你怕麻烦或者不想折腾,可以直接使用以下地址就行:
接口源:
https://ghproxy.cc/https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.m3u
https://ghproxy.cc/https://raw.githubusercontent.com/Guovin/iptv-api/gd/output/result.txt
或
https://cdn.jsdelivr.net/gh/Guovin/iptv-api@gd/output/result.m3u
https://cdn.jsdelivr.net/gh/Guovin/iptv-api@gd/output/result.txt
❝
另外,如果各位不知道用什么软件好,我个人认为电脑上用
potplayer、电视或者手机用tvbox是比较好的选择,docker如果你部署了emby,可以添加在emby里面使用。当然,你也可以选你自己喜欢的。
如果你在使用过程中遇到问题,欢迎评论区留言交流。
最后提醒一句,iptv-api 仅供学习交流使用,数据均来源于互联网,请勿用于商业用途。希望这款小工具能给你的观影体验带来便利,也感谢项目作者 Govin 的持续维护与开源分享~