首页 Docker导航 IPTV-API

IPTV-API

一个可高度自定义的IPTV电视直播接口更新项目,自定义频道菜单,自动获取直播源,测速验效后生成可用的结果,可实现秒播级体验。
2025-07-31 23:49
中文
226 人使用
services:
  iptv-api:
    image: docker.1ms.run/guovern/iptv-api
    container_name: iptv-api
    ports:
      - 8008:8000
    volumes:
      - ./config:/iptv-api/config
      - ./output:/iptv-api/output
    restart: always

特点

自定义模板,支持别名,生成您想要的频道

支持RTMP推流(live/hls),提升播放体验

支持多种获取源方式:本地源、组播源、酒店源、订阅源、关键字搜索

支持回放类接口获取与生成

支持EPG功能,显示频道预告内容

接口测速验效,获取延迟、速率、分辨率,过滤无效接口

偏好设置:IPv4、IPv6、接口来源排序优先级与数量配置、白名单、黑名单、归属地与运营商过滤

定时执行,北京时间每日 6:00 与 18:00 执行更新

支持多种运行方式:工作流、命令行、GUI 软件、Docker(amd64/arm64/arm v7)

配置项描述默认值

open_driver 开启浏览器运行,若更新无数据可开启此模式,较消耗性能 False

open_epg 开启EPG功能,支持频道显示预告内容 True

open_empty_category 开启无结果频道分类,自动归类至底部 False

open_filter_resolution 开启分辨率过滤,低于最小分辨率(min_resolution)的接口将会被过滤,GUI用户需要手动安装FFmpeg,程序会自动调用FFmpeg获取接口分辨率,推荐开启,虽然会增加测速阶段耗时,但能更有效地区分是否可播放的接口 True

open_filter_speed 开启速率过滤,低于最小速率(min_speed)的接口将会被过滤 True

open_hotel 开启酒店源功能,关闭后所有酒店源工作模式都将关闭 False

open_hotel_foodie 开启 Foodie 酒店源工作模式 True

open_hotel_fofa 开启 FOFA、ZoomEye 酒店源工作模式 False

open_local 开启本地源功能,将使用模板文件与本地源文件中的数据 True

open_m3u_result 开启转换生成 m3u 文件类型结果链接,支持显示频道图标 True

open_multicast 开启组播源功能,关闭后所有组播源工作模式都将关闭 False

open_multicast_foodie 开启 Foodie 组播源工作模式 True

open_multicast_fofa 开启 FOFA 组播源工作模式 False

open_online_search 开启关键字搜索源功能 False

open_request 开启查询请求,数据来源于网络(仅针对酒店源与组播源) False

open_rtmp 开启RTMP推流功能,需要安装FFmpeg,利用本地带宽提升接口播放体验 False

open_service 开启页面服务,用于控制是否启动结果页面服务;如果使用青龙等平台部署,有专门设定的定时任务,需要更新完成后停止运行,可以关闭该功能 True

open_speed_test 开启测速功能,获取响应时间、速率、分辨率 True

open_subscribe 开启订阅源功能 False

open_supply 开启补偿机制模式,用于控制当频道接口数量不足时,自动将不满足条件(例如低于最小速率)但可能可用的接口添加至结果中,从而避免结果为空的情况 True

open_update 开启更新,用于控制是否更新接口,若关闭则所有工作模式(获取接口和测速)均停止 True

open_update_time 开启显示更新时间 True

open_url_info 开启显示接口说明信息,用于控制是否显示接口来源、分辨率、协议类型等信息,为$符号后的内容,播放软件使用该信息对接口进行描述,若部分播放器(如PotPlayer)不支持解析导致无法播放可关闭 False

open_use_cache 开启使用本地缓存数据,适用于查询请求失败场景(仅针对酒店源与组播源) True

open_history 开启使用历史更新结果(包含模板与结果文件的接口),合并至本次更新中 True

open_headers 开启使用M3U内含的请求头验证信息,用于测速等操作,注意:只有个别播放器支持播放这类含验证信息的接口,默认为关闭 False

app_port 页面服务端口,用于控制页面服务的端口号 8000

cdn_url CDN代理加速地址,用于订阅源、频道图标等资源的加速访问

final_file 生成结果文件路径 output/result.txt

hotel_num 结果中偏好的酒店源接口数量 10

hotel_page_num 酒店地区获取分页数量 1

hotel_region_list 酒店源地区列表,"全部"表示所有地区 全部

isp 接口运营商,用于控制结果中只包含填写的运营商类型,支持关键字过滤,英文逗号分隔,不填写表示不指定运营商

ipv4_num 结果中偏好的 IPv4 接口数量 5

ipv6_num 结果中偏好的 IPv6 接口数量 5

ipv6_support 强制认为当前网络支持IPv6,跳过检测 False

ipv_type 生成结果中接口的协议类型,可选值:ipv4、ipv6、全部、all 全部

ipv_type_prefer 接口协议类型偏好,优先将该类型的接口排在结果前面,可选值:ipv4、ipv6、自动、auto ipv6,ipv4

location 接口归属地,用于控制结果只包含填写的归属地类型,支持关键字过滤,英文逗号分隔,不填写表示不指定归属地,建议使用靠近使用者的归属地,能提升播放体验

local_file 本地源文件路径 config/local.txt

local_num 结果中偏好的本地源接口数量 10

min_resolution 接口最小分辨率,需要开启 open_filter_resolution 才能生效 1920x1080

max_resolution 接口最大分辨率,需要开启 open_filter_resolution 才能生效 1920x1080

min_speed 接口最小速率(单位M/s),需要开启 open_filter_speed 才能生效 0.5

multicast_num 结果中偏好的组播源接口数量 10

multicast_page_num 组播地区获取分页数量 1

multicast_region_list 组播源地区列表,"全部"表示所有地区 全部

online_search_num 结果中偏好的关键字搜索接口数量 0

online_search_page_num 关键字搜索频道获取分页数量 1

origin_type_prefer 结果偏好的接口来源,结果优先按该顺序进行排序,逗号分隔,例如:local,hotel,multicast,subscribe,online_search;local:本地源,hotel:酒店源,multicast:组播源,subscribe:订阅源,online_search:关键字搜索;不填写则表示不指定来源,按照接口速率排序

recent_days 获取最近时间范围内更新的接口(单位天),适当减小可避免出现匹配问题 30

request_timeout 查询请求超时时长,单位秒(s),用于控制查询接口文本链接的超时时长以及重试时长,调整此值能优化更新时间 10

speed_test_limit 同时执行测速的接口数量,用于控制测速阶段的并发数量,数值越大测速所需时间越短,负载较高,结果可能不准确;数值越小测速所需时间越长,低负载,结果较准确;调整此值能优化更新时间 10

speed_test_timeout 单个接口测速超时时长,单位秒(s);数值越大测速所需时间越长,能提高获取接口数量,但质量会有所下降;数值越小测速所需时间越短,能获取低延时的接口,质量较好;调整此值能优化更新时间 10

speed_test_filter_host 测速阶段使用Host地址进行过滤,相同Host地址的频道将共用测速数据,开启后可大幅减少测速所需时间,但可能会导致测速结果不准确 False

source_file 模板文件路径 config/demo.txt

subscribe_num 结果中偏好的订阅源接口数量 10

time_zone 时区,可用于控制更新时间显示的时区,可选值:Asia/Shanghai 或其它时区编码 Asia/Shanghai

urls_limit 单个频道接口数量 10

update_interval 定时执行更新时间间隔,单位小时,设置0或空则只运行一次,不作用于工作流 12

update_time_position更新时间显示位置,需要开启 open_update_time 才能生效,可选值:top、bottom,top: 显示于结果顶部,bottom: 显示于结果底部top