大地主的知识库
专注于收集、整理和分享各种各样的知识信息

飞牛NAS部署IPTV-API项目教程

IPTV-API项目介绍

IPTV-API 是一个功能强大且灵活的直播源获取与验证工具,支持高度自定义频道列表、多种直播源获取方式、接口测速与过滤,并提供多种运行方式(命令行、GUI、Docker 等)。无论是个人用户还是企业开发者,都可以通过该项目快速获取高质量的直播源,并实现自动化更新与管理。主要功能如下:

  1. 自定义频道

    • 支持自定义模板,生成用户想要的频道列表。

    • 默认生成的频道包括:

      • 📺 央视频道

      • 💰 央视付费频道

      • 📡 卫视频道

      • 🏠 广东频道

      • 🌊 港·澳·台频道

      • 🎬 电影频道

      • 🎥 咪咕直播

      • 🏀 体育频道

      • 🪁 动画频道

      • 🎮 游戏频道

      • 🎵 音乐频道

      • 🏛 经典剧场

  2. 自动获取直播源

    • 支持多种获取源方式:

      • 组播源

      • 酒店源

      • 订阅源

      • 关键字搜索

  3. 测速验效

    • 对获取的直播源进行测速,验证延迟、速率、分辨率,并过滤无效接口。

  4. 偏好设置

    • 支持 IPv6 优先。

    • 可配置接口来源的排序优先级与数量。

    • 支持接口白名单功能。

  5. 定时任务

    • 每天北京时间 6:00 和 18:00 自动执行更新任务。

部署前请参考通用教程

点此查看飞牛NAS部署各种Docker应用通用教程

本项目的docker-compose配置文件如下,每行配置都写有注释,可按要求修改。主要是修改端口和挂载路径。

# 定义服务
services:
  # iptv-api(完整版本)
  iptv-api:
    # 使用的 Docker 镜像(完整版本)
    image: guovern/iptv-api:latest

    # 指定容器的名称
    container_name: iptv-api

    # 挂载卷(将主机目录映射到容器目录)
    volumes:
      # 将主机的 /vol2/1000/docker2/iptv-api/config 目录挂载到容器的 /iptv-api/config 目录
      - /vol2/1000/docker2/iptv-api/config:/iptv-api/config
      # 将主机的 /vol2/1000/docker2/iptv-api/output 目录挂载到容器的 /iptv-api/output 目录
      - /vol2/1000/docker2/iptv-api/output:/iptv-api/output

    # 端口映射(将主机端口映射到容器端口)
    ports:
      # 将主机的 7116 端口映射到容器的 8000 端口
      - "7116:8000"

    # 设置容器的重启策略
    restart: always

    # 环境变量(可选):修改配置 open_driver = False 可切换到 Lite 版本运行模式,设置为True是完整版本。完整版本初始化的时候需要漫长的等待。
    environment:
      - open_driver=True

  • 完整版本:性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 Lite 版本运行模式(推荐酒店源、组播源、关键字搜索使用此版本)
  • lite精简版本:轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
  • 详细配置

    如果需要设置某个配置,可以在上面的配置文件最后一行后面再另起一行或者多行进行添加,比如可以添加- open_hotel = True,添加或者修改配置后在飞牛的docker里的compose里面删除项目重建。本项目参数很多,可以多次尝试选择自己需要的参数。

    配置项 描述 默认值
    open_driver 开启浏览器运行,若更新无数据可开启此模式,较消耗性能 False
    open_empty_category 开启无结果频道分类,自动归类至底部 False
    open_filter_resolution 开启分辨率过滤,低于最小分辨率(min_resolution)的接口将会被过滤,GUI用户需要手动安装FFmpeg,程序会自动调用FFmpeg获取接口分辨率,推荐开启,虽然会增加测速阶段耗时,但能更有效地区分是否可播放的接口 True
    open_filter_speed 开启速率过滤,低于最小速率(min_speed)的接口将会被过滤 True
    open_hotel 开启酒店源功能,关闭后所有酒店源工作模式都将关闭 True
    open_hotel_foodie 开启 Foodie 酒店源工作模式 True
    open_hotel_fofa 开启 FOFA、ZoomEye 酒店源工作模式 True
    open_keep_all 开启保留所有检索结果,会保留非模板频道名称的结果,推荐手动维护时开启 False
    open_m3u_result 开启转换生成 m3u 文件类型结果链接,支持显示频道图标 True
    open_multicast 开启组播源功能,关闭后所有组播源工作模式都将关闭 True
    open_multicast_foodie 开启 Foodie 组播源工作模式 True
    open_multicast_fofa 开启 FOFA 组播源工作模式 True
    open_online_search 开启关键字搜索源功能 False
    open_proxy 开启代理,自动获取免费可用代理,若更新无数据可开启此模式 False
    open_request 开启查询请求,数据来源于网络(仅针对酒店源与组播源) False
    open_service 开启页面服务,用于控制是否启动结果页面服务;如果使用青龙等平台部署,有专门设定的定时任务,需要更新完成后停止运行,可以关闭该功能 True
    open_sort 开启排序功能(响应速度、日期、分辨率) True
    open_subscribe 开启订阅源功能 False
    open_update 开启更新,用于控制是否更新接口,若关闭则所有工作模式(获取接口和测速)均停止 True
    open_update_time 开启显示更新时间 True
    open_url_info 开启显示接口说明信息,用于控制是否显示接口来源、分辨率、协议类型等信息,为$符号后的内容,播放软件使用该信息对接口进行描述,若部分播放器(如PotPlayer)不支持解析导致无法播放可关闭 True
    open_use_cache 开启使用本地缓存数据,适用于查询请求失败场景(仅针对酒店源与组播源) True
    open_use_old_result 开启使用历史更新结果(包含模板与结果文件的接口),合并至本次更新中 True
    app_port 页面服务端口,用于控制页面服务的端口号 8000
    final_file 生成结果文件路径 output/result.txt
    hotel_num 结果中偏好的酒店源接口数量 10
    hotel_page_num 酒店地区获取分页数量 1
    hotel_region_list 酒店源地区列表,”全部”表示所有地区 全部
    ipv4_num 结果中偏好的 IPv4 接口数量 5
    ipv6_num 结果中偏好的 IPv6 接口数量 5
    ipv6_support 强制认为当前网络支持IPv6,跳过检测 False
    ipv_type 生成结果中接口的协议类型,可选值:ipv4、ipv6、全部、all 全部
    ipv_type_prefer 接口协议类型偏好,优先将该类型的接口排在结果前面,可选值:ipv4、ipv6、自动、auto 自动
    min_resolution 接口最小分辨率,需要开启 open_filter_resolution 才能生效 1920×1080
    min_speed 接口最小速率(单位M/s),需要开启 open_filter_speed 才能生效 0.2
    multicast_num 结果中偏好的组播源接口数量 10
    multicast_page_num 组播地区获取分页数量 1
    multicast_region_list 组播源地区列表,”全部”表示所有地区 全部
    online_search_num 结果中偏好的关键字搜索接口数量 0
    online_search_page_num 关键字搜索频道获取分页数量 1
    origin_type_prefer 结果偏好的接口来源,结果优先按该顺序进行排序,逗号分隔,例如:hotel,multicast,subscribe,online_search;hotel:酒店源,multicast:组播源,subscribe:订阅源,online_search:关键字搜索;不填写则表示不指定来源,按照接口速率排序  
    recent_days 获取最近时间范围内更新的接口(单位天),适当减小可避免出现匹配问题 30
    request_timeout 查询请求超时时长,单位秒(s),用于控制查询接口文本链接的超时时长以及重试时长,调整此值能优化更新时间 10
    sort_timeout 单个接口测速超时时长,单位秒(s);数值越大测速所属时间越长,能提高获取接口数量,但质量会有所下降;数值越小测速所需时间越短,能获取低延时的接口,质量较好;调整此值能优化更新时间 10
    source_file 模板文件路径 config/demo.txt
    subscribe_num 结果中偏好的订阅源接口数量 10
    urls_limit 单个频道接口数量 10

完整版本安装后需要大概半小时左右时间进行升级和配置,请耐心等待。安装后使用飞牛IP加设置的端口访问,比如我的是http://192.168.2.146:7116

测试了下效果,给的源速度很快很稳。下面是这个项目的几个url,把里面的IP和端口换成你自己的即可.  详细教程可查看官方文档 https://github.com/Guovin/iptv-api 

  • 接口地址: http://192.168.2.146:7116
  • M3u 接口: http://192.168.2.146:7116/m3u
  • Txt 接口: http://192.168.2.146:7116/txt
  • 接口内容: http://192.168.2.146:7116/content
  • 测速日志: http://192.168.2.146:7116/log

赞(0) 打赏
未经允许不得转载:大地主的知识库 » 飞牛NAS部署IPTV-API项目教程

评论 2

  1. #1

    部署完成了,但是tvbox一直都提示解析错误怎么办

    gronwall18小时前回复
    • 格式问题 这个项目导出的格式看下是否符合tvbox要求,在本地测试是正常的。

      ddzyx15小时前回复

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

微信扫一扫打赏

登录

找回密码

注册