V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
a707782628
V2EX  ›  分享创造

整了个 iptv m3u 源的聚合 筛选工具 感觉挺有用分享下

  •  
  •   a707782628 · 1 天前 · 632 次点击
    因为自己来来回回只看那一两个频道,收集的十几个源就是为了从那几千个频道里来回切换,这个挂了换另一个,但是电视配置太拉胯加载不必要的频道会卡的不要不要的,所以有了这个工具

    GitHub: https://github.com/XianYuDaXian/iptv-m3u-manager


    界面演示

    🛠 如何使用
    Python 环境( 3.11+):

    1. 安装:pip install -r requirements.txt
    2. 运行:uvicorn main:app --host 0.0.0.0 --port 8000
    3. 管理:打开浏览器访问 http://localhost:8000 即可开始配置。
    10 条回复    2026-01-14 07:06:04 +08:00
    jamos
        1
    jamos  
       1 天前
    公网的源, 有的是移动友好的,有的是电信友好的,还有些是纯 ipv6 的, 所以线路好坏依赖自身的环境

    另外看你代码好像只是检测 url 的可用性
    async def check_url(url: str, session: aiohttp.ClientSession):
    try:
    start = datetime.now()
    # Use custom UA as requested
    headers = {"User-Agent": "AptvPlayer/1.4.1"}
    async with session.head(url, headers=headers, timeout=5, allow_redirects=True) as response:
    latency = int((datetime.now() - start).total_seconds() * 1000)
    return {
    "url": url,
    "status": response.status < 400,
    "latency": latency,
    "error": None
    }
    except Exception as e:
    return {
    "url": url,
    "status": False,
    "latency": 0,
    "error": str(e)
    }


    如果是 m3u8 的,latency 可能误差较大,因为文件太小了
    a707782628
        2
    a707782628  
    OP
       1 天前
    @jamos 我也搜过要像 iptv 软件那样握手后用 ffmpeg 检测流的分辨率状态啥的才是最准确的,但是频道一多就卡慢,类似很多源方都不推荐 aptv 或者 tivimate 上开启频道预览。所以现在还只是普通的检测 HTTP 状态码,不过加上应该也不难。
    shuxge1223
        3
    shuxge1223  
       19 小时 53 分钟前
    这不就是盗源?
    a707782628
        4
    a707782628  
    OP
       17 小时 16 分钟前
    @jamos 更新了下,用 ffmpeg 截图一帧来更精准的检测频道存活,自动禁用无效频道
    a707782628
        5
    a707782628  
    OP
       17 小时 15 分钟前
    @shuxge1223 不是哥们,本来源的提供方就是让你放随便一个 iptv 软件里就能看的,我只不过是做了下筛选,哪里算得上盗
    a707782628
        6
    a707782628  
    OP
       16 小时 41 分钟前

    深度检测效果图
    paradislover
        7
    paradislover  
       11 小时 30 分钟前 via Android
    可以发布 docker ,布置方便些
    a707782628
        8
    a707782628  
    OP
       11 小时 25 分钟前
    @paradislover 有的, 刚弄好的。
    git clone https://github.com/XianYuDaXian/iptv-m3u-manager.git
    cd iptv-m3u-manager
    docker-compose up -d
    默认访问 8000
    BeiChuanAlex
        9
    BeiChuanAlex  
       10 小时 6 分钟前
    完全不了解这项目,能对小白解释一下这个项目是干啥的吗
    a707782628
        10
    a707782628  
    OP
       2 小时 36 分钟前
    @BeiChuanAlex 当你有多个 iptv 源但是想看的台就那么几个,但是又不想在那成千上万个频道列表里翻来翻去,就用这个来聚合跟筛选。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:42 · PVG 09:42 · LAX 17:42 · JFK 20:42
    ♥ Do have faith in what you're doing.