├── .github └── workflows │ └── main.yml ├── README.md ├── a.txt ├── a1.py ├── a2.py ├── b.py ├── c.txt ├── c1.py ├── c2.py ├── chromedriver ├── chromedriver-win32(121.0.6167.85).zip ├── chromedriver-win64(121.0.6167.184).zip ├── chromedriver-win64(121.0.6167.85).zip └── readme ├── d.py ├── iptv.txt ├── iptv2.txt ├── iptv3.txt ├── iptv4.txt ├── itv.txt ├── itv0.txt ├── itv1.py ├── itv2.py ├── itv_add.py ├── itv_all(1080).py ├── itvjoin.py ├── itvlist.m3u ├── itvlist.txt ├── temp ├── IPTV.py ├── IPTV.txt ├── IPTV_speed.py ├── IPTV_speed.txt ├── anhui.txt ├── beijing.txt ├── cctv.py ├── chongqing.txt ├── download_results.txt ├── download_speed.py ├── download_speed.txt ├── fujian.txt ├── guangdong.txt ├── hebei.txt ├── henan.txt ├── hubei.txt ├── hunan.txt ├── iptv_sort.py ├── iptv_sort.txt ├── itv.py ├── itvtest(1080).py ├── itvtest.py ├── jiangsu.txt ├── jiangxi.txt ├── liaoning.txt ├── qita.py ├── readme ├── run.py ├── shaanxi.txt ├── shandong.txt ├── shanghai.txt ├── shanxi.txt ├── speed_results.txt ├── tianjin.txt ├── weishi.py └── zhejiang.txt ├── tv.json ├── udpxy ├── Readme.md ├── 四川电信组播.exe ├── 安徽电信组播.exe ├── 山西联通组播.exe ├── 广东电信组播.exe ├── 江苏电信组播.exe ├── 江西电信组播.exe ├── 河北电信组播.exe ├── 河南联通组播.exe ├── 浙江电信组播.exe ├── 湖北电信组播.exe ├── 湖南电信组播.exe ├── 福建电信组播.exe └── 陕西电信组播.exe └── windows ├── chromedriver.exe ├── itv.exe └── itvlist.txt /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: itvlist 2 | 3 | #on: 4 | schedule: 5 | - cron: '0 23 * * *' 6 | # push: 7 | branches: 8 | - main 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Set up Node.js 15 | uses: actions/setup-node@v4 16 | with: 17 | node-version: '20' 18 | 19 | - name: Checkout code 20 | uses: actions/checkout@v4 21 | 22 | - name: Delete workflow runs 23 | uses: Mattraks/delete-workflow-runs@v2 24 | with: 25 | token: ${{ github.token }} 26 | repository: ${{ github.repository }} 27 | retain_days: 2 28 | keep_minimum_runs: 6 29 | 30 | - name: Set up Python 3.9 31 | uses: actions/setup-python@v5 32 | with: 33 | python-version: 3.9 # 指定Python版本为3.8 34 | 35 | - name: Install setuptools 36 | run: | 37 | pip install --upgrade pip # 升级pip 38 | pip install setuptools # 安装setuptools 39 | 40 | - name: Install dependencies 41 | run: | 42 | pip install opencv-python # 根据需要安装opencv-python 43 | pip install requests # 安装requests库 44 | - name: Run a1 45 | run: python ${{ github.workspace }}/a1.py 46 | 47 | #- name: Run d 48 | #run: python ${{ github.workspace }}/d.py 49 | 50 | # - name: run itv2 51 | # run: python ${{ github.workspace }}/itv2.py 52 | 53 | #- name: Run itv_add 54 | # run: python ${{ github.workspace }}/itv_add.py 55 | 56 | #- name: Run itvjoin 57 | #run: python ${{ github.workspace }}/itvjoin.py 58 | 59 | 60 | # - name: Run b 61 | # run: python ${{ github.workspace }}/b.py 62 | 63 | - name: Run c1 64 | run: python ${{ github.workspace }}/c1.py 65 | 66 | 67 | - name: 提交更改 68 | run: | 69 | git config --local user.email "dwc1119@163.com" 70 | git config --local user.name "dwc1119" 71 | git add . 72 | git commit *.txt -m "Add generated file" 73 | git commit *.m3u -m "Add generated file" 74 | git pull --rebase 75 | git push -f 76 | 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 由于技术原因本项目暂时停用,谢谢大家关注。 2 | # 自动获取酒店源 copy and modify https://github.com/ssili126/tv #特别感谢 3 | 注:本项目不支持fork,如需fork请到原作者主页 4 | 5 | 使用方法: 6 | 7 | 1.电视盒子 8 | 9 | 在看电视直播软件中直接输入以下任一地址即可: 10 | 11 | https://ghproxy.net/https://raw.githubusercontent.com/ssili126/tv/main/itvlist.txt 12 | https://raw.githubusercontent.com/ssili126/tv/main/itvlist.txt 13 | 14 | 2.自己获取电视直播地址的可采用以下方法: 15 | 16 | windows电脑: 17 | 18 | 1.1 电脑安装最新的chrome,同时执行文件目录下要有对应版本的chromedriver.exe, 19 | 1.2 下载windows目录下的itv.exe及itvtest.exe, 20 | 1.3 首先运行itv.exe,完成后再运行itvtest.exe, 21 | 1.4 运行完成后在当前目录下生成电视直播文件itvlist.txt。 22 | 23 | 安装python的电脑: 24 | 25 | 2.1 电脑安装chrome,下载对应版本的chromedriver 26 | 2.2 下载itv.py cctv.py weishi.py qita.py 27 | 2.3 pip install selenium requests futures eventlet opencv-python 28 | 2.4 依次运行itv.py cctv.py weishi.py qita.py 29 | 2.5 运行完成后在当前目录下生成电视直播文件itvlist.txt。 30 | 31 | 3.在openwrt或群辉的docker运行: 32 | 33 | 1.安装:docker pull liuxipo/itvall:latest 34 | 2.运行:docker run -v /www/itvall:/app itvall 35 | 3.访问:http://本地ip/itvall/itvlist.txt 36 | 37 | 2024.03.06更新,应大家要求,增加了视频分辨率的检测,只保留1080的以上的频道,py文件末尾增加了1080的标识,因检测太耗时,github运行文件未更新。 38 | 39 | 2024.02.17更新,增加时间标签;因频道太多,cctv、卫视及其它频道均修改为单独的文件运行;修改为每四小时运行,更新更及时。 40 | 41 | 2024.02.11更新,修复部分频道错误。 42 | 43 | 2024.02.07更新,增加生成m3u文件。因手边无电脑,仅python文件更新,windows文件夹下文件未更新。 44 | 45 | 2024.02.04更新,可以每日自动运行了。每日早4点运行。 46 | 47 | 2024.02.01更新,增加单步执行的文件。itv_all.py及在window目录下的itv_all.exe。因频道太多,总运行时间大概50分钟。 48 | 49 | 2024.01.31更新,整理所有代码,更新如下: 50 | 51 | 1. 推荐在本地电脑运行,不推荐在github运行。因为github运行服务器不在国内,获得的数据不准确,测速不准。 52 | 2. windows目录下为可在win10独立运行的文件,无需python,只需要电脑安装最新的chrome(121.0.6167.85),同时执行文件目录下要有对应版本的chromedriver.exe即可运行,否则报错。 53 | 3. 以前文件全部归到temp。 54 | 4. 最终生成的itvlist.txt文件只取了同一频道测速最快的前5个,可以最终使用。 55 | 5. 生成的全部频道文件,如itv.txt及itv_speed.txt不建议使用,因为频道太多,在diyp或派大星等软件中使用时播放会卡顿。此卡顿与频道的播放速度无关,是因为频道太多导致。 56 | 57 | 2024.01.26更新,对获取的ip地址第四位从1~255均尝试获取,能获取到隐藏的酒店源。采用了多线程,速度有大的提升。 58 | -------------------------------------------------------------------------------- /a1.py: -------------------------------------------------------------------------------- 1 | import time 2 | import requests 3 | import re 4 | import cv2 # 导入OpenCV库 5 | 6 | # 定义fofa链接 7 | urls = [ 8 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImxhbmdmYW5nIg%3D%3D",#廊坊 9 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9InRhbmdzaGFuIg%3D%3D",#唐山 10 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9InNoaWppYXpodWFuZyI%3D",#石家庄 11 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjE0MTc3MSIgJiYgY2l0eT0iemhhbmdqaWFrb3Ui",#张家口 12 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImhhbmRhbiI%3D",#邯郸 13 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImNhbmd6aG91Ig%3D%3D",#沧州 14 | "https://fofa.info/result?qbase64=InVkcHh5IDEuMC0yNS4xIiAmJiBhc249IjE0MDkwMyIgJiYgY2l0eT0iQmFvZGluZyI%3D",#保定 15 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjE0MDkwMyIgJiYgY2l0eT0iQmFvZGluZyI%3D"#保定 16 | ] 17 | # fofa_url = 'http://tonkiang.us/hoteliptv.php?page=1&pv=%E9%87%8D%E5%BA%86%E8%81%94%E9%80%9A' 18 | 19 | # 尝试从fofa链接提取IP地址和端口号,并除重复项 20 | def extract_unique_ip_ports(url): 21 | try: 22 | response = requests.get(url) 23 | time.sleep(10) 24 | html_content = response.text 25 | # 使用正则表达式匹配IP地址和端口号 26 | ips_ports = re.findall(r'(\d+\.\d+\.\d+\.\d+:\d+)', html_content) 27 | unique_ips_ports = list(set(ips_ports)) # 去除重复的IP地址和端口号 28 | if unique_ips_ports: 29 | return unique_ips_ports 30 | except requests.RequestException as e: 31 | print(f"请求错误: {e}") 32 | return None 33 | 34 | # 检查视频流的可达性 35 | def check_video_stream_connectivity(ip_port, urls_udp): 36 | try: 37 | # 构造完整的视频URL 38 | video_url = f"http://{ip_port}{urls_udp}" 39 | # 用OpenCV读取视频 40 | cap = cv2.VideoCapture(video_url) 41 | 42 | # 检查视频是否成功打开 43 | if not cap.isOpened(): 44 | print(f"视频URL {video_url} 无效") 45 | return None 46 | else: 47 | # 读取视频的宽度和高度 48 | width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 49 | height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 50 | print(f"视频URL {video_url} 的分辨率为 {width}x{height}") 51 | # 检查分辨率是否大于0 52 | if width > 0 and height > 0: 53 | return ip_port # 返回有效的IP和端口 54 | # 关闭视频流 55 | cap.release() 56 | except Exception as e: 57 | print(f"访问 {ip_port} 失败: {e}") 58 | return None 59 | 60 | # 定义组播地址和端口 61 | urls_udp = "/rtp/239.254.200.45:8008" 62 | 63 | # 提取唯一的IP地址和端口号 64 | ip_ports = [] 65 | valid_ips = [] 66 | for url in urls: 67 | print(url) 68 | unique_ips_ports = extract_unique_ip_ports(url) 69 | if ip_ports: 70 | print("IP地址和端口号:") 71 | #测试每个IP地址和端口号,直到找到一个可访问的视频流 72 | for ip_port in unique_ips_ports: 73 | valid_ip = check_video_stream_connectivity(ip_port, urls_udp) 74 | if valid_ip: 75 | print(f"找到可访问的视频流服务: {valid_ip}") 76 | valid_ips.append(valid_ip) 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | channels = [] 85 | with open("iptv.txt", 'r', encoding='utf-8') as file: 86 | lines = file.readlines() 87 | for line in lines: 88 | #print(line) 89 | line = line.strip() 90 | if line: 91 | channel_name,channel_url = line.split(",") 92 | for valid_ip in valid_ips: 93 | #print(udpxy_url) 94 | channel = f"{channel_name},http://{valid_ip}/{channel_url}" 95 | channels.append(channel) 96 | 97 | 98 | result_counter = 10 # 每个频道需要的个数 99 | with open("itvlist.txt", 'w', encoding='utf-8') as file: 100 | channel_counters = {} 101 | file.write('央视(电信),#genre#\n') 102 | for channel in channels: 103 | channel_name,channel_url = channel.split(",") 104 | if 'CCTV' in channel_name: 105 | if channel_name in channel_counters: 106 | if channel_counters[channel_name] >= result_counter: 107 | continue 108 | else: 109 | file.write(channel + "\n") 110 | channel_counters[channel_name] += 1 111 | else: 112 | file.write(channel + "\n") 113 | channel_counters[channel_name] = 1 114 | channel_counters = {} 115 | file.write('数字(电信),#genre#\n') 116 | for channel in channels: 117 | channel_name, channel_url = channel.split(",") 118 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 119 | if channel_name in channel_counters: 120 | if channel_counters[channel_name] >= result_counter: 121 | continue 122 | else: 123 | file.write(f"{channel_name},{channel_url}\n") 124 | channel_counters[channel_name] += 1 125 | else: 126 | file.write(f"{channel_name},{channel_url}\n") 127 | channel_counters[channel_name] = 1 128 | channel_counters = {} 129 | file.write('卫视(电信),#genre#\n') 130 | for channel in channels: 131 | channel_name,channel_url = channel.split(",") 132 | if '卫视' in channel_name: 133 | if channel_name in channel_counters: 134 | if channel_counters[channel_name] >= result_counter: 135 | continue 136 | else: 137 | file.write(channel + "\n") 138 | channel_counters[channel_name] += 1 139 | else: 140 | file.write(channel + "\n") 141 | channel_counters[channel_name] = 1 142 | channel_counters = {} 143 | file.write('其他(电信),#genre#\n') 144 | for channel in channels: 145 | channel_name,channel_url = channel.split(",") 146 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 147 | if channel_name in channel_counters: 148 | if channel_counters[channel_name] >= result_counter: 149 | continue 150 | else: 151 | file.write(channel + "\n") 152 | channel_counters[channel_name] += 1 153 | else: 154 | file.write(channel + "\n") 155 | channel_counters[channel_name] = 1 156 | 157 | with open("itvlist.m3u", 'w', encoding='utf-8') as file: 158 | channel_counters = {} 159 | file.write('#EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml"\n') 160 | for channel in channels: 161 | channel_name,channel_url = channel.split(",") 162 | if 'CCTV' in channel_name: 163 | if channel_name in channel_counters: 164 | if channel_counters[channel_name] >= result_counter: 165 | continue 166 | else: 167 | file.write(f'#EXTINF:-1 tvg-name={channel_name} tvg-logo="https://live.fanmingming.com/tv/{channel_name}.png" group-title=\"央视频道\",{channel_name}\n') 168 | file.write(f"{channel_url}\n") 169 | channel_counters[channel_name] += 1 170 | else: 171 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 172 | file.write(f"{channel_url}\n") 173 | channel_counters[channel_name] = 1 174 | channel_counters = {} 175 | #file.write('卫视频道,#genre#\n') 176 | for channel in channels: 177 | channel_name,channel_url = channel.split(",") 178 | if '卫视' in channel_name: 179 | if channel_name in channel_counters: 180 | if channel_counters[channel_name] >= result_counter: 181 | continue 182 | else: 183 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 184 | file.write(f"{channel_url}\n") 185 | channel_counters[channel_name] += 1 186 | else: 187 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 188 | file.write(f"{channel_url}\n") 189 | channel_counters[channel_name] = 1 190 | channel_counters = {} 191 | #file.write('其他频道,#genre#\n') 192 | for channel in channels: 193 | channel_name,channel_url = channel.split(",") 194 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 195 | if channel_name in channel_counters: 196 | if channel_counters[channel_name] >= result_counter: 197 | continue 198 | else: 199 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 200 | file.write(f"{channel_url}\n") 201 | channel_counters[channel_name] += 1 202 | else: 203 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 204 | file.write(f"{channel_url}\n") 205 | channel_counters[channel_name] = 1 206 | 207 | 208 | -------------------------------------------------------------------------------- /a2.py: -------------------------------------------------------------------------------- 1 | channels = [] 2 | with open("iptv.txt", 'r', encoding='utf-8') as file: 3 | lines = file.readlines() 4 | for line in lines: 5 | #print(line) 6 | line = line.strip() 7 | if line: 8 | channel_name,channel_url = line.split(",") 9 | # for valid_ip in valid_ips: 10 | #print(udpxy_url) 11 | channel = f"{channel_name},http://{channel_url}" 12 | channels.append(channel) 13 | 14 | 15 | result_counter = 10 # 每个频道需要的个数 16 | with open("a.txt", 'w', encoding='utf-8') as file: 17 | channel_counters = {} 18 | file.write('央视(电信),#genre#\n') 19 | for channel in channels: 20 | channel_name,channel_url = channel.split(",") 21 | if 'CCTV' in channel_name: 22 | if channel_name in channel_counters: 23 | if channel_counters[channel_name] >= result_counter: 24 | continue 25 | else: 26 | file.write(channel + "\n") 27 | channel_counters[channel_name] += 1 28 | else: 29 | file.write(channel + "\n") 30 | channel_counters[channel_name] = 1 31 | channel_counters = {} 32 | file.write('数字(电信),#genre#\n') 33 | for channel in channels: 34 | channel_name, channel_url = channel.split(",") 35 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 36 | if channel_name in channel_counters: 37 | if channel_counters[channel_name] >= result_counter: 38 | continue 39 | else: 40 | file.write(f"{channel_name},{channel_url}\n") 41 | channel_counters[channel_name] += 1 42 | else: 43 | file.write(f"{channel_name},{channel_url}\n") 44 | channel_counters[channel_name] = 1 45 | channel_counters = {} 46 | file.write('卫视(电信),#genre#\n') 47 | for channel in channels: 48 | channel_name,channel_url = channel.split(",") 49 | if '卫视' in channel_name: 50 | if channel_name in channel_counters: 51 | if channel_counters[channel_name] >= result_counter: 52 | continue 53 | else: 54 | file.write(channel + "\n") 55 | channel_counters[channel_name] += 1 56 | else: 57 | file.write(channel + "\n") 58 | channel_counters[channel_name] = 1 59 | channel_counters = {} 60 | file.write('其他(电信),#genre#\n') 61 | for channel in channels: 62 | channel_name,channel_url = channel.split(",") 63 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 64 | if channel_name in channel_counters: 65 | if channel_counters[channel_name] >= result_counter: 66 | continue 67 | else: 68 | file.write(channel + "\n") 69 | channel_counters[channel_name] += 1 70 | else: 71 | file.write(channel + "\n") 72 | channel_counters[channel_name] = 1 73 | 74 | with open("itvlist.m3u", 'w', encoding='utf-8') as file: 75 | channel_counters = {} 76 | file.write('#EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml"\n') 77 | for channel in channels: 78 | channel_name,channel_url = channel.split(",") 79 | if 'CCTV' in channel_name: 80 | if channel_name in channel_counters: 81 | if channel_counters[channel_name] >= result_counter: 82 | continue 83 | else: 84 | file.write(f'#EXTINF:-1 tvg-name={channel_name} tvg-logo="https://live.fanmingming.com/tv/{channel_name}.png" group-title=\"央视频道\",{channel_name}\n') 85 | file.write(f"{channel_url}\n") 86 | channel_counters[channel_name] += 1 87 | else: 88 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 89 | file.write(f"{channel_url}\n") 90 | channel_counters[channel_name] = 1 91 | channel_counters = {} 92 | #file.write('卫视频道,#genre#\n') 93 | for channel in channels: 94 | channel_name,channel_url = channel.split(",") 95 | if '卫视' in channel_name: 96 | if channel_name in channel_counters: 97 | if channel_counters[channel_name] >= result_counter: 98 | continue 99 | else: 100 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 101 | file.write(f"{channel_url}\n") 102 | channel_counters[channel_name] += 1 103 | else: 104 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 105 | file.write(f"{channel_url}\n") 106 | channel_counters[channel_name] = 1 107 | channel_counters = {} 108 | #file.write('其他频道,#genre#\n') 109 | for channel in channels: 110 | channel_name,channel_url = channel.split(",") 111 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 112 | if channel_name in channel_counters: 113 | if channel_counters[channel_name] >= result_counter: 114 | continue 115 | else: 116 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 117 | file.write(f"{channel_url}\n") 118 | channel_counters[channel_name] += 1 119 | else: 120 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 121 | file.write(f"{channel_url}\n") 122 | channel_counters[channel_name] = 1 123 | -------------------------------------------------------------------------------- /b.py: -------------------------------------------------------------------------------- 1 | import time 2 | import requests 3 | import re 4 | import cv2 # 导入OpenCV库 5 | 6 | ###urls城市根据自己所处的地理位置修改 7 | urls = [ 8 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9cWluaHVhbmdkYW8%3D",#秦皇岛 9 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4MzciICYmIGNpdHk9InNoaWppYXpodWFuZyI%3D",#石家庄联通 10 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4MzciICYmIGNpdHk9InRhbmdzaGFuIg%3D%3D",#唐山联通 11 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4MzciICYmIGNpdHk9IkNhbmd6aG91Ig%3D%3D",#沧州联通 12 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4MzciICYmIGNpdHk9ImJhb2Rpbmci",#保定联通 13 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4MzciICYmIGNpdHk9ImhhbmRhbiI%3D"#邯郸联通 14 | ] 15 | def extract_unique_ip_ports(url): 16 | try: 17 | response = requests.get(url) 18 | time.sleep(10) 19 | html_content = response.text 20 | # 使用正则表达式匹配IP地址和端口号 21 | ips_ports = re.findall(r'(\d+\.\d+\.\d+\.\d+:\d+)', html_content) 22 | unique_ips_ports = list(set(ips_ports)) # 去除重复的IP地址和端口号 23 | 24 | if unique_ips_ports: 25 | return unique_ips_ports 26 | 27 | except requests.RequestException as e: 28 | print(f"请求错误: {e}") 29 | return None 30 | 31 | # 检查视频流的可达性 32 | def check_video_stream_connectivity(ip_port, urls_udp): 33 | try: 34 | # 构造完整的视频URL 35 | video_url = f"http://{ip_port}{urls_udp}" 36 | # 用OpenCV读取视频 37 | cap = cv2.VideoCapture(video_url) 38 | 39 | # 检查视频是否成功打开 40 | if not cap.isOpened(): 41 | print(f"视频URL {video_url} 无效") 42 | return None 43 | else: 44 | # 读取视频的宽度和高度 45 | width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 46 | height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 47 | print(f"视频URL {video_url} 的分辨率为 {width}x{height}") 48 | # 检查分辨率是否大于0 49 | if width > 0 and height > 0: 50 | return ip_port # 返回有效的IP和端口 51 | # 关闭视频流 52 | cap.release() 53 | except Exception as e: 54 | print(f"访问 {ip_port} 失败: {e}") 55 | return None 56 | 57 | # 定义组播地址和端口 58 | urls_udp = "/rtp/239.253.92.83:8012" 59 | 60 | # 提取唯一的IP地址和端口号 61 | ip_ports = [] 62 | valid_ips = [] 63 | for url in urls: 64 | ip_ports = extract_unique_ip_ports(url) 65 | if ip_ports: 66 | print("IP地址和端口号:") 67 | print(ip_ports) 68 | #测试每个IP地址和端口号,直到找到一个可访问的视频流 69 | for ip_port in ip_ports: 70 | valid_ip = check_video_stream_connectivity(ip_port, urls_udp) 71 | if valid_ip: 72 | print(f"找到可访问的视频流服务: {valid_ip}") 73 | valid_ips.append(valid_ip) 74 | 75 | 76 | 77 | 78 | 79 | channels = [] 80 | with open("iptv2.txt", 'r', encoding='utf-8') as file: 81 | lines = file.readlines() 82 | for line in lines: 83 | #print(line) 84 | line = line.strip() 85 | if line: 86 | channel_name,channel_url = line.split(",") 87 | for udpxy_url in valid_ips: 88 | #print(udpxy_url) 89 | channel_udpxy_url = f"{udpxy_url}/{channel_url}" 90 | channel = f"{channel_name},{channel_udpxy_url}" 91 | channels.append(channel) 92 | 93 | result_counter = 8 # 每个频道需要的个数 94 | with open("itvlist.txt", 'a', encoding='utf-8') as file: 95 | channel_counters = {} 96 | file.write('央视(联通),#genre#\n') 97 | for channel in channels: 98 | channel_name,channel_url = channel.split(",") 99 | if 'CCTV' in channel_name: 100 | if channel_name in channel_counters: 101 | if channel_counters[channel_name] >= result_counter: 102 | continue 103 | else: 104 | file.write(f"{channel_name},{channel_url}\n") 105 | channel_counters[channel_name] += 1 106 | else: 107 | file.write(f"{channel_name},{channel_url}\n") 108 | channel_counters[channel_name] = 1 109 | channel_counters = {} 110 | file.write('数字(联通),#genre#\n') 111 | for channel in channels: 112 | channel_name, channel_url = channel.split(",") 113 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 114 | if channel_name in channel_counters: 115 | if channel_counters[channel_name] >= result_counter: 116 | continue 117 | else: 118 | file.write(f"{channel_name},{channel_url}\n") 119 | channel_counters[channel_name] += 1 120 | else: 121 | file.write(f"{channel_name},{channel_url}\n") 122 | channel_counters[channel_name] = 1 123 | channel_counters = {} 124 | file.write('卫视(联通),#genre#\n') 125 | for channel in channels: 126 | channel_name,channel_url = channel.split(",") 127 | if '卫视' in channel_name: 128 | if channel_name in channel_counters: 129 | if channel_counters[channel_name] >= result_counter: 130 | continue 131 | else: 132 | file.write(f"{channel_name},{channel_url}\n") 133 | channel_counters[channel_name] += 1 134 | else: 135 | file.write(f"{channel_name},{channel_url}\n") 136 | channel_counters[channel_name] = 1 137 | channel_counters = {} 138 | file.write('其他(联通),#genre#\n') 139 | for channel in channels: 140 | channel_name,channel_url = channel.split(",") 141 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 142 | if channel_name in channel_counters: 143 | if channel_counters[channel_name] >= result_counter: 144 | continue 145 | else: 146 | file.write(f"{channel_name},{channel_url}\n") 147 | channel_counters[channel_name] += 1 148 | else: 149 | file.write(f"{channel_name},{channel_url}\n") 150 | channel_counters[channel_name] = 1 151 | 152 | with open("itvlist.m3u", 'a', encoding='utf-8') as file: 153 | channel_counters = {} 154 | file.write('#EXTM3U\n') 155 | for channel in channels: 156 | channel_name,channel_url = channel.split(",") 157 | if 'CCTV' in channel_name: 158 | if channel_name in channel_counters: 159 | if channel_counters[channel_name] >= result_counter: 160 | continue 161 | else: 162 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 163 | file.write(f"{channel_url}\n") 164 | channel_counters[channel_name] += 1 165 | else: 166 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 167 | file.write(f"{channel_url}\n") 168 | channel_counters[channel_name] = 1 169 | channel_counters = {} 170 | #file.write('卫视频道,#genre#\n') 171 | for channel in channels: 172 | channel_name,channel_url = channel.split(",") 173 | if '卫视' in channel_name: 174 | if channel_name in channel_counters: 175 | if channel_counters[channel_name] >= result_counter: 176 | continue 177 | else: 178 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 179 | file.write(f"{channel_url}\n") 180 | channel_counters[channel_name] += 1 181 | else: 182 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 183 | file.write(f"{channel_url}\n") 184 | channel_counters[channel_name] = 1 185 | channel_counters = {} 186 | #file.write('其他频道,#genre#\n') 187 | for channel in channels: 188 | channel_name,channel_url = channel.split(",") 189 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 190 | if channel_name in channel_counters: 191 | if channel_counters[channel_name] >= result_counter: 192 | continue 193 | else: 194 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 195 | file.write(f"{channel_url}\n") 196 | channel_counters[channel_name] += 1 197 | else: 198 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 199 | file.write(f"{channel_url}\n") 200 | channel_counters[channel_name] = 1 201 | -------------------------------------------------------------------------------- /c.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /c1.py: -------------------------------------------------------------------------------- 1 | import time 2 | import requests 3 | import re 4 | import cv2 # 导入OpenCV库 5 | 6 | ###urls城市根据自己所处的地理位置修改 7 | urls = [ 8 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImNoZW5nZHUi",#成都电信 9 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9Imxlc2hhbiI%3D",#乐山电信 10 | #"https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImxhbmdmYW5nIg%3D%3D", 11 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIHJlZ2lvbj0i5Zub5bedIg%3D%3D"#四川电信 12 | 13 | ] 14 | 15 | def extract_unique_ip_ports(url): 16 | try: 17 | response = requests.get(url) 18 | time.sleep(10) 19 | html_content = response.text 20 | # 使用正则表达式匹配IP地址和端口号 21 | ips_ports = re.findall(r'(\d+\.\d+\.\d+\.\d+:\d+)', html_content) 22 | unique_ips_ports = list(set(ips_ports)) # 去除重复的IP地址和端口号 23 | return unique_ips_ports 24 | 25 | except requests.RequestException as e: 26 | print(f"请求错误: {e}") 27 | return None 28 | 29 | # 检查视频流的可达性 30 | def check_video_stream_connectivity(ip_port, urls_udp): 31 | try: 32 | # 构造完整的视频URL 33 | video_url = f"http://{ip_port}{urls_udp}" 34 | # 用OpenCV读取视频 35 | cap = cv2.VideoCapture(video_url) 36 | 37 | # 检查视频是否成功打开 38 | if not cap.isOpened(): 39 | print(f"视频URL {video_url} 无效") 40 | return None 41 | else: 42 | # 读取视频的宽度和高度 43 | width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 44 | height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 45 | print(f"视频URL {video_url} 的分辨率为 {width}x{height}") 46 | # 检查分辨率是否大于0 47 | if width > 0 and height > 0: 48 | return ip_port # 返回有效的IP和端口 49 | # 关闭视频流 50 | cap.release() 51 | except Exception as e: 52 | print(f"访问 {ip_port} 失败: {e}") 53 | return None 54 | 55 | # 定义组播地址和端口 56 | urls_udp = "/udp/239.93.0.184:5140" 57 | 58 | # 提取唯一的IP地址和端口号 59 | ip_ports = [] 60 | valid_ips = [] 61 | for url in urls: 62 | print(url) 63 | ip_ports = extract_unique_ip_ports(url) 64 | if ip_ports: 65 | print(ip_ports) 66 | #测试每个IP地址和端口号,直到找到一个可访问的视频流 67 | for ip_port in ip_ports: 68 | valid_ip = check_video_stream_connectivity(ip_port, urls_udp) 69 | if valid_ip: 70 | print(f"找到可访问的视频流服务: {valid_ip}") 71 | valid_ips.append(valid_ip) 72 | 73 | 74 | channels = [] 75 | with open("iptv3.txt", 'r', encoding='utf-8') as file: 76 | lines = file.readlines() 77 | for line in lines: 78 | #print(line) 79 | line = line.strip() 80 | if line: 81 | channel_name,channel_url = line.split(",") 82 | for valid_ip in valid_ips: 83 | #print(udpxy_url) 84 | channel = f"{channel_name},http://{valid_ip}/{channel_url}" 85 | channels.append(channel) 86 | 87 | 88 | 89 | result_counter = 16 # 每个频道需要的个数 90 | with open("itvlist.txt", 'a', encoding='utf-8') as file: 91 | channel_counters = {} 92 | file.write('央视(备用),#genre#\n') 93 | for channel in channels: 94 | channel_name,channel_url = channel.split(",") 95 | if 'CCTV' in channel_name: 96 | if channel_name in channel_counters: 97 | if channel_counters[channel_name] >= result_counter: 98 | continue 99 | else: 100 | file.write(channel + "\n") 101 | channel_counters[channel_name] += 1 102 | else: 103 | file.write(channel + "\n") 104 | channel_counters[channel_name] = 1 105 | channel_counters = {} 106 | file.write('数字(备用),#genre#\n') 107 | for channel in channels: 108 | channel_name, channel_url = channel.split(",") 109 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 110 | if channel_name in channel_counters: 111 | if channel_counters[channel_name] >= result_counter: 112 | continue 113 | else: 114 | file.write(f"{channel_name},{channel_url}\n") 115 | channel_counters[channel_name] += 1 116 | else: 117 | file.write(f"{channel_name},{channel_url}\n") 118 | channel_counters[channel_name] = 1 119 | channel_counters = {} 120 | file.write('卫视(备用),#genre#\n') 121 | for channel in channels: 122 | channel_name,channel_url = channel.split(",") 123 | if '卫视' in channel_name: 124 | if channel_name in channel_counters: 125 | if channel_counters[channel_name] >= result_counter: 126 | continue 127 | else: 128 | file.write(channel + "\n") 129 | channel_counters[channel_name] += 1 130 | else: 131 | file.write(channel + "\n") 132 | channel_counters[channel_name] = 1 133 | channel_counters = {} 134 | file.write('其他(备用),#genre#\n') 135 | for channel in channels: 136 | channel_name,channel_url = channel.split(",") 137 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 138 | if channel_name in channel_counters: 139 | if channel_counters[channel_name] >= result_counter: 140 | continue 141 | else: 142 | file.write(channel + "\n") 143 | channel_counters[channel_name] += 1 144 | else: 145 | file.write(channel + "\n") 146 | channel_counters[channel_name] = 1 147 | 148 | with open("itvlist.m3u", 'a', encoding='utf-8') as file: 149 | channel_counters = {} 150 | file.write('#EXTM3U\n') 151 | for channel in channels: 152 | channel_name,channel_url = channel.split(",") 153 | if 'CCTV' in channel_name: 154 | if channel_name in channel_counters: 155 | if channel_counters[channel_name] >= result_counter: 156 | continue 157 | else: 158 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 159 | file.write(f"{channel_url}\n") 160 | channel_counters[channel_name] += 1 161 | else: 162 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 163 | file.write(f"{channel_url}\n") 164 | channel_counters[channel_name] = 1 165 | channel_counters = {} 166 | #file.write('卫视频道,#genre#\n') 167 | for channel in channels: 168 | channel_name,channel_url = channel.split(",") 169 | if '卫视' in channel_name: 170 | if channel_name in channel_counters: 171 | if channel_counters[channel_name] >= result_counter: 172 | continue 173 | else: 174 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 175 | file.write(f"{channel_url}\n") 176 | channel_counters[channel_name] += 1 177 | else: 178 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 179 | file.write(f"{channel_url}\n") 180 | channel_counters[channel_name] = 1 181 | channel_counters = {} 182 | #file.write('其他频道,#genre#\n') 183 | for channel in channels: 184 | channel_name,channel_url = channel.split(",") 185 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 186 | if channel_name in channel_counters: 187 | if channel_counters[channel_name] >= result_counter: 188 | continue 189 | else: 190 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 191 | file.write(f"{channel_url}\n") 192 | channel_counters[channel_name] += 1 193 | else: 194 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 195 | file.write(f"{channel_url}\n") 196 | channel_counters[channel_name] = 1 197 | 198 | 199 | -------------------------------------------------------------------------------- /c2.py: -------------------------------------------------------------------------------- 1 | import time 2 | import requests 3 | import re 4 | import os 5 | import cv2 # 导入OpenCV库 6 | 7 | ###urls城市根据自己所处的地理位置修改 8 | urls = [ 9 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImNoZW5nZHUi",#成都电信 10 | "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9Imxlc2hhbiI%3D",#乐山电信 11 | #"https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9ImxhbmdmYW5nIg%3D%3D", 12 | # "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIHJlZ2lvbj0i5Zub5bedIg%3D%3D"#四川电信 13 | 14 | ] 15 | 16 | def extract_unique_ip_ports(url): 17 | try: 18 | response = requests.get(url) 19 | time.sleep(10) 20 | html_content = response.text 21 | # 使用正则表达式匹配IP地址和端口号 22 | ips_ports = re.findall(r'(\d+\.\d+\.\d+\.\d+:\d+)', html_content) 23 | unique_ips_ports = list(set(ips_ports)) # 去除重复的IP地址和端口号 24 | if unique_ips_ports: 25 | return unique_ips_ports 26 | 27 | except requests.RequestException as e: 28 | print(f"请求错误: {e}") 29 | return None 30 | 31 | # 检查视频流的可达性 32 | def check_video_stream_connectivity(ip_port, urls_udp): 33 | try: 34 | # 构造完整的视频URL 35 | video_url = f"http://{ip_port}{urls_udp}" 36 | # 用OpenCV读取视频 37 | cap = cv2.VideoCapture(video_url) 38 | 39 | # 检查视频是否成功打开 40 | if not cap.isOpened(): 41 | print(f"视频URL {video_url} 无效") 42 | return None 43 | else: 44 | # 读取视频的宽度和高度 45 | width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 46 | height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 47 | print(f"视频URL {video_url} 的分辨率为 {width}x{height}") 48 | # 检查分辨率是否大于0 49 | if width > 0 and height > 0: 50 | return ip_port # 返回有效的IP和端口 51 | # 关闭视频流 52 | cap.release() 53 | except Exception as e: 54 | print(f"访问 {ip_port} 失败: {e}") 55 | return None 56 | 57 | # 定义组播地址和端口 58 | urls_udp = "/udp/239.93.0.184:5140" 59 | 60 | # 提取唯一的IP地址和端口号 61 | 62 | ip_ports = [] 63 | valid_ips = [] 64 | results = [] 65 | with open("c.txt", 'a', encoding='utf-8') as file: 66 | # for result in results: 67 | for url in urls: 68 | print(url) 69 | ip_ports = extract_unique_ip_ports(url) 70 | print(ip_ports) 71 | for ip_port in ip_ports: 72 | file.write(ip_port + "\n") 73 | # for ip_port in ip_ports: 74 | # valid_ip = check_video_stream_connectivity(ip_port, urls_udp) 75 | # valid_ips.append(valid_ip) 76 | #for valid_ip in valid_ips: 77 | # file.write(valid_ip + "\n") 78 | 79 | #for ip_port in ip_ports: 80 | # results.append(ip_port) 81 | # for result in results: 82 | # print(result) 83 | #file.write(f"{ip_ports}\n") 84 | #测试每个IP地址和端口号,直到找到一个可访问的视频流 85 | # for ip_port in ip_ports: 86 | #valid_ip = None 87 | # valid_ip = check_video_stream_connectivity(ip_port, urls_udp) 88 | #if valid_ip: 89 | # print(f"找到可访问的视频流服务: {valid_ip}") 90 | #valid_ips.append(valid_ip) 91 | # file.write(f"{valid_ip}\n") 92 | #for result in results: 93 | # print(result) 94 | # print(valid_ips) 95 | #with open("c.txt", 'a', encoding='utf-8') as file: 96 | # for result in results: 97 | 98 | # for url in urls: 99 | #for ip_port in ip_ports: 100 | #print(ip_port) 101 | # file.write(result + "\n") 102 | #for valid_ip in valid_ips: 103 | #print(valid_ip) 104 | 105 | 106 | #channels = [] 107 | #with open("iptv3.txt", 'r', encoding='utf-8') as file: 108 | #lines = file.readlines() 109 | # for line in lines: 110 | # print(line) 111 | # line = line.strip() 112 | #if line: 113 | # channel_name,channel_url = line.split(",") 114 | #for valid_ip in valid_ips: 115 | #print(udpxy_url) 116 | # channel = f"{channel_name},http://{valid_ip}/{channel_url}" 117 | # channels.append(channel) 118 | # print(channels) 119 | -------------------------------------------------------------------------------- /chromedriver/chromedriver-win32(121.0.6167.85).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/chromedriver/chromedriver-win32(121.0.6167.85).zip -------------------------------------------------------------------------------- /chromedriver/chromedriver-win64(121.0.6167.184).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/chromedriver/chromedriver-win64(121.0.6167.184).zip -------------------------------------------------------------------------------- /chromedriver/chromedriver-win64(121.0.6167.85).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/chromedriver/chromedriver-win64(121.0.6167.85).zip -------------------------------------------------------------------------------- /chromedriver/readme: -------------------------------------------------------------------------------- 1 | 下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable 2 | https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json 3 | https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/win64/chromedriver-win64.zip 4 | -------------------------------------------------------------------------------- /d.py: -------------------------------------------------------------------------------- 1 | import time 2 | import os 3 | import concurrent.futures 4 | from selenium import webdriver 5 | from selenium.webdriver.chrome.options import Options 6 | import requests 7 | import re 8 | import threading 9 | from queue import Queue 10 | import eventlet 11 | eventlet.monkey_patch() 12 | 13 | ###urls城市根据自己所处的地理位置修改 14 | urls = [ 15 | "https://fofa.info/result?qbase64=5LqS6IGU572R55S16KeG566h55CG57O757uf",#黑龙江 16 | # "https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQ4NDciICYmIHJlZ2lvbj0iQmVpamluZyI%3D",#北京电信 17 | #"https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIHJlZ2lvbj0iaGViZWki",#河北 18 | #"https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIGNpdHk9cWluaHVhbmdkYW8%3D",#秦皇岛 19 | #"https://fofa.info/result?qbase64=InVkcHh5IiAmJiBhc249IjQxMzQiICYmIHJlZ2lvbj0iaGViZWki"#河北 20 | ] 21 | 22 | 23 | def modify_urls(url): 24 | modified_urls = [] 25 | ip_start_index = url.find("//") + 2 26 | ip_end_index = url.find(":", ip_start_index) 27 | base_url = url[:ip_start_index] # http:// or https:// 28 | ip_address = url[ip_start_index:ip_end_index] 29 | port = url[ip_end_index:] 30 | ip_end = "/ZHGXTV/Public/json/live_interface.txt" 31 | for i in range(1, 256): 32 | modified_ip = f"{ip_address[:-1]}{i}" 33 | modified_url = f"{base_url}{modified_ip}{port}{ip_end}" 34 | modified_urls.append(modified_url) 35 | 36 | return modified_urls 37 | 38 | 39 | def is_url_accessible(url): 40 | try: 41 | response = requests.get(url, timeout=0.5) 42 | if response.status_code == 200: 43 | return url 44 | except requests.exceptions.RequestException: 45 | pass 46 | return None 47 | 48 | 49 | results = [] 50 | 51 | for url in urls: 52 | try: 53 | # 创建一个Chrome WebDriver实例 54 | chrome_options = Options() 55 | chrome_options.add_argument('--headless') 56 | chrome_options.add_argument('--no-sandbox') 57 | chrome_options.add_argument('--disable-dev-shm-usage') 58 | 59 | driver = webdriver.Chrome(options=chrome_options) 60 | # 使用WebDriver访问网页 61 | driver.get(url) # 将网址替换为你要访问的网页地址 62 | time.sleep(10) 63 | # 获取网页内容 64 | page_content = driver.page_source 65 | 66 | # 关闭WebDriver 67 | driver.quit() 68 | 69 | # 查找所有符合指定格式的网址 70 | pattern = r"http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+" # 设置匹配的格式,如http://8.8.8.8:8888 71 | urls_all = re.findall(pattern, page_content) 72 | # urls = list(set(urls_all)) # 去重得到唯一的URL列表 73 | urls = set(urls_all) # 去重得到唯一的URL列表 74 | x_urls = [] 75 | for url in urls: # 对urls进行处理,ip第四位修改为1,并去重 76 | url = url.strip() 77 | ip_start_index = url.find("//") + 2 78 | ip_end_index = url.find(":", ip_start_index) 79 | ip_dot_start = url.find(".") + 1 80 | ip_dot_second = url.find(".", ip_dot_start) + 1 81 | ip_dot_three = url.find(".", ip_dot_second) + 1 82 | base_url = url[:ip_start_index] # http:// or https:// 83 | ip_address = url[ip_start_index:ip_dot_three] 84 | port = url[ip_end_index:] 85 | ip_end = "1" 86 | modified_ip = f"{ip_address}{ip_end}" 87 | x_url = f"{base_url}{modified_ip}{port}" 88 | x_urls.append(x_url) 89 | urls = set(x_urls) # 去重得到唯一的URL列表 90 | 91 | valid_urls = [] 92 | # 多线程获取可用url 93 | with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor: 94 | futures = [] 95 | for url in urls: 96 | url = url.strip() 97 | modified_urls = modify_urls(url) 98 | for modified_url in modified_urls: 99 | futures.append(executor.submit(is_url_accessible, modified_url)) 100 | 101 | for future in concurrent.futures.as_completed(futures): 102 | result = future.result() 103 | if result: 104 | valid_urls.append(result) 105 | 106 | for url in valid_urls: 107 | print(f"可用url:{url}") 108 | try: 109 | udpxy_urls = []# 修改文件转发地址 110 | ip_start_index = url.find("//") + 2 111 | ip_dot_start = url.find(".") + 1 112 | ip_index_second = url.find("/", ip_dot_start) 113 | base_url = url[:ip_start_index] # http:// or https:// 114 | ip_address = url[ip_start_index:ip_index_second] 115 | url_x = f"{base_url}{ip_address}" 116 | udpxy_url = f"{url_x}" 117 | results.append(udpxy_url) 118 | 119 | except: 120 | continue 121 | except: 122 | continue 123 | channels = [] 124 | with open("iptv4.txt", 'r', encoding='utf-8') as file: 125 | lines = file.readlines() 126 | for line in lines: 127 | #print(line) 128 | line = line.strip() 129 | if line: 130 | channel_name,channel_url = line.split(",") 131 | for udpxy_url in results: 132 | #print(udpxy_url) 133 | channel = f"{channel_name},{udpxy_url}/{channel_url}" 134 | channels.append(channel) 135 | 136 | 137 | result_counter = 10 # 每个频道需要的个数 138 | with open("itv.txt", 'w', encoding='utf-8') as file: 139 | channel_counters = {} 140 | file.write('央视,#genre#\n') 141 | for channel in channels: 142 | channel_name,channel_url = channel.split(",") 143 | if 'CCTV' in channel_name: 144 | if channel_name in channel_counters: 145 | if channel_counters[channel_name] >= result_counter: 146 | continue 147 | else: 148 | file.write(channel + "\n") 149 | channel_counters[channel_name] += 1 150 | else: 151 | file.write(channel + "\n") 152 | channel_counters[channel_name] = 1 153 | channel_counters = {} 154 | file.write('数字,#genre#\n') 155 | for channel in channels: 156 | channel_name, channel_url = channel.split(",") 157 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 158 | if channel_name in channel_counters: 159 | if channel_counters[channel_name] >= result_counter: 160 | continue 161 | else: 162 | file.write(f"{channel_name},{channel_url}\n") 163 | channel_counters[channel_name] += 1 164 | else: 165 | file.write(f"{channel_name},{channel_url}\n") 166 | channel_counters[channel_name] = 1 167 | channel_counters = {} 168 | file.write('卫视,#genre#\n') 169 | for channel in channels: 170 | channel_name,channel_url = channel.split(",") 171 | if '卫视' in channel_name: 172 | if channel_name in channel_counters: 173 | if channel_counters[channel_name] >= result_counter: 174 | continue 175 | else: 176 | file.write(channel + "\n") 177 | channel_counters[channel_name] += 1 178 | else: 179 | file.write(channel + "\n") 180 | channel_counters[channel_name] = 1 181 | channel_counters = {} 182 | file.write('其他,#genre#\n') 183 | for channel in channels: 184 | channel_name,channel_url = channel.split(",") 185 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 186 | if channel_name in channel_counters: 187 | if channel_counters[channel_name] >= result_counter: 188 | continue 189 | else: 190 | file.write(channel + "\n") 191 | channel_counters[channel_name] += 1 192 | else: 193 | file.write(channel + "\n") 194 | channel_counters[channel_name] = 1 195 | 196 | with open("itvlist.m3u", 'a', encoding='utf-8') as file: 197 | channel_counters = {} 198 | file.write('#EXTM3U\n') 199 | for channel in channels: 200 | channel_name,channel_url = channel.split(",") 201 | if 'CCTV' in channel_name: 202 | if channel_name in channel_counters: 203 | if channel_counters[channel_name] >= result_counter: 204 | continue 205 | else: 206 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 207 | file.write(f"{channel_url}\n") 208 | channel_counters[channel_name] += 1 209 | else: 210 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 211 | file.write(f"{channel_url}\n") 212 | channel_counters[channel_name] = 1 213 | channel_counters = {} 214 | #file.write('卫视频道,#genre#\n') 215 | for channel in channels: 216 | channel_name,channel_url = channel.split(",") 217 | if '卫视' in channel_name: 218 | if channel_name in channel_counters: 219 | if channel_counters[channel_name] >= result_counter: 220 | continue 221 | else: 222 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 223 | file.write(f"{channel_url}\n") 224 | channel_counters[channel_name] += 1 225 | else: 226 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 227 | file.write(f"{channel_url}\n") 228 | channel_counters[channel_name] = 1 229 | channel_counters = {} 230 | #file.write('其他频道,#genre#\n') 231 | for channel in channels: 232 | channel_name,channel_url = channel.split(",") 233 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 234 | if channel_name in channel_counters: 235 | if channel_counters[channel_name] >= result_counter: 236 | continue 237 | else: 238 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 239 | file.write(f"{channel_url}\n") 240 | channel_counters[channel_name] += 1 241 | else: 242 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 243 | file.write(f"{channel_url}\n") 244 | channel_counters[channel_name] = 1 245 | 246 | 247 | -------------------------------------------------------------------------------- /iptv.txt: -------------------------------------------------------------------------------- 1 | CCTV1,rtp/239.254.200.45:8008 2 | CCTV2,rtp/239.254.200.158:6000 3 | CCTV3,rtp/239.254.201.152:7205 4 | CCTV4,rtp/239.254.200.190:6307 5 | CCTV5,rtp/239.254.201.153:7206 6 | CCTV5+,rtp/239.254.200.46:8004 7 | CCTV6,rtp/239.254.201.154:7207 8 | CCTV7,rtp/239.254.200.159:6000 9 | CCTV8,rtp/239.254.201.155:7208 10 | CCTV9,rtp/239.254.200.59:8112 11 | CCTV10,rtp/239.254.200.160:6000 12 | CCTV11,rtp/239.254.201.123:8120 13 | CCTV12,rtp/239.254.200.161:6000 14 | CCTV13,rtp/239.254.200.9:8264 15 | CCTV14,rtp/239.254.200.162:6000 16 | CCTV15,rtp/239.254.201.124:8136 17 | cctv16,rtp/239.254.200.61.6344 18 | CCTV16 4K,rtp/239.254.200.7:6346 19 | CCTV16 4K,rtp/239.254.201.150:6345 20 | CCTV16 4K,rtp/239.254.201.150:6345 21 | CCTV17,rtp/239.254.201.120:8144 22 | 东南卫视,rtp/239.254.201.13:6291 23 | 东方卫视,rtp/239.254.200.52:8032 24 | 云南卫视,rtp/239.254.200.68:8108 25 | 内蒙古卫视,rtp/239.254.200.84:8176 26 | 凤凰卫视中文台,rtp/239.254.201.2:5226 27 | 凤凰卫视电影台,rtp/239.254.201.1:5214 28 | 凤凰卫视资讯台,rtp/239.254.201.3:5227 29 | 北京卫视,rtp/239.254.200.47:8024 30 | 吉林卫视,rtp/239.254.201.15:6339 31 | 四川卫视,rtp/239.254.200.202:6325 32 | 天津卫视,rtp/239.254.200.54:1234 33 | 宁夏卫视,rtp/239.254.200.87:8124 34 | 安徽卫视,rtp/239.254.200.163:6000 35 | 山东卫视,rtp/239.254.200.55:8052 36 | 山西卫视,rtp/239.254.200.83:8172 37 | 广东卫视,rtp/239.254.200.56:8048 38 | 广西卫视,rtp/239.254.200.80:8300 39 | 新疆卫视,rtp/239.254.200.89:8160 40 | 江苏卫视,rtp/239.254.200.51:8028 41 | 江西卫视,rtp/239.254.201.12:6290 42 | 河北卫视,rtp/239.254.200.174:6000 43 | 河南卫视,rtp/239.254.201.16:7174 44 | 浙江卫视,rtp/239.254.200.53:8036 45 | 海南卫视,rtp/239.254.201.125:6288 46 | 深圳卫视,rtp/239.254.200.50:8020 47 | 湖北卫视,rtp/239.254.200.164:6000 48 | 湖南卫视,rtp/239.254.200.48:8012 49 | 甘肃卫视,rtp/239.254.200.90:8188 50 | 西藏卫视,rtp/239.254.200.88:8164 51 | 贵州卫视,rtp/239.254.201.20:6315 52 | 辽宁卫视,rtp/239.254.200.57:8056 53 | 重庆卫视,rtp/239.254.200.203:6323 54 | 陕西卫视,rtp/239.254.200.82:8140 55 | 青海卫视,rtp/239.254.200.85:8184 56 | 黑龙江卫视,rtp/239.254.200.49:8016 57 | 第一剧场,rtp/239.254.201.218:7258 58 | 怀旧剧场,rtp/239.254.201.220:7256 59 | 文化精品,rtp/239.254.201.229:7260 60 | 都市剧场,rtp/239.254.201.167:6360 61 | 世界地理,rtp/239.254.201.226:7254 62 | 兵器科技,rtp/239.254.201.225:7249 63 | CETV1,rtp/239.254.200.225:6259 64 | CETV2,rtp/239.254.200.226:6260 65 | CETV4,rtp/239.254.200.227:6261 66 | CGTN,rtp/239.254.200.12:8056 67 | 文物宝库,rtp/239.254.201.227:7230 68 | 纪实科教,rtp/239.254.200.188:6311 69 | 嘉佳卡通,rtp/239.254.201.201:7269 70 | 四海钓鱼,rtp/239.254.201.185:6363 71 | 金色学堂,rtp/239.254.201.182:7227 72 | 金鹰卡通,rtp/239.254.200.92:9252 73 | 金鹰纪实,rtp/239.254.200.189:6293 74 | 国学,rtp/239.254.200.107:6255 75 | 书画,rtp/239.254.200.217:6267 76 | 老故事,rtp/239.254.200.104:6237 77 | 求索纪录,rtp/239.254.201.176:7221 78 | 女性时尚,rtp/239.254.201.228:7255 79 | 先锋乒羽,rtp/239.254.201.160:7172 80 | 纪实人文,rtp/239.254.200.58:8060 81 | 乐游,rtp/239.254.201.200:6356 82 | 优优宝贝,rtp/239.254.201.186:6272 83 | 中学生,rtp/239.254.200.113:6243 84 | 中华美食,rtp/239.254.201.189:7171 85 | 卡酷少儿,rtp/239.254.200.91:9248 86 | 优漫卡通,rtp/239.254.201.203:7178 87 | 快乐垂钓,rtp/239.254.200.229:6257 88 | 梨园频道,rtp/239.254.201.231:7228 89 | 茶频道,rtp/239.254.200.228:6258 90 | 欢笑剧场,rtp/239.254.201.164:6355 91 | 环球奇观,rtp/239.254.200.105:6238 92 | 武术世界,rtp/239.254.201.224:7229 93 | 河北公共,rtp/239.254.200.22:6000 94 | 河北农民,rtp/239.254.200.23:6000 95 | 河北少儿科教,rtp/239.254.200.21:6000 96 | 河北影视剧,rtp/239.254.200.20:6000 97 | 河北杂技频道,rtp/239.254.201.139:7203 98 | 河北经济生活,rtp/239.254.200.18:6000 99 | 河北都市,rtp/239.254.200.19:6000 100 | 法治天地,rtp/239.254.201.183:7226 101 | 廊坊公共,rtp/239.254.200.184:6000 102 | 廊坊新闻,rtp/239.254.200.183:6000 103 | SLTV,rtp/239.254.201.100:5179 104 | 七彩戏剧,rtp/239.254.201.180:7213 105 | 三佳购物,rtp/239.254.200.143:6000 106 | 三河电视,rtp/239.254.201.113:5315 107 | 东光电视,rtp/239.254.201.76:5331 108 | 东方财经,rtp/239.254.201.181:7214 109 | 中国交通频道,rtp/239.254.201.110:5181 110 | 中式八球国际公开赛,rtp/239.254.200.187:6000 111 | 丰南电视,rtp/239.254.200.218:5186 112 | 丰宁电视,rtp/239.254.200.5:5290 113 | 丰润电视,rtp/239.254.201.58:5197 114 | 临漳电视,rtp/239.254.201.73:5221 115 | 乐亭电视,rtp/239.254.201.107:5200 116 | 井陉电视,rtp/239.254.201.215:6167 117 | 井陉矿区电视,rtp/239.254.201.14:5175 118 | 任县电视,rtp/239.254.201.115:5381 119 | 优购物,rtp/239.254.201.78:6283 120 | 体育赛事,rtp/239.254.201.170:8176 121 | 保定公共频道,rtp/239.254.200.145:6000 122 | 保定新闻综合,rtp/239.254.200.144:6000 123 | 保定生活健康,rtp/239.254.200.146:6000 124 | 元氏电视,rtp/239.254.200.191:5169 125 | 兴隆电视,rtp/239.254.201.95:5295 126 | 冀州电视,rtp/239.254.200.179:5346 127 | 内丘电视,rtp/239.254.201.77:5380 128 | 冰雪体育,rtp/239.254.201.172:7244 129 | 动漫秀场,rtp/239.254.201.165:6358 130 | 南和电视,rtp/239.254.201.72:6000 131 | 南宫电视,rtp/239.254.201.48:5371 132 | 南皮电视,rtp/239.254.201.119:5335 133 | 卢龙电视,rtp/239.254.201.216:5233 134 | 双滦电视,rtp/239.254.201.63:5293 135 | 吴桥电视,rtp/239.254.201.138:5337 136 | 唐县电视,rtp/239.254.201.41:5264 137 | 唐山公共,rtp/239.254.200.169:6000 138 | 唐山影视,rtp/239.254.200.168:6000 139 | 唐山新闻综合,rtp/239.254.200.166:6000 140 | 唐山生活服务,rtp/239.254.200.167:6000 141 | 固安电视,rtp/239.254.201.101:5312 142 | 大厂电视,rtp/239.254.201.71:5310 143 | 大名电视,rtp/239.254.201.149:6212 144 | 大城电视,rtp/239.254.201.34:5308 145 | 天元围棋,rtp/239.254.201.156:6270 146 | 央广购物,rtp/239.254.201.202:7268 147 | 央视台球,rtp/239.254.201.171:7176 148 | 孟村电视,rtp/239.254.201.38:5329 149 | 宁晋电视,rtp/239.254.201.51:5375 150 | 安平电视,rtp/239.254.201.42:5348 151 | 安新电视,rtp/239.254.201.99:6255 152 | 定兴电视,rtp/239.254.200.172:5246 153 | 定州电视,rtp/239.254.201.74:6251 154 | 家家购物,rtp/239.254.201.144:7262 155 | 家庭理财,rtp/239.254.201.188:6366 156 | 家有购物,rtp/239.254.201.80:7192 157 | 容城电视,rtp/239.254.201.102:6256 158 | 山东教育,rtp/239.254.200.247:4120 159 | 崇礼电视,rtp/239.254.201.117:5267 160 | 平乡电视,rtp/239.254.201.53:5378 161 | 平泉电视,rtp/239.254.200.177:5286 162 | 广宗电视,rtp/239.254.201.50:5373 163 | 广平电视,rtp/239.254.201.70:5220 164 | 康保电视,rtp/239.254.201.135:5270 165 | 张北电视,rtp/239.254.201.130:5271 166 | 张家口公共,rtp/239.254.200.36:6000 167 | 张家口新闻综合,rtp/239.254.200.35:6000 168 | 徐水电视,rtp/239.254.201.147:6260 169 | 快乐购,rtp/239.254.201.79:7196 170 | 成安电视,rtp/239.254.201.143:6210 171 | 承德公共,rtp/239.254.200.33:6000 172 | 承德新闻综合,rtp/239.254.200.32:6000 173 | 抚宁电视,rtp/239.254.201.213:5232 174 | 摄影,rtp/239.254.200.119:6246 175 | 故城电视,rtp/239.254.201.126:5362 176 | 文安电视,rtp/239.254.201.103:5314 177 | 新动漫,rtp/239.254.201.158:7170 178 | 无极电视,rtp/239.254.200.220:5167 179 | 早期教育,rtp/239.254.201.230:7253 180 | 昌黎电视,rtp/239.254.201.61:5230 181 | 晋州电视,rtp/239.254.201.127:5184 182 | 景县电视,rtp/239.254.200.240:5350 183 | 曲周电视,rtp/239.254.200.236:5210 184 | 曲阳电视,rtp/239.254.200.242:5265 185 | 望都电视,rtp/239.254.201.56:6246 186 | 极速汽车,rtp/239.254.201.168:6362 187 | 枣强电视,rtp/239.254.201.136:5363 188 | 柏乡电视,rtp/239.254.201.140:5383 189 | 栾城电视,rtp/239.254.200.215:5173 190 | 武安电视,rtp/239.254.201.6:5216 191 | 武邑电视,rtp/239.254.201.8:5355 192 | 每日健身,rtp/239.254.201.174:7245 193 | 永清电视,rtp/239.254.201.141:5316 194 | 汽摩,rtp/239.254.200.103:6252 195 | 沙河电视,rtp/239.254.200.181:5369 196 | 沧州公共,rtp/239.254.200.43:6000 197 | 沧州影视娱乐,rtp/239.254.200.44:6000 198 | 沧州新闻综合,rtp/239.254.200.42:6000 199 | 涉县电视,rtp/239.254.201.97:5222 200 | 涞水电视,rtp/239.254.201.10:5250 201 | 涞源电视,rtp/239.254.200.213:5260 202 | 涿州电视,rtp/239.254.201.17:5261 203 | 涿鹿电视,rtp/239.254.201.145:5272 204 | 深州电视,rtp/239.254.201.46:5357 205 | 深泽电视,rtp/239.254.201.108:5180 206 | 清河电视,rtp/239.254.200.170:5366 207 | 渤海电视,rtp/239.254.201.35:5327 208 | 游戏竞技,rtp/239.254.201.157:6269 209 | 游戏风云,rtp/239.254.201.163:6354 210 | 满城电视,rtp/239.254.200.222:5252 211 | 滦南电视,rtp/239.254.201.22:5191 212 | 滦州电视,rtp/239.254.201.30:5196 213 | 滦平电视,rtp/239.254.201.4:5291 214 | 玉田电视,rtp/239.254.201.28:5194 215 | 环球旅游,rtp/239.254.201.161:6264 216 | 生态环境,rtp/239.254.201.187:6226 217 | 生活时尚,rtp/239.254.201.166:6359 218 | 电视指南,rtp/239.254.200.142:6256 219 | 电视指南,rtp/239.254.201.217:7250 220 | 盐山电视,rtp/239.254.201.114:5334 221 | 睛彩河北,rtp/239.254.200.27:6000 222 | 石家庄娱乐,rtp/239.254.200.29:6000 223 | 石家庄新闻综合,rtp/239.254.200.157:6000 224 | 石家庄生活,rtp/239.254.200.30:6000 225 | 石家庄都市,rtp/239.254.200.31:6000 226 | 秦皇岛公共,rtp/239.254.200.40:6000 227 | 秦皇岛影视,rtp/239.254.200.41:6000 228 | 秦皇岛新闻综合,rtp/239.254.200.39:6000 229 | 网络棋牌,rtp/239.254.201.159:7169 230 | 羽毛球专区,rtp/239.254.201.214:7264 231 | 聚鲨环球精选,rtp/239.254.201.81:7191 232 | 肃宁电视,rtp/239.254.201.122:5336 233 | 肥乡电视,rtp/239.254.201.105:5223 234 | 衡水公共,rtp/239.254.200.149:6000 235 | 衡水新闻综合,rtp/239.254.200.147:6000 236 | 财富天下,rtp/239.254.200.124:6370 237 | 赞皇电视,rtp/239.254.200.244:5177 238 | 赤城电视,rtp/239.254.201.131:5269 239 | 赵县电视,rtp/239.254.201.111:5183 240 | 足球频道,rtp/239.254.201.169:6341 241 | 车迷,rtp/239.254.201.162:6266 242 | 迁安电视,rtp/239.254.201.109:5199 243 | 迁西电视,rtp/239.254.201.26:5188 244 | 遵化电视,rtp/239.254.201.146:5202 245 | 邢台城市生活,rtp/239.254.200.152:6000 246 | 邢台综合,rtp/239.254.200.150:6000 247 | 邯山电视,rtp/239.254.201.116:5225 248 | 邯郸公共,rtp/239.254.200.154:6000 249 | 邯郸新闻综合,rtp/239.254.200.153:6000 250 | 邯郸科技教育,rtp/239.254.200.155:6000 251 | 邱县电视,rtp/239.254.201.129:6209 252 | 阜城电视,rtp/239.254.201.98:5361 253 | 阜平电视,rtp/239.254.201.40:5248 254 | 陶瓷,rtp/239.254.201.21:7175 255 | 隆化电视,rtp/239.254.201.142:5296 256 | 隆尧电视,rtp/239.254.201.69:5379 257 | 雄县电视,rtp/239.254.201.94:6254 258 | 霸州电视,rtp/239.254.200.4:5313 259 | 青县电视,rtp/239.254.201.112:5333 260 | 靓妆,rtp/239.254.200.122:6249 261 | 音像世界,rtp/239.254.201.175:7243 262 | 顺平电视,rtp/239.254.201.118:6257 263 | 风云剧场,rtp/239.254.201.219:7257 264 | 风云足球,rtp/239.254.201.222:7251 265 | 风云音乐,rtp/239.254.201.221:7259 266 | 饶阳电视,rtp/239.254.201.44:5353 267 | 馆陶电视,rtp/239.254.201.106:5224 268 | 香河电视,rtp/239.254.201.32:5306 269 | 马拉松,rtp/239.254.201.173:7246 270 | 高尔夫网球,rtp/239.254.201.223:7252 271 | 高碑店电视,rtp/239.254.200.210:5254 272 | 高邑电视,rtp/239.254.201.24:5170 273 | 高阳电视,rtp/239.254.201.96:6253 274 | 魏县电视,rtp/239.254.201.148:6211 275 | 鸡泽电视,rtp/239.254.201.60:5218 276 | 鹿泉电视,rtp/239.254.201.204:6166 277 | 黄骅电视,rtp/239.254.201.36:5325 278 | -------------------------------------------------------------------------------- /iptv2.txt: -------------------------------------------------------------------------------- 1 | CCTV-1综合,rtp/239.253.92.83:8012 2 | CCTV-2财经,rtp/239.253.92.190:6065 3 | CCTV-3综艺,rtp/239.253.92.191:6057 4 | CCTV-4亚洲,rtp/239.253.92.251:6141 5 | CCTV-5体育,rtp/239.253.92.181:6046 6 | CCTV-5+体育赛事,rtp/239.253.92.82:8013 7 | CCTV-6电影,rtp/239.253.92.193:6058 8 | CCTV-7国防军事,rtp/239.253.92.194:6059 9 | CCTV-8电视剧,rtp/239.253.92.195:6060 10 | CCTV-9纪录,rtp/239.253.92.107:6020 11 | CCTV-10科教,rtp/239.253.92.196:6061 12 | CCTV-11戏曲,rtp/239.253.93.153:6321 13 | CCTV-12社会与法,rtp/239.253.92.197:6062 14 | CCTV-13新闻,rtp/239.253.92.13:8008 15 | CCTV-14少儿,rtp/239.253.92.198:6063 16 | CCTV-15音乐,rtp/239.253.93.154:6322 17 | CCTV-16奥林匹克,rtp/239.253.94.35:6635 18 | CCTV-17农业农村,rtp/239.253.93.150:6318 19 | CGTN国际,rtp/239.253.92.15:8011 20 | 睛彩河北,rtp/239.253.92.104:6221 21 | 石家庄新闻综合高清,rtp/239.253.92.149:6035 22 | 石家庄娱乐,rtp/239.253.92.93:8120 23 | 石家庄生活,rtp/239.253.92.94:8121 24 | 石家庄都市,rtp/239.253.92.95:8122 25 | 湖南卫视高清,rtp/239.253.92.84:8015 26 | 浙江卫视高清,rtp/239.253.92.90:8020 27 | 江苏卫视高清,rtp/239.253.92.88:8018 28 | 北京卫视高清,rtp/239.253.92.87:8014 29 | 东南卫视高清,rtp/239.253.92.201:6146 30 | 东方卫视高清,rtp/239.253.92.89:8019 31 | 天津卫视高清,rtp/239.253.92.91:8021 32 | 深圳卫视高清,rtp/239.253.92.86:8017 33 | 山东卫视高清,rtp/239.253.92.207:8109 34 | 广东卫视高清,rtp/239.253.92.206:8108 35 | 黑龙江卫视高清,rtp/239.253.92.85:8016 36 | 辽宁卫视高清,rtp/239.253.92.115:6056 37 | 安徽卫视高清,rtp/239.253.92.209:6566 38 | 湖北卫视高清,rtp/239.253.92.210:6567 39 | 四川卫视高清,rtp/239.253.92.16:6043 40 | 重庆卫视高清,rtp/239.253.92.10:6053 41 | 河南卫视高清,rtp/239.253.92.137:6144 42 | 金鹰纪实高清,rtp/239.253.92.103:6054 43 | 广西卫视高清,rtp/239.253.92.76:8043 44 | 贵州卫视高清,rtp/239.253.92.105:6055 45 | 江西卫视高清,rtp/239.253.92.19:6145 46 | 吉林卫视高清,rtp/239.253.92.202:6147 47 | 海南卫视高清,rtp/239.253.93.155:6323 48 | BRTV纪实科教,rtp/239.253.93.190:6358 49 | 承德新闻综合,rtp/239.253.92.222:8112 50 | 承德公共,rtp/239.253.92.223:8113 51 | 张家口新闻综合,rtp/239.253.92.225:8115 52 | 张家口公共,rtp/239.253.92.226:8116 53 | 秦皇岛新闻综合,rtp/239.253.92.52:6021 54 | 秦皇岛公共,rtp/239.253.92.53:6022 55 | 秦皇岛影视,rtp/239.253.92.54:6023 56 | 唐山新闻综合,rtp/239.253.92.245:6089 57 | 唐山生活服务,rtp/239.253.92.126:6026 58 | 唐山影视,rtp/239.253.92.127:6027 59 | 唐山公共,rtp/239.253.92.128:6028 60 | 廊坊新闻,rtp/239.253.92.164:6036 61 | 廊坊公共,rtp/239.253.92.166:6037 62 | 沧州新闻综合,rtp/239.253.92.121:6015 63 | 沧州公共,rtp/239.253.92.122:6016 64 | 沧州影视娱乐,rtp/239.253.92.123:6017 65 | 保定新闻综合,rtp/239.253.93.2:6153 66 | 保定公共频道,rtp/239.253.93.4:6157 67 | 保定生活健康,rtp/239.253.93.5:6158 68 | 衡水新闻综合,rtp/239.253.93.3:6154 69 | 衡水公共,rtp/239.253.93.7:6160 70 | 邢台综合,rtp/239.253.93.8:6161 71 | 邢台城市生活,rtp/239.253.93.10:6163 72 | 邯郸新闻综合,rtp/239.253.93.11:6164 73 | 邯郸公共,rtp/239.253.93.12:6165 74 | 邯郸科技教育,rtp/239.253.93.13:6166 75 | 元氏电视,rtp/239.253.92.142:6040 76 | 无极电视,rtp/239.253.92.138:6222 77 | 高邑电视,rtp/239.253.92.160:6041 78 | 栾城电视,rtp/239.253.92.187:6051 79 | 井陉矿区电视,rtp/239.253.92.215:6067 80 | 赞皇电视,rtp/239.253.92.12:6042 81 | 深泽电视,rtp/239.253.94.31:6630 82 | 赵县电视,rtp/239.253.93.140:6308 83 | 晋州电视,rtp/239.253.93.156:6324 84 | 井陉电视,rtp/239.253.93.205:6383 85 | 平泉电视,rtp/239.253.92.156:6012 86 | 滦平电视,rtp/239.253.92.100:6142 87 | 双滦电视,rtp/239.253.92.147:6224 88 | 兴隆电视,rtp/239.253.93.104:6271 89 | 隆化电视,rtp/239.253.93.174:6342 90 | 承德电视,rtp/239.253.94.28:6627 91 | 宽城新闻,rtp/239.253.93.117:6019 92 | 任县电视,rtp/239.253.93.145:6313 93 | 邯山电视,rtp/239.253.93.146:6314 94 | 崇礼电视,rtp/239.253.93.147:6315 95 | 顺平电视,rtp/239.253.93.148:6316 96 | 张北电视,rtp/239.253.93.159:6327 97 | 尚义电视,rtp/239.253.93.163:6331 98 | 邱县电视,rtp/239.253.93.158:6326 99 | 赤城电视,rtp/239.253.93.160:6328 100 | 康保电视,rtp/239.253.93.165:6333 101 | 遵化电视,rtp/239.253.93.177:6345 102 | 昌黎电视,rtp/239.253.92.109:6217 103 | 抚宁电视,rtp/239.253.93.201:6379 104 | 卢龙电视,rtp/239.253.93.206:6384 105 | 丰南电视,rtp/239.253.92.231:6070 106 | 迁西电视,rtp/239.253.92.247:6091 107 | 滦南电视,rtp/239.253.92.218:6100 108 | 玉田电视,rtp/239.253.92.118:6133 109 | 滦州电视,rtp/239.253.92.97:6138 110 | 香河电视,rtp/239.253.92.185:6049 111 | 大城电视,rtp/239.253.92.230:6068 112 | 大厂电视,rtp/239.253.92.253:6244 113 | 固安电视,rtp/239.253.93.109:6276 114 | 文安电视,rtp/239.253.93.111:6278 115 | 三河电视,rtp/239.253.93.143:6311 116 | 永清电视,rtp/239.253.93.172:6340 117 | 成安电视,rtp/239.253.93.178:6346 118 | 魏县电视,rtp/239.253.93.185:6353 119 | 霸州综合,rtp/239.253.93.209:6387 120 | 黄骅电视,rtp/239.253.92.183:6047 121 | 东光电视,rtp/239.253.93.96:6262 122 | 青县电视,rtp/239.253.93.139:6307 123 | 盐山电视,rtp/239.253.93.144:6312 124 | 南皮电视,rtp/239.253.93.149:6317 125 | 肃宁电视,rtp/239.253.93.152:6320 126 | 吴桥电视,rtp/239.253.93.169:6337 127 | 丰宁综合,rtp/239.253.93.210:6388 128 | 定兴电视,rtp/239.253.93.14:6167 129 | 阜平电视,rtp/239.253.93.16:6169 130 | 涞水电视,rtp/239.253.93.17:6170 131 | 满城电视,rtp/239.253.93.19:6172 132 | 涞源电视,rtp/239.253.93.22:6175 133 | 高碑店电视,rtp/239.253.93.23:6176 134 | 清苑电视,rtp/239.253.93.24:6177 135 | 涿州电视,rtp/239.253.93.27:6180 136 | 唐县电视,rtp/239.253.93.30:6183 137 | 曲阳电视,rtp/239.253.93.31:6184 138 | 望都电视,rtp/239.253.93.32:6185 139 | 定州电视,rtp/239.253.93.95:6260 140 | 高阳电视,rtp/239.253.93.105:6272 141 | 安新电视,rtp/239.253.93.107:6274 142 | 容城电视,rtp/239.253.93.110:6277 143 | 临城电视,rtp/239.253.93.167:6335 144 | 柏乡电视,rtp/239.253.93.171:6339 145 | 涿鹿电视,rtp/239.253.93.181:6349 146 | 徐水电视,rtp/239.253.93.182:6350 147 | 大名电视,rtp/239.253.93.186:6354 148 | 巨鹿电视,rtp/239.253.92.254:6449 149 | 临西电视,rtp/239.253.94.29:6628 150 | 冀州电视,rtp/239.253.93.34:6187 151 | 安平电视,rtp/239.253.93.36:6189 152 | 景县电视,rtp/239.253.93.38:6191 153 | 饶阳电视,rtp/239.253.93.40:6193 154 | 深州电视,rtp/239.253.93.42:6195 155 | 武强电视,rtp/239.253.93.79:6245 156 | 阜城电视,rtp/239.253.93.168:6336 157 | 故城电视,rtp/239.253.93.161:6329 158 | 枣强电视,rtp/239.253.93.166:6334 159 | 清河电视,rtp/239.253.93.44:6197 160 | 广宗电视,rtp/239.253.93.50:6203 161 | 武安电视,rtp/239.253.93.62:6215 162 | 宁晋电视,rtp/239.253.93.51:6204 163 | 平乡电视,rtp/239.253.93.53:6206 164 | 鸡泽电视,rtp/239.253.93.64:6219 165 | 隆尧电视,rtp/239.253.93.65:6230 166 | 广平电视,rtp/239.253.93.66:6231 167 | 南和电视,rtp/239.253.93.80:6246 168 | 临漳电视,rtp/239.253.93.84:6250 169 | 内丘电视,rtp/239.253.93.102:6268 170 | 涉县电视,rtp/239.253.93.106:6273 171 | 迁安电视,rtp/239.253.93.113:6280 172 | 馆陶电视,rtp/239.253.93.115:6282 173 | 乐亭电视,rtp/239.253.93.250:6290 174 | 沙河电视,rtp/239.253.93.179:6347 175 | 曲周电视,rtp/239.253.93.54:6207 176 | 南宫电视,rtp/239.253.93.48:6201 177 | 丰润电视,rtp/239.253.92.252:6156 178 | 纪实人文高清,rtp/239.253.92.99:6013 179 | 中国教育-1高清,rtp/239.253.92.211:6069 180 | 中国交通频道,rtp/239.253.93.189:6357 181 | kaku 少儿,rtp/239.253.92.162:8054 182 | 金鹰卡通,rtp/239.253.92.163:8055 183 | 嘉佳卡通,rtp/239.253.93.203:6381 184 | 天元围棋,rtp/239.253.93.211:6389 185 | 河北卫视高清,rtp/239.253.92.154:6011 186 | 河北经济生活高清,rtp/239.253.92.171:6001 187 | 河北都市高清,rtp/239.253.92.172:6002 188 | 河北影视剧高清,rtp/239.253.92.173:6003 189 | 河北少儿科教高清,rtp/239.253.92.174:6004 190 | 河北公共高清,rtp/239.253.92.175:6005 191 | 河北农民高清,rtp/239.253.92.176:6006 192 | 优漫卡通,rtp/239.253.93.204:6382 193 | 山东教育,rtp/239.253.92.106:6135 194 | 兵团卫视,rtp/239.253.93.176:6344 195 | 百姓健康,rtp/239.253.92.199:6568 196 | 证券服务,rtp/239.253.92.124:6569 197 | 电视指南,rtp/239.253.92.17:6078 198 | 第一剧场,rtp/239.253.92.18:6079 199 | 风云剧场,rtp/239.253.92.22:6073 200 | 怀旧剧场,rtp/239.253.92.98:6120 201 | 风云音乐,rtp/239.253.92.111:8060 202 | 风云足球,rtp/239.253.92.110:8061 203 | 高尔夫网球,rtp/239.253.92.117:8062 204 | 武术世界,rtp/239.253.92.141:8064 205 | 兵器科技,rtp/239.253.92.119:8065 206 | 世界地理,rtp/239.253.92.113:8066 207 | 老故事,rtp/239.253.92.132:8068 208 | 环球奇观,rtp/239.253.92.130:8069 209 | 文物宝库,rtp/239.253.92.159:8070 210 | 国学,rtp/239.253.92.158:8071 211 | 女性时尚,rtp/239.253.92.249:6103 212 | 文化精品,rtp/239.253.92.25:6104 213 | 早期教育,rtp/239.253.92.39:6107 214 | 梨园,rtp/239.253.92.152:8086 215 | 汽摩,rtp/239.253.92.46:6110 216 | CETV-2,rtp/239.253.92.108:6136 217 | CETV-4,rtp/239.253.92.200:6137 218 | 中学生,rtp/239.253.92.27:6106 219 | 快乐垂钓高清,rtp/239.253.93.213:6391 220 | 新动漫,rtp/239.253.93.217:6395 221 | 先锋乒羽,rtp/239.253.93.219:6397 222 | 发现之旅,rtp/239.253.94.30:6629 223 | 环球旅游,rtp/239.253.93.220:6398 224 | 车迷,rtp/239.253.93.221:6399 225 | 游戏风云高清,rtp/239.253.93.222:6400 226 | 欢笑剧场4K,rtp/239.253.93.223:6401 227 | 乐游高清,rtp/239.253.93.224:6402 228 | 动漫秀场高清,rtp/239.253.93.225:6403 229 | 生活时尚高清,rtp/239.253.93.226:6404 230 | 都市剧场高清,rtp/239.253.93.227:6405 231 | 茶频道高清,rtp/239.253.93.212:6390 232 | 书画,rtp/239.253.93.214:6392 233 | 摄影,rtp/239.253.93.215:6393 234 | 央视台球高清,rtp/239.253.93.231:6409 235 | 求索纪录高清,rtp/239.253.93.236:6414 236 | 东方财经,rtp/239.253.93.239:6417 237 | 金色学堂高清,rtp/239.253.93.240:6418 238 | 法治天地高清,rtp/239.253.93.241:6419 239 | 中华特产,rtp/239.253.93.242:6420 240 | 四海钓鱼,rtp/239.253.93.243:6421 241 | 优优宝贝,rtp/239.253.93.244:6422 242 | 生态环境,rtp/239.253.93.245:6423 243 | 家庭理财,rtp/239.253.93.246:6424 244 | 财富天下,rtp/239.253.93.247:6425 245 | 中华美食高清,rtp/239.253.93.248:6426 246 | 电视指南高清,rtp/239.253.93.249:6427 247 | 第一剧场高清,rtp/239.253.93.138:6428 248 | 风云剧场高清,rtp/239.253.93.251:6429 249 | 怀旧剧场高清,rtp/239.253.93.252:6430 250 | 风云音乐高清,rtp/239.253.93.253:6431 251 | 风云足球高清,rtp/239.253.93.254:6432 252 | 高尔夫网球高清,rtp/239.253.93.122:6465 253 | 武术世界高清,rtp/239.253.93.46:6434 254 | 兵器科技高清,rtp/239.253.93.47:6435 255 | 世界地理高清,rtp/239.253.92.131:6113 256 | 文物宝库高清,rtp/239.253.93.180:6437 257 | 女性时尚高清,rtp/239.253.92.144:6114 258 | 文化精品高清,rtp/239.253.93.175:6439 259 | 早期教育高清,rtp/239.253.93.164:6440 260 | 梨园高清,rtp/239.253.93.133:6441 261 | CCTV-4K,rtp/239.253.93.134:6631 262 | CCTV4中文国际欧洲,rtp/239.253.93.192:6370 263 | CCTV4中文国际美洲,rtp/239.253.93.193:6371 264 | CGTN 英文记录,rtp/239.253.93.195:6373 265 | CGTN 西班牙语,rtp/239.253.93.196:6374 266 | CGTN 法语,rtp/239.253.93.197:6375 267 | CGTN 阿拉伯语,rtp/239.253.93.198:6376 268 | CGTN 俄语,rtp/239.253.93.199:6377 269 | 慢直播1,rtp/239.253.94.1:6600 270 | 慢直播2,rtp/239.253.94.2:6601 271 | 慢直播3,rtp/239.253.94.3:6602 272 | 慢直播4,rtp/239.253.94.4:6603 273 | 慢直播5,rtp/239.253.94.5:6604 274 | 慢直播6,rtp/239.253.94.6:6605 275 | 慢直播7,rtp/239.253.94.7:6606 276 | 慢直播8,rtp/239.253.94.8:6607 277 | 慢直播9,rtp/239.253.94.9:6608 278 | 慢直播10,rtp/239.253.94.10:6609 279 | 慢直播11,rtp/239.253.94.11:6610 280 | 慢直播12,rtp/239.253.94.12:6611 281 | 慢直播13,rtp/239.253.94.13:6612 282 | 慢直播14,rtp/239.253.94.14:6613 283 | 慢直播15,rtp/239.253.94.15:6614 284 | 慢直播16,rtp/239.253.94.16:6615 285 | 慢直播17,rtp/239.253.94.17:6616 286 | 慢直播18,rtp/239.253.94.18:6617 287 | 慢直播19,rtp/239.253.94.19:6618 288 | 慢直播20,rtp/239.253.94.20:6619 289 | 慢直播21,rtp/239.253.94.21:6620 290 | 慢直播22,rtp/239.253.94.22:6621 291 | 慢直播23,rtp/239.253.94.23:6622 292 | 慢直播24,rtp/239.253.94.24:6623 293 | 慢直播九屏1,rtp/239.253.94.25:6624 294 | 慢直播九屏2,rtp/239.253.94.26:6625 295 | 慢直播九屏3,rtp/239.253.94.27:6626 296 | 4K频道,rtp/239.253.92.114:6187 297 | 羽毛球专区,rtp/239.253.93.202:6380 298 | 点掌财经专区,rtp/239.253.92.236:6448 299 | 主视角-4K,rtp/239.253.93.123:6291 300 | 主视角-高清,rtp/239.253.93.124:6292 301 | 辅视角1-高清,rtp/239.253.93.125:6293 302 | 辅视角 2-高清,rtp/239.253.93.126:6294 303 | 辅视角 3-高清,rtp/239.253.93.127:6295 304 | 主视角-标清,rtp/239.253.93.128:6296 305 | 辅视角 1-标清,rtp/239.253.93.129:6297 306 | 辅视角 2-标清,rtp/239.253.93.130:6298 307 | 辅视角 3-标清,rtp/239.253.93.131:6299 308 | 临时直播频道2,rtp/239.253.92.21:6226 309 | 临时直播频道3,rtp/239.253.92.216:6227 310 | 临时直播频道4,rtp/239.253.92.219:6228 311 | 临时直播频道5,rtp/239.253.92.220:6229 312 | 九屏直播频道,rtp/239.253.92.203:6150 313 | 临时直播,rtp/239.253.92.116:6029 314 | 党教,rtp/239.253.92.125:6024 315 | -------------------------------------------------------------------------------- /iptv3.txt: -------------------------------------------------------------------------------- 1 | CCTV1,udp/239.93.0.184:5140 2 | CCTV2,udp/239.93.1.23:6000 3 | CCTV3,udp/239.93.1.11:2223 4 | CCTV4,udp/239.93.1.105:5140 5 | CCTV5,udp/239.93.42.37:5140 6 | CCTV5+,udp/239.93.1.36:8004 7 | CCTV6,udp/239.93.1.13:2226 8 | CCTV7,udp/239.93.1.67:5140 9 | CCTV8,udp/239.93.42.39:5140 10 | CCTV9,udp/239.93.1.24:5140 11 | CCTV10,udp/239.93.1.28:5140 12 | CCTV11,udp/239.93.0.102:5140 13 | CCTV12,udp/239.93.1.30:8124 14 | CCTV13,udp/239.93.0.66:5140 15 | CCTV15,udp/239.93.0.103:5140 16 | CCTV17,udp/239.93.0.92:5140 17 | CCTV少儿,udp/239.93.1.29:6000 18 | 三沙卫视,udp/239.93.42.58:5140 19 | 东南卫视,udp/239.93.0.42:5140 20 | 东方卫视,udp/239.93.0.123:5140 21 | 云南卫视,udp/239.93.0.174:5140 22 | 云南卫视,udp/239.93.1.174:5140 23 | 兵团卫视,udp/239.93.42.43:5140 24 | 内蒙古卫视,udp/239.93.0.8:5140 25 | 北京卫视,udp/239.93.0.180:5140 26 | 厦门卫视,udp/239.93.42.57:5140 27 | 吉林卫视,udp/239.93.0.248:5140 28 | 四川卫视,udp/239.93.0.169:5140 29 | 四川卫视,udp/239.93.0.20:1235 30 | 四川卫视,udp/239.93.1.188:5140 31 | 四川康巴卫视,udp/239.93.0.41:5140 32 | 天津卫视,udp/239.93.0.167:5140 33 | 宁夏卫视,udp/239.93.0.247:5140 34 | 安徽卫视,udp/239.93.1.106:5140 35 | 山东卫视,udp/239.93.0.168:5140 36 | 山东教育卫视,udp/239.93.1.196:5140 37 | 山西卫视,udp/239.93.0.6:5140 38 | 广东卫视,udp/239.93.0.181:5140 39 | 广西卫视,udp/239.93.42.46:5140 40 | 康巴卫视,udp/239.93.0.41:5140 41 | 新疆卫视,udp/239.93.0.194:5140 42 | 江苏卫视,udp/239.93.0.89:5140 43 | 江西卫视,udp/239.93.0.134:5140 44 | 河北卫视,udp/239.93.0.132:5140 45 | 河南卫视,udp/239.93.42.45:5140 46 | 浙江卫视,udp/239.93.0.124:5140 47 | 海南卫视,udp/239.93.0.80:5140 48 | 深圳卫视,udp/239.93.0.182:5140 49 | 湖北卫视,udp/239.93.0.250:5140 50 | 湖南卫视,udp/239.93.0.88:5140 51 | 甘肃卫视,udp/239.93.0.81:5140 52 | 西藏卫视,udp/239.93.0.175:5140 53 | 贵州卫视,udp/239.93.0.131:5140 54 | 辽宁卫视,udp/239.93.1.108:5140 55 | 重庆卫视,udp/239.93.1.107:5140 56 | 陕西卫视,udp/239.93.0.176:5140 57 | 青海卫视,udp/239.93.0.192:5140 58 | 黑龙江卫视,udp/239.93.0.183:5140 59 | CDTV1,udp/239.93.0.16:5140 60 | CETV1,udp/239.93.1.111:5140 61 | 中国体育1,udp/239.93.42.25:5140 62 | 直播室1,udp/239.93.1.180:5140 63 | CDTV2,udp/239.93.0.17:1239 64 | CETV2,udp/239.93.0.113:5140 65 | SCTV2,udp/239.93.1.101:5140 66 | 中国体育2,udp/239.93.42.26:5140 67 | 直播室2,udp/239.93.1.181:5140 68 | CDTV3,udp/239.93.0.18:1238 69 | SCTV3,udp/239.93.1.102:5140 70 | 中国体育3,udp/239.93.42.27:5140 71 | 电信导视3,udp/239.93.0.110:5140 72 | 直播室3,udp/239.93.1.182:5140 73 | 4K乐享超清,udp/239.93.0.43:5140 74 | 4K超电影,udp/239.93.1.156:5140 75 | CDTV4,udp/239.93.0.19:1250 76 | CETV4,udp/239.93.0.50:5140 77 | SCTV4,udp/239.93.0.47:5140 78 | 中录动漫4K,udp/239.93.1.188:5140 79 | 亲子趣学4K,udp/239.93.1.191:5140 80 | 津津悦读4K,udp/239.93.1.197:5140 81 | 爱上4K 17M2160,udp/239.93.1.113:5140 82 | 爱上4K 17M2160,udp/239.93.1.251:8224 83 | 爱上4K,udp/239.93.0.97:5140 84 | 直播室4,udp/239.93.1.183:5140 85 | 绚影4K,udp/239.93.42.33:5140 86 | CDTV5,udp/239.93.1.231:5140 87 | SCTV5,udp/239.93.0.166:5140 88 | 直播室5,udp/239.93.1.184:5140 89 | CDTV6,udp/239.93.0.21:1251 90 | SCTV6,udp/239.93.1.144:5140 91 | 直播室6,udp/239.93.1.185:5140 92 | SCTV7,udp/239.93.0.219:5140 93 | 直播室7,udp/239.93.1.186:5140 94 | CDTV8,udp/239.93.0.22:1252 95 | 直播室8,udp/239.93.1.187:5140 96 | 熊猫24小时,udp/239.93.1.178:5140 97 | CGTN法语,udp/239.93.42.50:5140 98 | CGTN英语,udp/239.93.0.104:5140 99 | CGTN西班牙语,udp/239.93.42.49:5140 100 | CHANNELV,udp/239.93.0.157:2194 101 | CHANNELV,udp/239.93.1.7:2194 102 | HD看电影,udp/239.93.42.47:5140 103 | SCTV科教,udp/239.93.42.44:5140 104 | i成都,udp/239.93.1.104:1234 105 | 上海纪实,udp/239.93.1.137:5140 106 | 东方财经,udp/239.93.1.165:5140 107 | 乐龄学堂,udp/239.93.1.179:5140 108 | 云演艺宣传,udp/239.93.42.60:5140 109 | 优漫卡通,udp/239.93.0.251:5140 110 | 传奇,udp/239.93.0.235:1282 111 | 先锋乒羽,udp/239.93.42.56:5140 112 | 全球大片,udp/239.93.0.105:5140 113 | 军事,udp/239.93.0.204:9076 114 | 凤凰中文,udp/239.93.0.162:2192 115 | 凤凰中文,udp/239.93.1.9:2192 116 | 凤凰资讯,udp/239.93.0.118:2191 117 | 凤凰资讯,udp/239.93.1.4:2191 118 | 创新及人才文化节,udp/239.93.42.59:5140 119 | 动画番剧,udp/239.93.1.177:5140 120 | 华语影院,udp/239.93.0.138:5140 121 | 卡酷动画,udp/239.93.0.208:5140 122 | 台球,udp/239.93.0.203:9072 123 | 嘉佳卡通,udp/239.93.0.246:5140 124 | 四川乡村,udp/239.93.0.52:5140 125 | 四川公共乡村,udp/239.93.0.52:5140 126 | 四川妇女儿童,udp/239.93.0.219:5140 127 | 四川影视文艺,udp/239.93.0.166:5140 128 | 四川影视文艺,udp/239.93.1.195:5140 129 | 四川文化旅游,udp/239.93.1.101:5140 130 | 四川文化旅游,udp/239.93.1.20:5140 131 | 四川新闻,udp/239.93.0.47:5140 132 | 四川经济,udp/239.93.1.102:5140 133 | 四川经济,udp/239.93.1.16:5140 134 | 地理,udp/239.93.0.200:9052 135 | 墨宝,udp/239.93.0.215:9132 136 | 大爱四川,udp/239.93.1.110:5140 137 | 大爱旅游,udp/239.93.42.70:5140 138 | 大爱时尚,udp/239.93.42.72:5140 139 | 大爱生活,udp/239.93.42.71:5140 140 | 天元围棋,udp/239.93.42.55:5140 141 | 宝宝动画,udp/239.93.0.147:5140 142 | 家政频道,udp/239.93.42.48:5140 143 | 导视,udp/239.93.0.129:5140 144 | 少儿动画,udp/239.93.0.193:9000 145 | 少儿天地,udp/239.93.42.34:5140 146 | 峨眉电影,udp/239.93.0.252:5140 147 | 峨眉电影,udp/239.93.1.18:5140 148 | 峨眉电影,udp/239.93.1.54:5140 149 | 快乐垂钓,udp/239.93.1.151:5140 150 | 戏曲,udp/239.93.0.217:9208 151 | 戏曲精选,udp/239.93.0.144:5140 152 | 成都体育,udp/239.93.0.224:1281 153 | 收视导视,udp/239.93.1.39:5140 154 | 收视指南,udp/239.93.0.195:8012 155 | 星光院线,udp/239.93.0.139:5140 156 | 星空,udp/239.93.0.156:2193 157 | 星空,udp/239.93.1.10:2193 158 | 星空精选,udp/239.93.1.171:5140 159 | 来钓鱼吧,udp/239.93.42.8:5140 160 | 求索频道,udp/239.93.42.24:5140 161 | 汽摩,udp/239.93.0.62:5140 162 | 汽车频道,udp/239.93.0.117:1292 163 | 港剧风云,udp/239.93.0.143:5140 164 | 游戏风云,udp/239.93.0.136:5140 165 | 炫动卡通,udp/239.93.0.173:5140 166 | 热播剧场,udp/239.93.0.56:9020 167 | 热血剧场,udp/239.93.1.198:5140 168 | 热门剧场,udp/239.93.0.140:5140 169 | 热门综艺,udp/239.93.0.151:5140 170 | 熊猫体娱,udp/239.93.0.94:5140 171 | 熊猫少儿,udp/239.93.1.189:5140 172 | 熊猫影院,udp/239.93.0.214:5140 173 | 熊猫新闻,udp/239.93.1.112:5140 174 | 熊猫爱生活,udp/239.93.1.190:5140 175 | 熊猫频道,udp/239.93.0.211:9148 176 | 爱体育,udp/239.93.0.135:9008 177 | 爱动漫,udp/239.93.42.23:5140 178 | 爱喜剧,udp/239.93.42.9:5140 179 | 爱奇谈,udp/239.93.42.22:5140 180 | 爱宠宠物,udp/239.93.42.32:5140 181 | 爱幼教,udp/239.93.42.17:5140 182 | 爱怀旧,udp/239.93.42.21:5140 183 | 爱悬疑,udp/239.93.42.12:5140 184 | 爱玩具,udp/239.93.42.18:5140 185 | 爱生活,udp/239.93.0.206:8028 186 | 爱电竞,udp/239.93.42.19:5140 187 | 爱科幻,udp/239.93.42.10:5140 188 | 爱经典,udp/239.93.42.13:5140 189 | 爱谍战,udp/239.93.42.14:5140 190 | 爱赛车,udp/239.93.42.20:5140 191 | 爱都市,udp/239.93.42.15:5140 192 | 爱院线,udp/239.93.42.11:5140 193 | 爱青春,udp/239.93.42.16:5140 194 | 环球旅游,udp/239.93.42.31:5140 195 | 生活时尚,udp/239.93.0.106:5140 196 | 生活时尚,udp/239.93.42.29:5140 197 | 电竞天堂,udp/239.93.1.135:5140 198 | 百姓健康,udp/239.93.42.35:5140 199 | 睛彩四川,udp/239.93.0.126:5140 200 | 精彩推荐,udp/239.93.1.5:5140 201 | 红原日干乔,udp/239.93.0.178:5140 202 | 红原月亮湾,udp/239.93.0.209:5140 203 | 红色经典,udp/239.93.1.176:5140 204 | 纪实人文,udp/239.93.1.154:5140 205 | 经典电影,udp/239.93.0.57:9024 206 | 综艺咖秀,udp/239.93.1.175:5140 207 | 股评汇,udp/239.93.0.141:5140 208 | 茶频道,udp/239.93.0.114:5140 209 | 蓉城先锋,udp/239.93.0.91:2101 210 | 解密,udp/239.93.0.199:9048 211 | 谍战剧场,udp/239.93.0.95:5140 212 | 财富天下,udp/239.93.0.116:9136 213 | 资讯新干线,udp/239.93.0.236:1283 214 | 足球,udp/239.93.0.197:9040 215 | 都市剧场,udp/239.93.42.30:5140 216 | 金熊猫卡通,udp/239.93.1.172:5140 217 | 金鹰卡通,udp/239.93.0.108:5140 218 | 金鹰纪实,udp/239.93.0.130:5140 219 | 陕西农林,udp/239.93.0.100:5140 220 | 雅克音乐节宣传,udp/239.93.42.68:5140 221 | 雅克音乐节直播,udp/239.93.42.69:5140 222 | 青春动漫,udp/239.93.0.146:5140 223 | 音乐现场,udp/239.93.0.198:9044 224 | 高网,udp/239.93.0.202:9068 225 | 魅力时尚,udp/239.93.0.190:9012 226 | 麻辣体育,udp/239.93.42.2:5140 227 | -------------------------------------------------------------------------------- /iptv4.txt: -------------------------------------------------------------------------------- 1 | CCTV1,hls/1/index.m3u8 2 | CCTV2,hls/2/index.m3u8 3 | CCTV3,hls/3/index.m3u8 4 | CCTV4,hls/4/index.m3u8 5 | CCTV5,hls/5/index.m3u8 6 | CCTV5+,hls/16/index.m3u8 7 | CCTV6,hls/6/index.m3u8 8 | CCTV7,hls/7/index.m3u8 9 | CCTV8,hls/8/index.m3u8 10 | CCTV9,hls/9/index.m3u8 11 | CCTV10,hls/10/index.m3u8 12 | CCTV11,hls/11/index.m3u8 13 | CCTV12,hls/12/index.m3u8 14 | CCTV13,hls/13/index.m3u8 15 | CCTV14,hls/14/index.m3u8 16 | CCTV15,hls/15/index.m3u8 17 | CCTV16,hls/100/index.m3u8 18 | CCTV17,hls/17/index.m3u8 19 | CETV1,hls/94/index.m3u8 20 | CETV2,hls/95/index.m3u8 21 | CETV4,hls/96/index.m3u8 22 | 黑龙江卫视,hls/18/index.m3u8 23 | 黑龙江都市,hls/19/index.m3u8 24 | 黑龙江新闻,hls/20/index.m3u8 25 | 黑龙江公共农业,hls/21/index.m3u8 26 | 黑龙江少儿,hls/22/index.m3u8 27 | 黑龙江文体,hls/23/index.m3u8 28 | 黑龙江影视,hls/24/index.m3u8 29 | 哈尔滨都市资讯,hls/472/index.m3u8 30 | 哈尔滨娱乐台,hls/122/index.m3u8 31 | 哈尔滨影视台,hls/124/index.m3u8 32 | 哈尔滨生活台,hls/109/index.m3u8 33 | 哈尔滨新闻综合,hls/25/index.m3u8 34 | 新闻综合,hls/63/index.m3u8 35 | 新闻综合1,hls/64/index.m3u8 36 | 新闻综合2,hls/65/index.m3u8 37 | 新闻综合3,hls/66/index.m3u8 38 | 经济法制,hls/126/index.m3u8 39 | 吉林卫视,hls/26/index.m3u8 40 | 延边卫视,hls/29/index.m3u8 41 | 辽宁卫视,hls/30/index.m3u8 42 | 北京卫视,hls/31/index.m3u8 43 | 东方卫视,hls/32/index.m3u8 44 | 湖南卫视,hls/33/index.m3u8 45 | 湖北卫视,hls/34/index.m3u8 46 | 河北卫视,hls/35/index.m3u8 47 | 安徽卫视,hls/36/index.m3u8 48 | 大湾区卫视,hls/37/index.m3u8 49 | 广东卫视,hls/38/index.m3u8 50 | 天津卫视,hls/39/index.m3u8 51 | 深圳卫视,hls/40/index.m3u8 52 | 江苏卫视,hls/41/index.m3u8 53 | 浙江卫视,hls/42/index.m3u8 54 | 山东卫视,hls/43/index.m3u8 55 | 四川卫视,hls/44/index.m3u8 56 | 江西卫视,hls/45/index.m3u8 57 | 贵州卫视,hls/46/index.m3u8 58 | 山西卫视,hls/47/index.m3u8 59 | 广西卫视,hls/48/index.m3u8 60 | 青海卫视,hls/49/index.m3u8 61 | 陕西卫视,hls/50/index.m3u8 62 | 河南卫视,hls/52/index.m3u8 63 | 重庆卫视,hls/53/index.m3u8 64 | 甘肃卫视,hls/54/index.m3u8 65 | 内蒙古卫视,hls/55/index.m3u8 66 | 新疆卫视,hls/56/index.m3u8 67 | 兵团卫视,hls/57/index.m3u8 68 | 西藏卫视,hls/58/index.m3u8 69 | 云南卫视,hls/59/index.m3u8 70 | 宁夏卫视,hls/60/index.m3u8 71 | 东南卫视,hls/61/index.m3u8 72 | 海南卫视,hls/62/index.m3u8 73 | 欢笑剧场4K,hls/27/index.m3u8 74 | 新动漫,hls/85/index.m3u8 75 | 金鹰卡通,hls/67/index.m3u8 76 | BesTV动画,hls/68/index.m3u8 77 | 优漫卡通,hls/69/index.m3u8 78 | 嘉佳卡通,hls/70/index.m3u8 79 | 动漫秀场,hls/71/index.m3u8 80 | 炫动卡通,hls/72/index.m3u8 81 | 黑莓动画,hls/300/index.m3u8 82 | 都市剧场,hls/80/index.m3u8 83 | 法制天地,hls/81/index.m3u8 84 | 乐游频道,hls/114/index.m3u8 85 | 纪实人文,hls/83/index.m3u8 86 | 东方财经,hls/84/index.m3u8 87 | GTV网络棋牌,hls/28/index.m3u8 88 | 天元围棋,hls/128/index.m3u8 89 | 四海钓鱼,hls/86/index.m3u8 90 | 快乐垂的,hls/87/index.m3u8 91 | 家庭理财,hls/88/index.m3u8 92 | 证券服务,hls/115/index.m3u8 93 | 财富天下,hls/99/index.m3u8 94 | 山东教育卫视,hls/120/index.m3u8 95 | 生活时尚,hls/91/index.m3u8 96 | 老故事,hls/93/index.m3u8 97 | 美术频道,hls/102/index.m3u8 98 | 先锋乒羽,hls/79/index.m3u8 99 | 魅力足球,hls/98/index.m3u8 100 | 风云足球,hls/156/index.m3u8 101 | 咪咕精彩体育,hls/304/index.m3u8 102 | 哒啵赛事,hls/301/index.m3u8 103 | 金色学堂,hls/82/index.m3u8 104 | 中学生,hls/103/index.m3u8 105 | 中华特产,hls/107/index.m3u8 106 | 车迷频道,hls/108/index.m3u8 107 | 茶频道,hls/110/index.m3u8 108 | 早期教育,hls/157/index.m3u8 109 | 优优宝贝,hls/127/index.m3u8 110 | 摄影频道,hls/97/index.m3u8 111 | 央视台球,hls/158/index.m3u8 112 | 节目介绍,hls/117/index.m3u8 113 | 风云音乐,hls/113/index.m3u8 114 | 中国天气,hls/691/index.m3u8 115 | 文物宝库,hls/89/index.m3u8 116 | 生态环境,hls/112/index.m3u8 117 | 世界地理,hls/118/index.m3u8 118 | 电视指南,hls/163/index.m3u8 119 | 环球旅游,hls/101/index.m3u8 120 | 国学频道,hls/104/index.m3u8 121 | 央广文化精品,hls/161/index.m3u8 122 | 武术世界,hls/162/index.m3u8 123 | 梨园频道,hls/105/index.m3u8 124 | 齐齐哈尔公共2,hls/92/index.m3u8 125 | 全纪实,hls/90/index.m3u8 126 | 游戏风云,hls/106/index.m3u8 127 | CGTN1,hls/73/index.m3u8 128 | CGTN2,hls/74/index.m3u8 129 | CGTN3,hls/75/index.m3u8 130 | CGTN4,hls/76/index.m3u8 131 | CGTN5,hls/77/index.m3u8 132 | CGTN6,hls/78/index.m3u8 133 | NEWTV精品动作电影,hls/130/index.m3u8 134 | NewTV精品大剧,hls/133/index.m3u8 135 | NewTV超级电影,hls/134/index.m3u8 136 | NewTV超级体育,hls/135/index.m3u8 137 | NewTV超级综艺,hls/136/index.m3u8 138 | NewTV东北热剧,hls/137/index.m3u8 139 | NewTV欢乐剧场,hls/138/index.m3u8 140 | NewTV古装剧场,hls/139/index.m3u8 141 | NewTV军旅剧场,hls/140/index.m3u8 142 | NewTV精品纪录,hls/141/index.m3u8 143 | NewTV家庭剧场,hls/142/index.m3u8 144 | NewTV精品体育,hls/143/index.m3u8 145 | NewTV爱情喜剧,hls/144/index.m3u8 146 | NewTV惊悚悬疑,hls/145/index.m3u8 147 | NewTV金牌综艺,hls/146/index.m3u8 148 | NewTV军事评论,hls/147/index.m3u8 149 | NewTV农业致富,hls/148/index.m3u8 150 | NewTV怡伴健康,hls/149/index.m3u8 151 | NewTV潮妈辣妹,hls/150/index.m3u8 152 | NewTV武博世界,hls/151/index.m3u8 153 | NewTV中国功夫,hls/152/index.m3u8 154 | NewTV炫舞未来,hls/153/index.m3u8 155 | 电影1,hls/154/index.m3u8 156 | 电影2,hls/155/index.m3u8 157 | 黑莓电影,hls/119/index.m3u8 158 | -------------------------------------------------------------------------------- /itv0.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://bxny.667789.cn:88/hls/1/index.m3u8 2 | CCTV2,http://bxny.667789.cn:88/hls/2/index.m3u8 3 | CCTV3,http://bxny.667789.cn:88/hls/3/index.m3u8 4 | CCTV4,http://bxny.667789.cn:88/hls/4/index.m3u8 5 | CCTV5,http://bxny.667789.cn:88/hls/5/index.m3u8 6 | CCTV5+,http://bxny.667789.cn:88/hls/16/index.m3u8 7 | CCTV6,http://bxny.667789.cn:88/hls/6/index.m3u8 8 | CCTV7,http://bxny.667789.cn:88/hls/7/index.m3u8 9 | CCTV8,http://bxny.667789.cn:88/hls/8/index.m3u8 10 | CCTV9,http://bxny.667789.cn:88/hls/9/index.m3u8 11 | CCTV10,http://bxny.667789.cn:88/hls/10/index.m3u8 12 | CCTV11,http://bxny.667789.cn:88/hls/11/index.m3u8 13 | CCTV12,http://bxny.667789.cn:88/hls/12/index.m3u8 14 | CCTV13,http://bxny.667789.cn:88/hls/13/index.m3u8 15 | CCTV14,http://bxny.667789.cn:88/hls/14/index.m3u8 16 | CCTV15,http://bxny.667789.cn:88/hls/15/index.m3u8 17 | CCTV16,http://bxny.667789.cn:88/hls/100/index.m3u8 18 | CCTV17,http://bxny.667789.cn:88/hls/17/index.m3u8 19 | CETV1,http://bxny.667789.cn:88/hls/94/index.m3u8 20 | CETV2,http://bxny.667789.cn:88/hls/95/index.m3u8 21 | CETV4,http://bxny.667789.cn:88/hls/96/index.m3u8 22 | 黑龙江卫视,http://bxny.667789.cn:88/hls/18/index.m3u8 23 | 黑龙江都市,http://bxny.667789.cn:88/hls/19/index.m3u8 24 | 黑龙江新闻,http://bxny.667789.cn:88/hls/20/index.m3u8 25 | 黑龙江公共农业,http://bxny.667789.cn:88/hls/21/index.m3u8 26 | 黑龙江少儿,http://bxny.667789.cn:88/hls/22/index.m3u8 27 | 黑龙江文体,http://bxny.667789.cn:88/hls/23/index.m3u8 28 | 黑龙江影视,http://bxny.667789.cn:88/hls/24/index.m3u8 29 | 哈尔滨都市资讯,http://bxny.667789.cn:88/hls/472/index.m3u8 30 | 哈尔滨娱乐台,http://bxny.667789.cn:88/hls/122/index.m3u8 31 | 哈尔滨影视台,http://bxny.667789.cn:88/hls/124/index.m3u8 32 | 哈尔滨生活台,http://bxny.667789.cn:88/hls/109/index.m3u8 33 | 哈尔滨新闻综合,http://bxny.667789.cn:88/hls/25/index.m3u8 34 | 新闻综合,http://bxny.667789.cn:88/hls/63/index.m3u8 35 | 新闻综合1,http://bxny.667789.cn:88/hls/64/index.m3u8 36 | 新闻综合2,http://bxny.667789.cn:88/hls/65/index.m3u8 37 | 新闻综合3,http://bxny.667789.cn:88/hls/66/index.m3u8 38 | 经济法制,http://bxny.667789.cn:88/hls/126/index.m3u8 39 | 吉林卫视,http://bxny.667789.cn:88/hls/26/index.m3u8 40 | 延边卫视,http://bxny.667789.cn:88/hls/29/index.m3u8 41 | 辽宁卫视,http://bxny.667789.cn:88/hls/30/index.m3u8 42 | 北京卫视,http://bxny.667789.cn:88/hls/31/index.m3u8 43 | 东方卫视,http://bxny.667789.cn:88/hls/32/index.m3u8 44 | 湖南卫视,http://bxny.667789.cn:88/hls/33/index.m3u8 45 | 湖北卫视,http://bxny.667789.cn:88/hls/34/index.m3u8 46 | 河北卫视,http://bxny.667789.cn:88/hls/35/index.m3u8 47 | 安徽卫视,http://bxny.667789.cn:88/hls/36/index.m3u8 48 | 大湾区卫视,http://bxny.667789.cn:88/hls/37/index.m3u8 49 | 广东卫视,http://bxny.667789.cn:88/hls/38/index.m3u8 50 | 天津卫视,http://bxny.667789.cn:88/hls/39/index.m3u8 51 | 深圳卫视,http://bxny.667789.cn:88/hls/40/index.m3u8 52 | 江苏卫视,http://bxny.667789.cn:88/hls/41/index.m3u8 53 | 浙江卫视,http://bxny.667789.cn:88/hls/42/index.m3u8 54 | 山东卫视,http://bxny.667789.cn:88/hls/43/index.m3u8 55 | 四川卫视,http://bxny.667789.cn:88/hls/44/index.m3u8 56 | 江西卫视,http://bxny.667789.cn:88/hls/45/index.m3u8 57 | 贵州卫视,http://bxny.667789.cn:88/hls/46/index.m3u8 58 | 山西卫视,http://bxny.667789.cn:88/hls/47/index.m3u8 59 | 广西卫视,http://bxny.667789.cn:88/hls/48/index.m3u8 60 | 青海卫视,http://bxny.667789.cn:88/hls/49/index.m3u8 61 | 陕西卫视,http://bxny.667789.cn:88/hls/50/index.m3u8 62 | 河南卫视,http://bxny.667789.cn:88/hls/52/index.m3u8 63 | 重庆卫视,http://bxny.667789.cn:88/hls/53/index.m3u8 64 | 甘肃卫视,http://bxny.667789.cn:88/hls/54/index.m3u8 65 | 内蒙古卫视,http://bxny.667789.cn:88/hls/55/index.m3u8 66 | 新疆卫视,http://bxny.667789.cn:88/hls/56/index.m3u8 67 | 兵团卫视,http://bxny.667789.cn:88/hls/57/index.m3u8 68 | 西藏卫视,http://bxny.667789.cn:88/hls/58/index.m3u8 69 | 云南卫视,http://bxny.667789.cn:88/hls/59/index.m3u8 70 | 宁夏卫视,http://bxny.667789.cn:88/hls/60/index.m3u8 71 | 东南卫视,http://bxny.667789.cn:88/hls/61/index.m3u8 72 | 海南卫视,http://bxny.667789.cn:88/hls/62/index.m3u8 73 | 欢笑剧场4K,http://bxny.667789.cn:88/hls/27/index.m3u8 74 | 新动漫,http://bxny.667789.cn:88/hls/85/index.m3u8 75 | 金鹰卡通,http://bxny.667789.cn:88/hls/67/index.m3u8 76 | BesTV动画,http://bxny.667789.cn:88/hls/68/index.m3u8 77 | 优漫卡通,http://bxny.667789.cn:88/hls/69/index.m3u8 78 | 嘉佳卡通,http://bxny.667789.cn:88/hls/70/index.m3u8 79 | 动漫秀场,http://bxny.667789.cn:88/hls/71/index.m3u8 80 | 炫动卡通,http://bxny.667789.cn:88/hls/72/index.m3u8 81 | 黑莓动画,http://bxny.667789.cn:88/hls/300/index.m3u8 82 | 都市剧场,http://bxny.667789.cn:88/hls/80/index.m3u8 83 | 法制天地,http://bxny.667789.cn:88/hls/81/index.m3u8 84 | 乐游频道,http://bxny.667789.cn:88/hls/114/index.m3u8 85 | 纪实人文,http://bxny.667789.cn:88/hls/83/index.m3u8 86 | 东方财经,http://bxny.667789.cn:88/hls/84/index.m3u8 87 | GTV网络棋牌,http://bxny.667789.cn:88/hls/28/index.m3u8 88 | 天元围棋,http://bxny.667789.cn:88/hls/128/index.m3u8 89 | 四海钓鱼,http://bxny.667789.cn:88/hls/86/index.m3u8 90 | 快乐垂的,http://bxny.667789.cn:88/hls/87/index.m3u8 91 | 家庭理财,http://bxny.667789.cn:88/hls/88/index.m3u8 92 | 证券服务,http://bxny.667789.cn:88/hls/115/index.m3u8 93 | 财富天下,http://bxny.667789.cn:88/hls/99/index.m3u8 94 | 山东教育卫视,http://bxny.667789.cn:88/hls/120/index.m3u8 95 | 生活时尚,http://bxny.667789.cn:88/hls/91/index.m3u8 96 | 老故事,http://bxny.667789.cn:88/hls/93/index.m3u8 97 | 美术频道,http://bxny.667789.cn:88/hls/102/index.m3u8 98 | 先锋乒羽,http://bxny.667789.cn:88/hls/79/index.m3u8 99 | 魅力足球,http://bxny.667789.cn:88/hls/98/index.m3u8 100 | 风云足球,http://bxny.667789.cn:88/hls/156/index.m3u8 101 | 咪咕精彩体育,http://bxny.667789.cn:88/hls/304/index.m3u8 102 | 哒啵赛事,http://bxny.667789.cn:88/hls/301/index.m3u8 103 | 金色学堂,http://bxny.667789.cn:88/hls/82/index.m3u8 104 | 中学生,http://bxny.667789.cn:88/hls/103/index.m3u8 105 | 中华特产,http://bxny.667789.cn:88/hls/107/index.m3u8 106 | 车迷频道,http://bxny.667789.cn:88/hls/108/index.m3u8 107 | 茶频道,http://bxny.667789.cn:88/hls/110/index.m3u8 108 | 早期教育,http://bxny.667789.cn:88/hls/157/index.m3u8 109 | 优优宝贝,http://bxny.667789.cn:88/hls/127/index.m3u8 110 | 摄影频道,http://bxny.667789.cn:88/hls/97/index.m3u8 111 | 央视台球,http://bxny.667789.cn:88/hls/158/index.m3u8 112 | 节目介绍,http://bxny.667789.cn:88/hls/117/index.m3u8 113 | 风云音乐,http://bxny.667789.cn:88/hls/113/index.m3u8 114 | 中国天气,http://bxny.667789.cn:88/hls/691/index.m3u8 115 | 文物宝库,http://bxny.667789.cn:88/hls/89/index.m3u8 116 | 生态环境,http://bxny.667789.cn:88/hls/112/index.m3u8 117 | 世界地理,http://bxny.667789.cn:88/hls/118/index.m3u8 118 | 电视指南,http://bxny.667789.cn:88/hls/163/index.m3u8 119 | 环球旅游,http://bxny.667789.cn:88/hls/101/index.m3u8 120 | 国学频道,http://bxny.667789.cn:88/hls/104/index.m3u8 121 | 央广文化精品,http://bxny.667789.cn:88/hls/161/index.m3u8 122 | 武术世界,http://bxny.667789.cn:88/hls/162/index.m3u8 123 | 梨园频道,http://bxny.667789.cn:88/hls/105/index.m3u8 124 | 齐齐哈尔公共2,http://bxny.667789.cn:88/hls/92/index.m3u8 125 | 全纪实,http://bxny.667789.cn:88/hls/90/index.m3u8 126 | 游戏风云,http://bxny.667789.cn:88/hls/106/index.m3u8 127 | CGTN1,http://bxny.667789.cn:88/hls/73/index.m3u8 128 | CGTN2,http://bxny.667789.cn:88/hls/74/index.m3u8 129 | CGTN3,http://bxny.667789.cn:88/hls/75/index.m3u8 130 | CGTN4,http://bxny.667789.cn:88/hls/76/index.m3u8 131 | CGTN5,http://bxny.667789.cn:88/hls/77/index.m3u8 132 | CGTN6,http://bxny.667789.cn:88/hls/78/index.m3u8 133 | NEWTV精品动作电影,http://bxny.667789.cn:88/hls/130/index.m3u8 134 | NewTV精品大剧,http://bxny.667789.cn:88/hls/133/index.m3u8 135 | NewTV超级电影,http://bxny.667789.cn:88/hls/134/index.m3u8 136 | NewTV超级体育,http://bxny.667789.cn:88/hls/135/index.m3u8 137 | NewTV超级综艺,http://bxny.667789.cn:88/hls/136/index.m3u8 138 | NewTV东北热剧,http://bxny.667789.cn:88/hls/137/index.m3u8 139 | NewTV欢乐剧场,http://bxny.667789.cn:88/hls/138/index.m3u8 140 | NewTV古装剧场,http://bxny.667789.cn:88/hls/139/index.m3u8 141 | NewTV军旅剧场,http://bxny.667789.cn:88/hls/140/index.m3u8 142 | NewTV精品纪录,http://bxny.667789.cn:88/hls/141/index.m3u8 143 | NewTV家庭剧场,http://bxny.667789.cn:88/hls/142/index.m3u8 144 | NewTV精品体育,http://bxny.667789.cn:88/hls/143/index.m3u8 145 | NewTV爱情喜剧,http://bxny.667789.cn:88/hls/144/index.m3u8 146 | NewTV惊悚悬疑,http://bxny.667789.cn:88/hls/145/index.m3u8 147 | NewTV金牌综艺,http://bxny.667789.cn:88/hls/146/index.m3u8 148 | NewTV军事评论,http://bxny.667789.cn:88/hls/147/index.m3u8 149 | NewTV农业致富,http://bxny.667789.cn:88/hls/148/index.m3u8 150 | NewTV怡伴健康,http://bxny.667789.cn:88/hls/149/index.m3u8 151 | NewTV潮妈辣妹,http://bxny.667789.cn:88/hls/150/index.m3u8 152 | NewTV武博世界,http://bxny.667789.cn:88/hls/151/index.m3u8 153 | NewTV中国功夫,http://bxny.667789.cn:88/hls/152/index.m3u8 154 | NewTV炫舞未来,http://bxny.667789.cn:88/hls/153/index.m3u8 155 | 电影1,http://bxny.667789.cn:88/hls/154/index.m3u8 156 | 电影2,http://bxny.667789.cn:88/hls/155/index.m3u8 157 | 黑莓电影,http://bxny.667789.cn:88/hls/119/index.m3u8 158 | -------------------------------------------------------------------------------- /itv_add.py: -------------------------------------------------------------------------------- 1 | source_file = open("itv0.txt", "r") 2 | target_file = open("itv.txt", "a") 3 | 4 | content = source_file.read() 5 | target_file.write(content) 6 | 7 | source_file.close() 8 | target_file.close() 9 | -------------------------------------------------------------------------------- /itvjoin.py: -------------------------------------------------------------------------------- 1 | import time 2 | import datetime 3 | import os 4 | import concurrent.futures 5 | from selenium import webdriver 6 | from selenium.webdriver.chrome.options import Options 7 | import requests 8 | import re 9 | import threading 10 | from queue import Queue 11 | import eventlet 12 | eventlet.monkey_patch() 13 | 14 | # 线程安全的队列,用于存储下载任务 15 | task_queue = Queue() 16 | 17 | # 线程安全的列表,用于存储结果 18 | results = [] 19 | 20 | channels = [] 21 | error_channels = [] 22 | 23 | with open("itv.txt", 'r', encoding='utf-8') as file: 24 | lines = file.readlines() 25 | for line in lines: 26 | line = line.strip() 27 | if line: 28 | channel_name, channel_url = line.split(',') 29 | channels.append((channel_name, channel_url)) 30 | 31 | # 定义工作线程函数 32 | def worker(): 33 | while True: 34 | # 从队列中获取一个任务 35 | channel_name, channel_url = task_queue.get() 36 | try: 37 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 38 | lines = requests.get(channel_url,timeout=3).text.strip().split('\n') # 获取m3u8文件内容 39 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 40 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 41 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 42 | 43 | # 多获取的视频数据进行5秒钟限制 44 | with eventlet.Timeout(5, False): 45 | start_time = time.time() 46 | content = requests.get(ts_url,timeout=3).content 47 | end_time = time.time() 48 | response_time = (end_time - start_time) * 1 49 | 50 | if content: 51 | with open(ts_lists_0, 'ab') as f: 52 | f.write(content) # 写入文件 53 | file_size = len(content) 54 | # print(f"文件大小:{file_size} 字节") 55 | download_speed = file_size / response_time / 1024 56 | # print(f"下载速度:{download_speed:.3f} kB/s") 57 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 58 | #print(f"标准化后的速率:{normalized_speed:.3f} MB/s") 59 | 60 | # 删除下载的文件 61 | os.remove(ts_lists_0) 62 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 63 | results.append(result) 64 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 65 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 66 | except: 67 | error_channel = channel_name, channel_url 68 | error_channels.append(error_channel) 69 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 70 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 71 | 72 | # 标记任务完成 73 | task_queue.task_done() 74 | 75 | 76 | # 创建多个工作线程 77 | num_threads = 10 78 | for _ in range(num_threads): 79 | t = threading.Thread(target=worker, daemon=True) 80 | #t = threading.Thread(target=worker, args=(event,len(channels))) # 将工作线程设置为守护线程 81 | t.start() 82 | #event.set() 83 | 84 | # 添加下载任务到队列 85 | for channel in channels: 86 | task_queue.put(channel) 87 | 88 | # 等待所有任务完成 89 | task_queue.join() 90 | 91 | 92 | def channel_key(channel_name): 93 | match = re.search(r'\d+', channel_name) 94 | if match: 95 | return int(match.group()) 96 | else: 97 | return float('inf') # 返回一个无穷大的数字作为关键字 98 | 99 | # 对频道进行排序 100 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 101 | results.sort(key=lambda x: channel_key(x[0])) 102 | now_today = datetime.date.today() 103 | 104 | result_counter = 3 # 每个频道需要的个数 105 | with open("itvlist.txt", 'a', encoding='utf-8') as file: 106 | channel_counters = {} 107 | file.write('央视(城通),#genre#\n') 108 | for result in results: 109 | channel_name, channel_url, speed = result 110 | if 'CCTV' in channel_name: 111 | if channel_name in channel_counters: 112 | if channel_counters[channel_name] >= result_counter: 113 | continue 114 | else: 115 | file.write(f"{channel_name},{channel_url}\n") 116 | channel_counters[channel_name] += 1 117 | else: 118 | file.write(f"{channel_name},{channel_url}\n") 119 | channel_counters[channel_name] = 1 120 | file.write('数字(城通),#genre#\n') 121 | for result in results: 122 | channel_name, channel_url, speed = result 123 | if '天元' in channel_name or '风云' in channel_name or '球' in channel_name or '影' in channel_name: 124 | if channel_name in channel_counters: 125 | if channel_counters[channel_name] >= result_counter: 126 | continue 127 | else: 128 | file.write(f"{channel_name},{channel_url}\n") 129 | channel_counters[channel_name] += 1 130 | else: 131 | file.write(f"{channel_name},{channel_url}\n") 132 | channel_counters[channel_name] = 1 133 | channel_counters = {} 134 | file.write('卫视(城通),#genre#\n') 135 | for result in results: 136 | channel_name, channel_url, speed = result 137 | if '卫视' in channel_name: 138 | if channel_name in channel_counters: 139 | if channel_counters[channel_name] >= result_counter: 140 | continue 141 | else: 142 | file.write(f"{channel_name},{channel_url}\n") 143 | channel_counters[channel_name] += 1 144 | else: 145 | file.write(f"{channel_name},{channel_url}\n") 146 | channel_counters[channel_name] = 1 147 | channel_counters = {} 148 | file.write('其他(城通),#genre#\n') 149 | for result in results: 150 | channel_name, channel_url, speed = result 151 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 152 | if channel_name in channel_counters: 153 | if channel_counters[channel_name] >= result_counter: 154 | continue 155 | else: 156 | file.write(f"{channel_name},{channel_url}\n") 157 | channel_counters[channel_name] += 1 158 | else: 159 | file.write(f"{channel_name},{channel_url}\n") 160 | channel_counters[channel_name] = 1 161 | 162 | with open("itvlist.m3u", 'w', encoding='utf-8') as file: 163 | channel_counters = {} 164 | file.write('#EXTM3U\n') 165 | for result in results: 166 | channel_name, channel_url, speed = result 167 | if 'CCTV' in channel_name: 168 | if channel_name in channel_counters: 169 | if channel_counters[channel_name] >= result_counter: 170 | continue 171 | else: 172 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 173 | file.write(f"{channel_url}\n") 174 | channel_counters[channel_name] += 1 175 | else: 176 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 177 | file.write(f"{channel_url}\n") 178 | channel_counters[channel_name] = 1 179 | channel_counters = {} 180 | #file.write('卫视频道,#genre#\n') 181 | for result in results: 182 | channel_name, channel_url, speed = result 183 | if '卫视' in channel_name: 184 | if channel_name in channel_counters: 185 | if channel_counters[channel_name] >= result_counter: 186 | continue 187 | else: 188 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 189 | file.write(f"{channel_url}\n") 190 | channel_counters[channel_name] += 1 191 | else: 192 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 193 | file.write(f"{channel_url}\n") 194 | channel_counters[channel_name] = 1 195 | channel_counters = {} 196 | #file.write('其他频道,#genre#\n') 197 | for result in results: 198 | channel_name, channel_url, speed = result 199 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 200 | if channel_name in channel_counters: 201 | if channel_counters[channel_name] >= result_counter: 202 | continue 203 | else: 204 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 205 | file.write(f"{channel_url}\n") 206 | channel_counters[channel_name] += 1 207 | else: 208 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 209 | file.write(f"{channel_url}\n") 210 | channel_counters[channel_name] = 1 211 | 212 | -------------------------------------------------------------------------------- /itvlist.m3u: -------------------------------------------------------------------------------- 1 | #EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml" 2 | #EXTM3U 3 | -------------------------------------------------------------------------------- /itvlist.txt: -------------------------------------------------------------------------------- 1 | 央视频道,#genre# 2 | CCTV-1综合,rtp://239.253.92.83:8012 3 | CCTV-2财经,rtp://239.253.92.190:6065 4 | CCTV-3综艺,rtp://239.253.92.191:6057 5 | CCTV-4亚洲,rtp://239.253.92.251:6141 6 | CCTV-5体育,rtp://239.253.92.181:6046 7 | CCTV-5+体育赛事,rtp://239.253.92.82:8013 8 | CCTV-6电影,rtp://239.253.92.193:6058 9 | CCTV-7国防军事,rtp://239.253.92.194:6059 10 | CCTV-8电视剧,rtp://239.253.92.195:6060 11 | CCTV-9纪录,rtp://239.253.92.107:6020 12 | CCTV-10科教,rtp://239.253.92.196:6061 13 | CCTV-11戏曲,rtp://239.253.93.153:6321 14 | CCTV-12社会与法,rtp://239.253.92.197:6062 15 | CCTV-13新闻,rtp://239.253.92.13:8008 16 | CCTV-14少儿,rtp://239.253.92.198:6063 17 | CCTV-15音乐,rtp://239.253.93.154:6322 18 | CCTV-17农业农村,rtp://239.253.93.150:6318 19 | CGTN国际,rtp://239.253.92.15:8011 20 | CCTV-4K,rtp://239.253.93.134:6631 21 | CCTV4中文国际欧洲,rtp://239.253.93.192:6370 22 | CCTV4中文国际美洲,rtp://239.253.93.193:6371 23 | CGTN 英文记录,rtp://239.253.93.195:6373 24 | CGTN 西班牙语,rtp://239.253.93.196:6374 25 | CGTN 法语,rtp://239.253.93.197:6375 26 | CGTN 阿拉伯语,rtp://239.253.93.198:6376 27 | CGTN 俄语,rtp://239.253.93.199:6377 28 | 数字频道,#genre# 29 | 天元围棋,rtp://239.253.93.211:6389 30 | 第一剧场高清,rtp://239.253.93.138:6428 31 | 风云剧场高清,rtp://239.253.93.251:6429 32 | 怀旧剧场高清,rtp://239.253.93.252:6430 33 | 风云音乐高清,rtp://239.253.93.253:6431 34 | 风云足球高清,rtp://239.253.93.254:6432 35 | 高尔夫网球高清,rtp://239.253.93.122:6465 36 | 武术世界高清,rtp://239.253.93.46:6434 37 | 兵器科技高清,rtp://239.253.93.47:6435 38 | 世界地理高清,rtp://239.253.92.131:6113 39 | 文物宝库高清,rtp://239.253.93.180:6437 40 | 女性时尚高清,rtp://239.253.92.144:6114 41 | 文化精品高清,rtp://239.253.93.175:6439 42 | 早期教育高清,rtp://239.253.93.164:6440 43 | 梨园高清,rtp://239.253.93.133:6441 44 | 老故事,rtp://239.253.92.132:8068 45 | 环球奇观,rtp://239.253.92.130:8069 46 | 文物宝库,rtp://239.253.92.159:8070 47 | 国学,rtp://239.253.92.158:8071 48 | 女性时尚,rtp://239.253.92.249:6103 49 | 文化精品,rtp://239.253.92.25:6104 50 | 早期教育,rtp://239.253.92.39:6107 51 | 梨园,rtp://239.253.92.152:8086 52 | 电视指南,rtp://239.253.92.17:6078 53 | BRTV纪实科教,rtp://239.253.93.190:6358 54 | 纪实人文高清,rtp://239.253.92.99:6013 55 | 中国教育-1高清,rtp://239.253.92.211:6069 56 | 中国交通频道,rtp://239.253.93.189:6357 57 | CETV-2,rtp://239.253.92.108:6136 58 | CETV-4,rtp://239.253.92.200:6137 59 | 中学生,rtp://239.253.92.27:6106 60 | 快乐垂钓高清,rtp://239.253.93.213:6391 61 | 新动漫,rtp://239.253.93.217:6395 62 | 先锋乒羽,rtp://239.253.93.219:6397 63 | 发现之旅,rtp://239.253.94.30:6629 64 | 环球旅游,rtp://239.253.93.220:6398 65 | 车迷,rtp://239.253.93.221:6399 66 | 游戏风云高清,rtp://239.253.93.222:6400 67 | 欢笑剧场4K,rtp://239.253.93.223:6401 68 | 乐游高清,rtp://239.253.93.224:6402 69 | 动漫秀场高清,rtp://239.253.93.225:6403 70 | 生活时尚高清,rtp://239.253.93.226:6404 71 | 都市剧场高清,rtp://239.253.93.227:6405 72 | 茶频道高清,rtp://239.253.93.212:6390 73 | 书画,rtp://239.253.93.214:6392 74 | 摄影,rtp://239.253.93.215:6393 75 | 央视台球高清,rtp://239.253.93.231:6409 76 | 求索纪录高清,rtp://239.253.93.236:6414 77 | 东方财经,rtp://239.253.93.239:6417 78 | 金色学堂高清,rtp://239.253.93.240:6418 79 | 法治天地高清,rtp://239.253.93.241:6419 80 | 中华特产,rtp://239.253.93.242:6420 81 | 四海钓鱼,rtp://239.253.93.243:6421 82 | 优优宝贝,rtp://239.253.93.244:6422 83 | 生态环境,rtp://239.253.93.245:6423 84 | 家庭理财,rtp://239.253.93.246:6424 85 | 财富天下,rtp://239.253.93.247:6425 86 | 中华美食高清,rtp://239.253.93.248:6426 87 | 电视指南高清,rtp://239.253.93.249:6427 88 | 百姓健康,rtp://239.253.92.199:6568 89 | kaku 少儿,rtp://239.253.92.162:8054 90 | 金鹰卡通,rtp://239.253.92.163:8055 91 | 嘉佳卡通,rtp://239.253.93.203:6381 92 | 卫视频道,#genre# 93 | 河北卫视高清,rtp://239.253.92.154:6011 94 | 湖南卫视高清,rtp://239.253.92.84:8015 95 | 浙江卫视高清,rtp://239.253.92.90:8020 96 | 江苏卫视高清,rtp://239.253.92.88:8018 97 | 北京卫视高清,rtp://239.253.92.87:8014 98 | 东南卫视高清,rtp://239.253.92.201:6146 99 | 东方卫视高清,rtp://239.253.92.89:8019 100 | 天津卫视高清,rtp://239.253.92.91:8021 101 | 深圳卫视高清,rtp://239.253.92.86:8017 102 | 山东卫视高清,rtp://239.253.92.207:8109 103 | 广东卫视高清,rtp://239.253.92.206:8108 104 | 黑龙江卫视高清,rtp://239.253.92.85:8016 105 | 辽宁卫视高清,rtp://239.253.92.115:6056 106 | 安徽卫视高清,rtp://239.253.92.209:6566 107 | 湖北卫视高清,rtp://239.253.92.210:6567 108 | 四川卫视高清,rtp://239.253.92.16:6043 109 | 重庆卫视高清,rtp://239.253.92.10:6053 110 | 河南卫视高清,rtp://239.253.92.137:6144 111 | 金鹰纪实高清,rtp://239.253.92.103:6054 112 | 广西卫视高清,rtp://239.253.92.76:8043 113 | 贵州卫视高清,rtp://239.253.92.105:6055 114 | 江西卫视高清,rtp://239.253.92.19:6145 115 | 吉林卫视高清,rtp://239.253.92.202:6147 116 | 海南卫视高清,rtp://239.253.93.155:6323 117 | 兵团卫视,rtp://239.253.93.176:6344 118 | 河北频道,#genre# 119 | 廊坊新闻,rtp://239.253.92.164:6036 120 | 廊坊公共,rtp://239.253.92.166:6037 121 | 香河电视,rtp://239.253.92.185:6049 122 | 大城电视,rtp://239.253.92.230:6068 123 | 大厂电视,rtp://239.253.92.253:6244 124 | 固安电视,rtp://239.253.93.109:6276 125 | 文安电视,rtp://239.253.93.111:6278 126 | 三河电视,rtp://239.253.93.143:6311 127 | 永清电视,rtp://239.253.93.172:6340 128 | 河北经济生活高清,rtp://239.253.92.171:6001 129 | 河北都市高清,rtp://239.253.92.172:6002 130 | 河北影视剧高清,rtp://239.253.92.173:6003 131 | 河北少儿科教高清,rtp://239.253.92.174:6004 132 | 河北公共高清,rtp://239.253.92.175:6005 133 | 河北农民高清,rtp://239.253.92.176:6006 134 | 石家庄新闻综合高清,rtp://239.253.92.149:6035 135 | 石家庄娱乐,rtp://239.253.92.93:8120 136 | 石家庄生活,rtp://239.253.92.94:8121 137 | 石家庄都市,rtp://239.253.92.95:8122 138 | 睛彩河北,rtp://239.253.92.104:6221 139 | 承德新闻综合,rtp://239.253.92.222:8112 140 | 承德公共,rtp://239.253.92.223:8113 141 | 张家口新闻综合,rtp://239.253.92.225:8115 142 | 张家口公共,rtp://239.253.92.226:8116 143 | 秦皇岛新闻综合,rtp://239.253.92.52:6021 144 | 秦皇岛公共,rtp://239.253.92.53:6022 145 | 秦皇岛影视,rtp://239.253.92.54:6023 146 | 唐山新闻综合,rtp://239.253.92.245:6089 147 | 唐山生活服务,rtp://239.253.92.126:6026 148 | 唐山影视,rtp://239.253.92.127:6027 149 | 唐山公共,rtp://239.253.92.128:6028 150 | 沧州新闻综合,rtp://239.253.92.121:6015 151 | 沧州公共,rtp://239.253.92.122:6016 152 | 沧州影视娱乐,rtp://239.253.92.123:6017 153 | 保定新闻综合,rtp://239.253.93.2:6153 154 | 保定公共频道,rtp://239.253.93.4:6157 155 | 保定生活健康,rtp://239.253.93.5:6158 156 | 衡水新闻综合,rtp://239.253.93.3:6154 157 | 衡水公共,rtp://239.253.93.7:6160 158 | 邢台综合,rtp://239.253.93.8:6161 159 | 邢台城市生活,rtp://239.253.93.10:6163 160 | 邯郸新闻综合,rtp://239.253.93.11:6164 161 | 邯郸公共,rtp://239.253.93.12:6165 162 | 邯郸科技教育,rtp://239.253.93.13:6166 163 | 元氏电视,rtp://239.253.92.142:6040 164 | 无极电视,rtp://239.253.92.138:6222 165 | 高邑电视,rtp://239.253.92.160:6041 166 | 栾城电视,rtp://239.253.92.187:6051 167 | 井陉矿区电视,rtp://239.253.92.215:6067 168 | 赞皇电视,rtp://239.253.92.12:6042 169 | 深泽电视,rtp://239.253.94.31:6630 170 | 赵县电视,rtp://239.253.93.140:6308 171 | 晋州电视,rtp://239.253.93.156:6324 172 | 井陉电视,rtp://239.253.93.205:6383 173 | 平泉电视,rtp://239.253.92.156:6012 174 | 滦平电视,rtp://239.253.92.100:6142 175 | 双滦电视,rtp://239.253.92.147:6224 176 | 兴隆电视,rtp://239.253.93.104:6271 177 | 隆化电视,rtp://239.253.93.174:6342 178 | 承德电视,rtp://239.253.94.28:6627 179 | 宽城新闻,rtp://239.253.93.117:6019 180 | 任县电视,rtp://239.253.93.145:6313 181 | 邯山电视,rtp://239.253.93.146:6314 182 | 崇礼电视,rtp://239.253.93.147:6315 183 | 顺平电视,rtp://239.253.93.148:6316 184 | 张北电视,rtp://239.253.93.159:6327 185 | 尚义电视,rtp://239.253.93.163:6331 186 | 邱县电视,rtp://239.253.93.158:6326 187 | 赤城电视,rtp://239.253.93.160:6328 188 | 康保电视,rtp://239.253.93.165:6333 189 | 遵化电视,rtp://239.253.93.177:6345 190 | 昌黎电视,rtp://239.253.92.109:6217 191 | 抚宁电视,rtp://239.253.93.201:6379 192 | 卢龙电视,rtp://239.253.93.206:6384 193 | 丰南电视,rtp://239.253.92.231:6070 194 | 迁西电视,rtp://239.253.92.247:6091 195 | 滦南电视,rtp://239.253.92.218:6100 196 | 玉田电视,rtp://239.253.92.118:6133 197 | 滦州电视,rtp://239.253.92.97:6138 198 | 成安电视,rtp://239.253.93.178:6346 199 | 魏县电视,rtp://239.253.93.185:6353 200 | 霸州综合,rtp://239.253.93.209:6387 201 | 黄骅电视,rtp://239.253.92.183:6047 202 | 东光电视,rtp://239.253.93.96:6262 203 | 青县电视,rtp://239.253.93.139:6307 204 | 盐山电视,rtp://239.253.93.144:6312 205 | 南皮电视,rtp://239.253.93.149:6317 206 | 肃宁电视,rtp://239.253.93.152:6320 207 | 吴桥电视,rtp://239.253.93.169:6337 208 | 丰宁综合,rtp://239.253.93.210:6388 209 | 定兴电视,rtp://239.253.93.14:6167 210 | 阜平电视,rtp://239.253.93.16:6169 211 | 涞水电视,rtp://239.253.93.17:6170 212 | 满城电视,rtp://239.253.93.19:6172 213 | 涞源电视,rtp://239.253.93.22:6175 214 | 高碑店电视,rtp://239.253.93.23:6176 215 | 清苑电视,rtp://239.253.93.24:6177 216 | 涿州电视,rtp://239.253.93.27:6180 217 | 唐县电视,rtp://239.253.93.30:6183 218 | 曲阳电视,rtp://239.253.93.31:6184 219 | 望都电视,rtp://239.253.93.32:6185 220 | 定州电视,rtp://239.253.93.95:6260 221 | 高阳电视,rtp://239.253.93.105:6272 222 | 安新电视,rtp://239.253.93.107:6274 223 | 容城电视,rtp://239.253.93.110:6277 224 | 临城电视,rtp://239.253.93.167:6335 225 | 柏乡电视,rtp://239.253.93.171:6339 226 | 涿鹿电视,rtp://239.253.93.181:6349 227 | 徐水电视,rtp://239.253.93.182:6350 228 | 大名电视,rtp://239.253.93.186:6354 229 | 巨鹿电视,rtp://239.253.92.254:6449 230 | 临西电视,rtp://239.253.94.29:6628 231 | 冀州电视,rtp://239.253.93.34:6187 232 | 安平电视,rtp://239.253.93.36:6189 233 | 景县电视,rtp://239.253.93.38:6191 234 | 饶阳电视,rtp://239.253.93.40:6193 235 | 深州电视,rtp://239.253.93.42:6195 236 | 武强电视,rtp://239.253.93.79:6245 237 | 阜城电视,rtp://239.253.93.168:6336 238 | 故城电视,rtp://239.253.93.161:6329 239 | 枣强电视,rtp://239.253.93.166:6334 240 | 清河电视,rtp://239.253.93.44:6197 241 | 广宗电视,rtp://239.253.93.50:6203 242 | 武安电视,rtp://239.253.93.62:6215 243 | 宁晋电视,rtp://239.253.93.51:6204 244 | 平乡电视,rtp://239.253.93.53:6206 245 | 鸡泽电视,rtp://239.253.93.64:6219 246 | 隆尧电视,rtp://239.253.93.65:6230 247 | 广平电视,rtp://239.253.93.66:6231 248 | 南和电视,rtp://239.253.93.80:6246 249 | 临漳电视,rtp://239.253.93.84:6250 250 | 内丘电视,rtp://239.253.93.102:6268 251 | 涉县电视,rtp://239.253.93.106:6273 252 | 迁安电视,rtp://239.253.93.113:6280 253 | 馆陶电视,rtp://239.253.93.115:6282 254 | 乐亭电视,rtp://239.253.93.250:6290 255 | 沙河电视,rtp://239.253.93.179:6347 256 | 曲周电视,rtp://239.253.93.54:6207 257 | 南宫电视,rtp://239.253.93.48:6201 258 | 丰润电视,rtp://239.253.92.252:6156 259 | 优漫卡通,rtp://239.253.93.204:6382 260 | 山东教育,rtp://239.253.92.106:6135 261 | 证券服务,rtp://239.253.92.124:6569 262 | 汽摩,rtp://239.253.92.46:6110 263 | 慢直播1,rtp://239.253.94.1:6600 264 | 慢直播2,rtp://239.253.94.2:6601 265 | 慢直播3,rtp://239.253.94.3:6602 266 | 慢直播4,rtp://239.253.94.4:6603 267 | 慢直播5,rtp://239.253.94.5:6604 268 | 慢直播6,rtp://239.253.94.6:6605 269 | 慢直播7,rtp://239.253.94.7:6606 270 | 慢直播8,rtp://239.253.94.8:6607 271 | 慢直播9,rtp://239.253.94.9:6608 272 | 慢直播10,rtp://239.253.94.10:6609 273 | 慢直播11,rtp://239.253.94.11:6610 274 | 慢直播12,rtp://239.253.94.12:6611 275 | 慢直播13,rtp://239.253.94.13:6612 276 | 慢直播14,rtp://239.253.94.14:6613 277 | 慢直播15,rtp://239.253.94.15:6614 278 | 慢直播16,rtp://239.253.94.16:6615 279 | 慢直播17,rtp://239.253.94.17:6616 280 | 慢直播18,rtp://239.253.94.18:6617 281 | 慢直播19,rtp://239.253.94.19:6618 282 | 慢直播20,rtp://239.253.94.20:6619 283 | 慢直播21,rtp://239.253.94.21:6620 284 | 慢直播22,rtp://239.253.94.22:6621 285 | 慢直播23,rtp://239.253.94.23:6622 286 | 慢直播24,rtp://239.253.94.24:6623 287 | 慢直播九屏1,rtp://239.253.94.25:6624 288 | 慢直播九屏2,rtp://239.253.94.26:6625 289 | 慢直播九屏3,rtp://239.253.94.27:6626 290 | 4K频道,rtp://239.253.92.114:6187 291 | 羽毛球专区,rtp://239.253.93.202:6380 292 | 点掌财经专区,rtp://239.253.92.236:6448 293 | 主视角-4K,rtp://239.253.93.123:6291 294 | 主视角-高清,rtp://239.253.93.124:6292 295 | 辅视角1-高清,rtp://239.253.93.125:6293 296 | 辅视角 2-高清,rtp://239.253.93.126:6294 297 | 辅视角 3-高清,rtp://239.253.93.127:6295 298 | 主视角-标清,rtp://239.253.93.128:6296 299 | 辅视角 1-标清,rtp://239.253.93.129:6297 300 | 辅视角 2-标清,rtp://239.253.93.130:6298 301 | 辅视角 3-标清,rtp://239.253.93.131:6299 302 | 临时直播频道2,rtp://239.253.92.21:6226 303 | 临时直播频道3,rtp://239.253.92.216:6227 304 | 临时直播频道4,rtp://239.253.92.219:6228 305 | 临时直播频道5,rtp://239.253.92.220:6229 306 | 九屏直播频道,rtp://239.253.92.203:6150 307 | 临时直播,rtp://239.253.92.116:6029 308 | 党教,rtp://239.253.92.125:6024 309 | -------------------------------------------------------------------------------- /temp/IPTV_speed.py: -------------------------------------------------------------------------------- 1 | import re 2 | import requests 3 | import concurrent.futures 4 | 5 | def test_speed(channel_name, channel_url): 6 | try: 7 | response = requests.get(channel_url, timeout=2) 8 | if response.status_code == 200: 9 | speed = response.elapsed.total_seconds() 10 | return channel_name, channel_url, f"{speed:.3f} seconds" 11 | else: 12 | return channel_name, channel_url, "Failed" 13 | except: 14 | return channel_name, channel_url, "Failed" 15 | 16 | def channel_key(channel): 17 | match = re.search(r'\d+', channel) 18 | if match: 19 | return int(match.group()) 20 | else: 21 | return float('inf') # 返回一个无穷大的数字作为关键字 22 | 23 | channels = [] 24 | 25 | with open("IPTV.txt", 'r', encoding='utf-8') as file: 26 | lines = file.readlines() 27 | 28 | for line in lines: 29 | line = line.strip() 30 | if line: 31 | if 'rtp' in line or 'udp' in line: 32 | pass 33 | else: 34 | channel_name, channel_url = line.split(',') 35 | channels.append((channel_name, channel_url)) 36 | 37 | with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor: 38 | futures = [] 39 | 40 | for channel in channels: 41 | channel_name, channel_url = channel 42 | futures.append(executor.submit(test_speed, channel_name, channel_url)) 43 | 44 | results = [] 45 | for future in concurrent.futures.as_completed(futures): 46 | result = future.result() 47 | results.append(result) 48 | 49 | results.sort(key=lambda x: (x[0], x[2])) 50 | 51 | with open("speed_results.txt", 'w', encoding='utf-8') as file: 52 | for result in results: 53 | channel_name, channel_url, speed = result 54 | file.write(f"{channel_name},{channel_url},{speed}\n") 55 | 56 | 57 | channels = [] 58 | with open("speed_results.txt", 'r', encoding='utf-8') as file: 59 | for line in file: 60 | line = line.strip() 61 | if line: 62 | channel_name, channel_url, speed = line.split(',') 63 | if speed != "Failed": 64 | channels.append((channel_name,channel_url)) 65 | 66 | 67 | # 对频道进行排序 68 | channels.sort(key=lambda x: channel_key(x[0])) 69 | 70 | with open("IPTV_speed.txt", 'w', encoding='utf-8') as file: 71 | for channel_name,channel_url in channels: 72 | file.write(f'{channel_name},{channel_url}\n') 73 | -------------------------------------------------------------------------------- /temp/anhui.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/temp/anhui.txt -------------------------------------------------------------------------------- /temp/beijing.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/temp/beijing.txt -------------------------------------------------------------------------------- /temp/cctv.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import time 4 | import datetime 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | error_channels = [] 19 | 20 | with open("itv.txt", 'r', encoding='utf-8') as file: 21 | lines = file.readlines() 22 | for line in lines: 23 | line = line.strip() 24 | if line: 25 | channel_name, channel_url = line.split(',') 26 | if 'CCTV' in channel_name: 27 | channels.append((channel_name, channel_url)) 28 | 29 | # 定义工作线程函数 30 | def worker(): 31 | while True: 32 | # 从队列中获取一个任务 33 | channel_name, channel_url = task_queue.get() 34 | try: 35 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 36 | lines = requests.get(channel_url,timeout=1).text.strip().split('\n') # 获取m3u8文件内容 37 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 38 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 39 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 40 | 41 | # 多获取的视频数据进行5秒钟限制 42 | with eventlet.Timeout(5, False): 43 | start_time = time.time() 44 | content = requests.get(ts_url,timeout=1).content 45 | end_time = time.time() 46 | response_time = (end_time - start_time) * 1 47 | 48 | if content: 49 | with open(ts_lists_0, 'ab') as f: 50 | f.write(content) # 写入文件 51 | file_size = len(content) 52 | # print(f"文件大小:{file_size} 字节") 53 | download_speed = file_size / response_time / 1024 54 | # print(f"下载速度:{download_speed:.3f} kB/s") 55 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 56 | #print(f"标准化后的速率:{normalized_speed:.3f} MB/s") 57 | 58 | # 删除下载的文件 59 | os.remove(ts_lists_0) 60 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 61 | results.append(result) 62 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 63 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 64 | except: 65 | error_channel = channel_name, channel_url 66 | error_channels.append(error_channel) 67 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 68 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 69 | 70 | # 标记任务完成 71 | task_queue.task_done() 72 | 73 | 74 | # 创建多个工作线程 75 | num_threads = 10 76 | for _ in range(num_threads): 77 | t = threading.Thread(target=worker, daemon=True) 78 | #t = threading.Thread(target=worker, args=(event,len(channels))) # 将工作线程设置为守护线程 79 | t.start() 80 | #event.set() 81 | 82 | # 添加下载任务到队列 83 | for channel in channels: 84 | task_queue.put(channel) 85 | 86 | # 等待所有任务完成 87 | task_queue.join() 88 | 89 | 90 | def channel_key(channel_name): 91 | match = re.search(r'\d+', channel_name) 92 | if match: 93 | return int(match.group()) 94 | else: 95 | return float('inf') # 返回一个无穷大的数字作为关键字 96 | 97 | # 对频道进行排序 98 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 99 | results.sort(key=lambda x: channel_key(x[0])) 100 | now_today = datetime.date.today() 101 | 102 | result_counter = 8 # 每个频道需要的个数 103 | 104 | with open("cctv.txt", 'w', encoding='utf-8') as file: 105 | channel_counters = {} 106 | file.write('央视频道,#genre#\n') 107 | for result in results: 108 | channel_name, channel_url, speed = result 109 | if 'CCTV' in channel_name: 110 | if channel_name in channel_counters: 111 | if channel_counters[channel_name] >= result_counter: 112 | continue 113 | else: 114 | file.write(f"{channel_name},{channel_url}\n") 115 | channel_counters[channel_name] += 1 116 | else: 117 | file.write(f"{channel_name},{channel_url}\n") 118 | channel_counters[channel_name] = 1 119 | 120 | with open("cctv.m3u", 'w', encoding='utf-8') as file: 121 | channel_counters = {} 122 | file.write('#EXTM3U\n') 123 | for result in results: 124 | channel_name, channel_url, speed = result 125 | if 'CCTV' in channel_name: 126 | if channel_name in channel_counters: 127 | if channel_counters[channel_name] >= result_counter: 128 | continue 129 | else: 130 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 131 | file.write(f"{channel_url}\n") 132 | channel_counters[channel_name] += 1 133 | else: 134 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 135 | file.write(f"{channel_url}\n") 136 | channel_counters[channel_name] = 1 137 | -------------------------------------------------------------------------------- /temp/chongqing.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://183.66.49.230:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://183.66.49.230:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://183.66.49.230:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://183.66.49.230:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://183.66.49.230:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://183.66.49.230:9901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV7,http://183.66.49.230:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV8,http://183.66.49.230:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV9,http://183.66.49.230:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV10,http://183.66.49.230:9901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV11,http://183.66.49.230:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV12,http://183.66.49.230:9901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV13,http://183.66.49.230:9901/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV14,http://183.66.49.230:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV15,http://183.66.49.230:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | 重庆卫视,http://183.66.49.230:9901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 17 | 东方卫视,http://183.66.49.230:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 江苏卫视,http://183.66.49.230:9901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 浙江卫视,http://183.66.49.230:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 北京卫视,http://183.66.49.230:9901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 天津卫视,http://183.66.49.230:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 贵州卫视,http://183.66.49.230:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 四川卫视,http://183.66.49.230:9901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 黑龙江卫视,http://183.66.49.230:9901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 安徽卫视,http://183.66.49.230:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 江西卫视,http://183.66.49.230:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 东南卫视,http://183.66.49.230:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 湖南卫视,http://183.66.49.230:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 深圳卫视,http://183.66.49.230:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 山东卫视,http://183.66.49.230:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 湖北卫视,http://183.66.49.230:9901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 云南卫视,http://183.66.49.230:9901/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 广西卫视,http://183.66.49.230:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 山西卫视,http://183.66.49.230:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 海南卫视,http://183.66.49.230:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 陕西卫视,http://183.66.49.230:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 吉林卫视,http://183.66.49.230:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 内蒙古卫视,http://183.66.49.230:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 河南卫视,http://183.66.49.230:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 宁夏卫视,http://183.66.49.230:9901/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 甘肃卫视,http://183.66.49.230:9901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 青海卫视,http://183.66.49.230:9901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 新疆卫视,http://183.66.49.230:9901/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0 44 | 西藏卫视,http://183.66.49.230:9901/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 45 | 河北卫视,http://183.66.49.230:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0 46 | 辽宁卫视,http://183.66.49.230:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 47 | 广东卫视,http://183.66.49.230:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 48 | 卡酷少儿,http://183.66.49.230:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0 49 | 金鹰卡通,http://183.66.49.230:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 50 | 嘉佳卡通,http://183.66.49.230:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0 51 | -------------------------------------------------------------------------------- /temp/download_speed.py: -------------------------------------------------------------------------------- 1 | import os 2 | import cv2 3 | import re 4 | import time 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | 19 | with open("IPTV.txt", 'r', encoding='utf-8') as file: 20 | lines = file.readlines() 21 | for line in lines: 22 | line = line.strip() 23 | if line: 24 | channel_name, channel_url = line.split(',') 25 | channels.append((channel_name, channel_url)) 26 | 27 | # 定义工作线程函数 28 | def worker(): 29 | while True: 30 | # 从队列中获取一个任务 31 | channel_name, channel_url = task_queue.get() 32 | try: 33 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 34 | lines = requests.get(channel_url).text.strip().split('\n') # 获取m3u8文件内容 35 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 36 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 37 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 38 | 39 | # 多获取的视频数据进行5秒钟限制 40 | with eventlet.Timeout(5, False): 41 | start_time = time.time() 42 | content = requests.get(ts_url).content 43 | end_time = time.time() 44 | response_time = (end_time - start_time) * 1 45 | 46 | if content: 47 | with open(ts_lists_0, 'ab') as f: 48 | f.write(content) # 写入文件 49 | file_size = len(content) 50 | download_speed = file_size / response_time / 1024 51 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 52 | 53 | # 获取帧宽度和帧高度 54 | cap = cv2.VideoCapture(ts_lists_0) 55 | frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 56 | frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 57 | cap.release() 58 | 59 | # 删除下载的文件 60 | os.remove(ts_lists_0) 61 | if frame_width != 0: 62 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s", f"{frame_width}X{frame_height}" 63 | results.append(result) 64 | print(f"可用频道数:{len(results)}") 65 | except: 66 | pass 67 | # 标记任务完成 68 | task_queue.task_done() 69 | 70 | 71 | # 创建多个工作线程 72 | num_threads = 10 73 | for _ in range(num_threads): 74 | t = threading.Thread(target=worker, daemon=True) # 将工作线程设置为守护线程 75 | t.start() 76 | 77 | # 添加下载任务到队列 78 | for channel in channels: 79 | task_queue.put(channel) 80 | 81 | # 等待所有任务完成 82 | task_queue.join() 83 | 84 | 85 | def channel_key(channel_name): 86 | match = re.search(r'\d+', channel_name) 87 | if match: 88 | return int(match.group()) 89 | else: 90 | return float('inf') # 返回一个无穷大的数字作为关键字 91 | 92 | # 对频道进行排序 93 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 94 | results.sort(key=lambda x: channel_key(x[0])) 95 | 96 | # 将结果写入文件 97 | with open("download_results.txt", 'w', encoding='utf-8') as file: 98 | for result in results: 99 | channel_name, channel_url, speed, resolution = result 100 | file.write(f"{channel_name},{channel_url},{speed},{resolution}\n") 101 | 102 | with open("download_speed.txt", 'w', encoding='utf-8') as file: 103 | for result in results: 104 | channel_name, channel_url, speed, resolution = result 105 | file.write(f"{channel_name},{channel_url}\n") 106 | -------------------------------------------------------------------------------- /temp/fujian.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://110.81.206.138:50080/tsfile/live/23001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://110.81.206.138:50080/tsfile/live/23002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://110.81.206.138:50080/tsfile/live/23003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://110.81.206.138:50080/tsfile/live/23004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://110.81.206.138:50080/tsfile/live/23005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://110.81.206.138:50080/tsfile/live/23006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV7,http://110.81.206.138:50080/tsfile/live/23007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV8,http://110.81.206.138:50080/tsfile/live/23008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV9,http://110.81.206.138:50080/tsfile/live/23009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV10,http://110.81.206.138:50080/tsfile/live/23010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV11,http://110.81.206.138:50080/tsfile/live/23011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV12,http://110.81.206.138:50080/tsfile/live/23012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV13,http://110.81.206.138:50080/tsfile/live/23013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV14,http://110.81.206.138:50080/tsfile/live/23014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV15,http://110.81.206.138:50080/tsfile/live/23015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | CGTN,http://110.81.206.138:50080/tsfile/live/23016_1.m3u8?key=txiptv&playlive=1&authid=0 17 | CCTV17,http://110.81.206.138:50080/tsfile/live/23017_1.m3u8?key=txiptv&playlive=1&authid=0 18 | CCTV5+,http://110.81.206.138:50080/tsfile/live/23018_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 凤凰资讯台,http://110.81.206.138:50080/tsfile/live/23019_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 凤凰中文台,http://110.81.206.138:50080/tsfile/live/23020_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 东南卫视,http://110.81.206.138:50080/tsfile/live/23021_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 海峡卫视,http://110.81.206.138:50080/tsfile/live/23022_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 福建综合,http://110.81.206.138:50080/tsfile/live/23023_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 福建公共,http://110.81.206.138:50080/tsfile/live/23024_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 福建新闻,http://110.81.206.138:50080/tsfile/live/23025_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 福建电视剧,http://110.81.206.138:50080/tsfile/live/23026_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 福建旅游,http://110.81.206.138:50080/tsfile/live/23027_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 福建经济生活,http://110.81.206.138:50080/tsfile/live/23028_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 福建体育,http://110.81.206.138:50080/tsfile/live/23029_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 福建少儿,http://110.81.206.138:50080/tsfile/live/23030_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 福建教育,http://110.81.206.138:50080/tsfile/live/23031_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 厦门卫视,http://110.81.206.138:50080/tsfile/live/23032_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 湖南卫视,http://110.81.206.138:50080/tsfile/live/23034_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 东方卫视,http://110.81.206.138:50080/tsfile/live/23035_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 浙江卫视,http://110.81.206.138:50080/tsfile/live/23036_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 江苏卫视,http://110.81.206.138:50080/tsfile/live/23037_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 北京卫视,http://110.81.206.138:50080/tsfile/live/23038_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 湖北卫视,http://110.81.206.138:50080/tsfile/live/23039_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 广东卫视,http://110.81.206.138:50080/tsfile/live/23040_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 深圳卫视,http://110.81.206.138:50080/tsfile/live/23041_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 辽宁卫视,http://110.81.206.138:50080/tsfile/live/23042_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 吉林卫视,http://110.81.206.138:50080/tsfile/live/23043_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 黑龙江卫视,http://110.81.206.138:50080/tsfile/live/23044_1.m3u8?key=txiptv&playlive=1&authid=0 44 | 天津卫视,http://110.81.206.138:50080/tsfile/live/23045_1.m3u8?key=txiptv&playlive=1&authid=0 45 | 河北卫视,http://110.81.206.138:50080/tsfile/live/23046_1.m3u8?key=txiptv&playlive=1&authid=0 46 | 河南卫视,http://110.81.206.138:50080/tsfile/live/23047_1.m3u8?key=txiptv&playlive=1&authid=0 47 | 山东卫视,http://110.81.206.138:50080/tsfile/live/23048_1.m3u8?key=txiptv&playlive=1&authid=0 48 | 四川卫视,http://110.81.206.138:50080/tsfile/live/23049_1.m3u8?key=txiptv&playlive=1&authid=0 49 | 重庆卫视,http://110.81.206.138:50080/tsfile/live/23050_1.m3u8?key=txiptv&playlive=1&authid=0 50 | 贵州卫视,http://110.81.206.138:50080/tsfile/live/23051_1.m3u8?key=txiptv&playlive=1&authid=0 51 | 安徽卫视,http://110.81.206.138:50080/tsfile/live/23052_1.m3u8?key=txiptv&playlive=1&authid=0 52 | 江西卫视,http://110.81.206.138:50080/tsfile/live/23053_1.m3u8?key=txiptv&playlive=1&authid=0 53 | 云南卫视,http://110.81.206.138:50080/tsfile/live/23054_1.m3u8?key=txiptv&playlive=1&authid=0 54 | 广西卫视,http://110.81.206.138:50080/tsfile/live/23055_1.m3u8?key=txiptv&playlive=1&authid=0 55 | 海南卫视,http://110.81.206.138:50080/tsfile/live/23056_1.m3u8?key=txiptv&playlive=1&authid=0 56 | 甘肃卫视,http://110.81.206.138:50080/tsfile/live/23059_1.m3u8?key=txiptv&playlive=1&authid=0 57 | 青海卫视,http://110.81.206.138:50080/tsfile/live/23062_1.m3u8?key=txiptv&playlive=1&authid=0 58 | 金鹰卡通,http://110.81.206.138:50080/tsfile/live/23065_1.m3u8?key=txiptv&playlive=1&authid=0 59 | 卡酷少儿,http://110.81.206.138:50080/tsfile/live/23066_1.m3u8?key=txiptv&playlive=1&authid=0 60 | 哈哈炫动,http://110.81.206.138:50080/tsfile/live/23067_1.m3u8?key=txiptv&playlive=1&authid=0 61 | 锦至,http://192.168.10.2:85/home/storager/005de08c-3ce2-46a8-8d2d-d3d2190d764c/public/vod/宣传片/宣传片/jzxcp.mp4?key=txiptv 62 | 锦至,http://192.168.10.2:85/home/storager/005de08c-3ce2-46a8-8d2d-d3d2190d764c/public/vod/宣传片/宣传片/jzxcp.mp4?key=txiptv 63 | CCTV1,http://117.27.190.42:9901/tsfile/live/23232_1.m3u8?key=txiptv&playlive=1&authid=0 64 | CCTV2,http://117.27.190.42:9901/tsfile/live/23233_1.m3u8?key=txiptv&playlive=1&authid=0 65 | CCTV3,http://117.27.190.42:9901/tsfile/live/23234_1.m3u8?key=txiptv&playlive=1&authid=0 66 | CCTV4,http://117.27.190.42:9901/tsfile/live/23235_1.m3u8?key=txiptv&playlive=1&authid=0 67 | CCTV5,http://117.27.190.42:9901/tsfile/live/23236_1.m3u8?key=txiptv&playlive=1&authid=0 68 | CCTV6,http://117.27.190.42:9901/tsfile/live/23237_1.m3u8?key=txiptv&playlive=1&authid=0 69 | CCTV7,http://117.27.190.42:9901/tsfile/live/23238_1.m3u8?key=txiptv&playlive=1&authid=0 70 | CCTV8,http://117.27.190.42:9901/tsfile/live/23239_1.m3u8?key=txiptv&playlive=1&authid=0 71 | CCTV9,http://117.27.190.42:9901/tsfile/live/23240_1.m3u8?key=txiptv&playlive=1&authid=0 72 | CCTV10,http://117.27.190.42:9901/tsfile/live/23241_1.m3u8?key=txiptv&playlive=1&authid=0 73 | CCTV11,http://117.27.190.42:9901/tsfile/live/23242_1.m3u8?key=txiptv&playlive=1&authid=0 74 | CCTV12,http://117.27.190.42:9901/tsfile/live/23243_1.m3u8?key=txiptv&playlive=1&authid=0 75 | CCTV13,http://117.27.190.42:9901/tsfile/live/23244_1.m3u8?key=txiptv&playlive=1&authid=0 76 | CCTV14,http://117.27.190.42:9901/tsfile/live/23245_1.m3u8?key=txiptv&playlive=1&authid=0 77 | CCTV15,http://117.27.190.42:9901/tsfile/live/23246_1.m3u8?key=txiptv&playlive=1&authid=0 78 | CCTV17,http://117.27.190.42:9901/tsfile/live/23247_1.m3u8?key=txiptv&playlive=1&authid=0 79 | CCTV5+,http://117.27.190.42:9901/tsfile/live/23248_1.m3u8?key=txiptv&playlive=1&authid=0 80 | CCTV16,http://117.27.190.42:9901/tsfile/live/23249_1.m3u8?key=txiptv&playlive=1&authid=0 81 | 三沙卫视,http://117.27.190.42:9901/tsfile/live/23250_1.m3u8?key=txiptv&playlive=1&authid=0 82 | 云南卫视,http://117.27.190.42:9901/tsfile/live/23251_1.m3u8?key=txiptv&playlive=1&authid=0 83 | 贵州卫视,http://117.27.190.42:9901/tsfile/live/23252_1.m3u8?key=txiptv&playlive=1&authid=0 84 | 辽宁卫视,http://117.27.190.42:9901/tsfile/live/23253_1.m3u8?key=txiptv&playlive=1&authid=0 85 | 重庆卫视,http://117.27.190.42:9901/tsfile/live/23254_1.m3u8?key=txiptv&playlive=1&authid=0 86 | 青海卫视,http://117.27.190.42:9901/tsfile/live/23255_1.m3u8?key=txiptv&playlive=1&authid=0 87 | 黑龙江卫视,http://117.27.190.42:9901/tsfile/live/23256_1.m3u8?key=txiptv&playlive=1&authid=0 88 | 北京卫视,http://117.27.190.42:9901/tsfile/live/23257_1.m3u8?key=txiptv&playlive=1&authid=0 89 | 吉林卫视,http://117.27.190.42:9901/tsfile/live/23258_1.m3u8?key=txiptv&playlive=1&authid=0 90 | 天津卫视,http://117.27.190.42:9901/tsfile/live/23259_1.m3u8?key=txiptv&playlive=1&authid=0 91 | 四川卫视,http://117.27.190.42:9901/tsfile/live/23260_1.m3u8?key=txiptv&playlive=1&authid=0 92 | 安徽卫视,http://117.27.190.42:9901/tsfile/live/23261_1.m3u8?key=txiptv&playlive=1&authid=0 93 | 安徽卫视,http://117.27.190.42:9901/tsfile/live/23262_1.m3u8?key=txiptv&playlive=1&authid=0 94 | 山东卫视,http://117.27.190.42:9901/tsfile/live/23263_1.m3u8?key=txiptv&playlive=1&authid=0 95 | 江苏卫视,http://117.27.190.42:9901/tsfile/live/23264_1.m3u8?key=txiptv&playlive=1&authid=0 96 | 江西卫视,http://117.27.190.42:9901/tsfile/live/23265_1.m3u8?key=txiptv&playlive=1&authid=0 97 | 河北卫视,http://117.27.190.42:9901/tsfile/live/23266_1.m3u8?key=txiptv&playlive=1&authid=0 98 | 河南卫视,http://117.27.190.42:9901/tsfile/live/23267_1.m3u8?key=txiptv&playlive=1&authid=0 99 | 东方卫视,http://117.27.190.42:9901/tsfile/live/23268_1.m3u8?key=txiptv&playlive=1&authid=0 100 | 广西卫视,http://117.27.190.42:9901/tsfile/live/23269_1.m3u8?key=txiptv&playlive=1&authid=0 101 | 广东卫视,http://117.27.190.42:9901/tsfile/live/23270_1.m3u8?key=txiptv&playlive=1&authid=0 102 | 浙江卫视,http://117.27.190.42:9901/tsfile/live/23271_1.m3u8?key=txiptv&playlive=1&authid=0 103 | 海南卫视,http://117.27.190.42:9901/tsfile/live/23272_1.m3u8?key=txiptv&playlive=1&authid=0 104 | 海南卫视,http://117.27.190.42:9901/tsfile/live/23273_1.m3u8?key=txiptv&playlive=1&authid=0 105 | 深圳卫视,http://117.27.190.42:9901/tsfile/live/23274_1.m3u8?key=txiptv&playlive=1&authid=0 106 | 湖北卫视,http://117.27.190.42:9901/tsfile/live/23275_1.m3u8?key=txiptv&playlive=1&authid=0 107 | 湖南卫视,http://117.27.190.42:9901/tsfile/live/23276_1.m3u8?key=txiptv&playlive=1&authid=0 108 | 甘肃卫视,http://117.27.190.42:9901/tsfile/live/23277_1.m3u8?key=txiptv&playlive=1&authid=0 109 | 金鹰纪实,http://117.27.190.42:9901/tsfile/live/23278_1.m3u8?key=txiptv&playlive=1&authid=0 110 | 凤凰资讯,http://117.27.190.42:9901/tsfile/live/23279_1.m3u8?key=txiptv&playlive=1&authid=0 111 | 凤凰中文,http://117.27.190.42:9901/tsfile/live/23280_1.m3u8?key=txiptv&playlive=1&authid=0 112 | 东南卫视,http://117.27.190.42:9901/tsfile/live/23281_1.m3u8?key=txiptv&playlive=1&authid=0 113 | 厦门卫视,http://117.27.190.42:9901/tsfile/live/23282_1.m3u8?key=txiptv&playlive=1&authid=0 114 | 海峡卫视,http://117.27.190.42:9901/tsfile/live/23283_1.m3u8?key=txiptv&playlive=1&authid=0 115 | 福建综合,http://117.27.190.42:9901/tsfile/live/23284_1.m3u8?key=txiptv&playlive=1&authid=0 116 | 福建公共,http://117.27.190.42:9901/tsfile/live/23285_1.m3u8?key=txiptv&playlive=1&authid=0 117 | 福建新闻,http://117.27.190.42:9901/tsfile/live/23286_1.m3u8?key=txiptv&playlive=1&authid=0 118 | 福建电视剧,http://117.27.190.42:9901/tsfile/live/23287_1.m3u8?key=txiptv&playlive=1&authid=0 119 | 福建旅游,http://117.27.190.42:9901/tsfile/live/23288_1.m3u8?key=txiptv&playlive=1&authid=0 120 | 福建经济,http://117.27.190.42:9901/tsfile/live/23289_1.m3u8?key=txiptv&playlive=1&authid=0 121 | 福建少儿,http://117.27.190.42:9901/tsfile/live/23290_1.m3u8?key=txiptv&playlive=1&authid=0 122 | 福建文体,http://117.27.190.42:9901/tsfile/live/23291_1.m3u8?key=txiptv&playlive=1&authid=0 123 | 福建教育,http://117.27.190.42:9901/tsfile/live/23292_1.m3u8?key=txiptv&playlive=1&authid=0 124 | 厦门1,http://117.27.190.42:9901/tsfile/live/23293_1.m3u8?key=txiptv&playlive=1&authid=0 125 | 厦门2,http://117.27.190.42:9901/tsfile/live/23294_1.m3u8?key=txiptv&playlive=1&authid=0 126 | 南平综合,http://117.27.190.42:9901/tsfile/live/23295_1.m3u8?key=txiptv&playlive=1&authid=0 127 | 宁德综合,http://117.27.190.42:9901/tsfile/live/23296_1.m3u8?key=txiptv&playlive=1&authid=0 128 | 龙岩综合,http://117.27.190.42:9901/tsfile/live/23297_1.m3u8?key=txiptv&playlive=1&authid=0 129 | 三明综合,http://117.27.190.42:9901/tsfile/live/23298_1.m3u8?key=txiptv&playlive=1&authid=0 130 | 平潭综合,http://117.27.190.42:9901/tsfile/live/23299_1.m3u8?key=txiptv&playlive=1&authid=0 131 | 泉州综合,http://117.27.190.42:9901/tsfile/live/23300_1.m3u8?key=txiptv&playlive=1&authid=0 132 | 福州综合,http://117.27.190.42:9901/tsfile/live/23301_1.m3u8?key=txiptv&playlive=1&authid=0 133 | 莆田综合,http://117.27.190.42:9901/tsfile/live/23302_1.m3u8?key=txiptv&playlive=1&authid=0 134 | 漳州综合,http://117.27.190.42:9901/tsfile/live/23303_1.m3u8?key=txiptv&playlive=1&authid=0 135 | -------------------------------------------------------------------------------- /temp/henan.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://106.46.114.47:8011/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0 2 | CCTV2,http://106.46.114.47:8011/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0 3 | CCTV3,http://106.46.114.47:8011/tsfile/live/0003_1.m3u8?key=txiptv&playlive=0&authid=0 4 | CCTV4,http://106.46.114.47:8011/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0 5 | CCTV5,http://106.46.114.47:8011/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0 6 | CCTV6,http://106.46.114.47:8011/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0 7 | CCTV7,http://106.46.114.47:8011/tsfile/live/0007_1.m3u8?key=txiptv&playlive=0&authid=0 8 | CCTV8,http://106.46.114.47:8011/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0 9 | CCTV9,http://106.46.114.47:8011/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0 10 | CCTV10,http://106.46.114.47:8011/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0 11 | CCTV11,http://106.46.114.47:8011/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0 12 | CCTV12,http://106.46.114.47:8011/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0 13 | CCTV13,http://106.46.114.47:8011/tsfile/live/0013_1.m3u8?key=txiptv&playlive=0&authid=0 14 | CCTV14,http://106.46.114.47:8011/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0 15 | CCTV15,http://106.46.114.47:8011/tsfile/live/0015_1.m3u8?key=txiptv&playlive=0&authid=0 16 | CCTV5+,http://106.46.114.47:8011/tsfile/live/0016_1.m3u8?key=txiptv&playlive=0&authid=0 17 | 河南卫视,http://106.46.114.47:8011/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0 18 | 上海卫视,http://106.46.114.47:8011/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0 19 | 内蒙古卫视,http://106.46.114.47:8011/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0 20 | 江苏卫视,http://106.46.114.47:8011/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0 21 | 湖南卫视,http://106.46.114.47:8011/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0 22 | 宁夏卫视,http://106.46.114.47:8011/tsfile/live/0112_1.m3u8?key=txiptv&playlive=0&authid=0 23 | 广西卫视,http://106.46.114.47:8011/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0 24 | 吉林卫视,http://106.46.114.47:8011/tsfile/live/0116_1.m3u8?key=txiptv&playlive=0&authid=0 25 | 山西卫视,http://106.46.114.47:8011/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0 26 | 云南卫视,http://106.46.114.47:8011/tsfile/live/0119_1.m3u8?key=txiptv&playlive=0&authid=0 27 | 贵州卫视,http://106.46.114.47:8011/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0 28 | 辽宁卫视,http://106.46.114.47:8011/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0 29 | 北京卫视,http://106.46.114.47:8011/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0 30 | 四川卫视,http://106.46.114.47:8011/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0 31 | 浙江卫视,http://106.46.114.47:8011/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0 32 | 广东卫视,http://106.46.114.47:8011/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0 33 | 深圳卫视,http://106.46.114.47:8011/tsfile/live/0126_1.m3u8?key=txiptv&playlive=0&authid=0 34 | 安徽卫视,http://106.46.114.47:8011/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0 35 | 山东卫视,http://106.46.114.47:8011/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0 36 | 湖北卫视,http://106.46.114.47:8011/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0 37 | 天津卫视,http://106.46.114.47:8011/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0 38 | 陕西卫视,http://106.46.114.47:8011/tsfile/live/0136_1.m3u8?key=txiptv&playlive=0&authid=0 39 | 东南卫视,http://106.46.114.47:8011/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0 40 | 新疆卫视,http://106.46.114.47:8011/tsfile/live/0110_1.m3u8?key=txiptv&playlive=0&authid=0 41 | 西藏卫视,http://106.46.114.47:8011/tsfile/live/0111_1.m3u8?key=txiptv&playlive=0&authid=0 42 | 金鹰卡通,http://106.46.114.47:8011/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0 43 | CCTV1,http://222.89.107.42:9876/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 44 | CCTV2,http://222.89.107.42:9876/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 45 | CCTV3,http://222.89.107.42:9876/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 46 | CCTV4,http://222.89.107.42:9876/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 47 | CCTV5,http://222.89.107.42:9876/tsfile/live/0017_1.m3u8?key=txiptv&playlive=1&authid=0 48 | CCTV6,http://222.89.107.42:9876/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 49 | CCTV7,http://222.89.107.42:9876/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 50 | CCTV8,http://222.89.107.42:9876/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 51 | CCTV9,http://222.89.107.42:9876/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 52 | CCTV10,http://222.89.107.42:9876/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 53 | CCTV11,http://222.89.107.42:9876/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 54 | CCTV12,http://222.89.107.42:9876/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 55 | CCTV13,http://222.89.107.42:9876/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 56 | CCTV14,http://222.89.107.42:9876/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 57 | CCTV15,http://222.89.107.42:9876/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 58 | 河南都市,http://222.89.107.42:9876/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 59 | 河南民生,http://222.89.107.42:9876/tsfile/live/0139_2.m3u8?key=txiptv&playlive=1&authid=0 60 | 河南法制,http://222.89.107.42:9876/tsfile/live/0139_3.m3u8?key=txiptv&playlive=1&authid=0 61 | 河南电视剧,http://222.89.107.42:9876/tsfile/live/0139_4.m3u8?key=txiptv&playlive=1&authid=0 62 | 河南新闻,http://222.89.107.42:9876/tsfile/live/0139_5.m3u8?key=txiptv&playlive=1&authid=0 63 | 河南公共,http://222.89.107.42:9876/tsfile/live/0139_6.m3u8?key=txiptv&playlive=1&authid=0 64 | 河南梨园,http://222.89.107.42:9876/tsfile/live/0139_7.m3u8?key=txiptv&playlive=1&authid=0 65 | 河南卫视,http://222.89.107.42:9876/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 66 | 江苏卫视,http://222.89.107.42:9876/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 67 | 浙江卫视,http://222.89.107.42:9876/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 68 | 北京卫视,http://222.89.107.42:9876/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 69 | 天津卫视,http://222.89.107.42:9876/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 70 | 山东卫视,http://222.89.107.42:9876/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0 71 | 安徽卫视,http://222.89.107.42:9876/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 72 | 深圳卫视,http://222.89.107.42:9876/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 73 | 河北卫视,http://222.89.107.42:9876/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 74 | 黑龙江卫视,http://222.89.107.42:9876/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 75 | 江西卫视,http://222.89.107.42:9876/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 76 | 四川卫视,http://222.89.107.42:9876/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 77 | 云南卫视,http://222.89.107.42:9876/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 78 | 贵州卫视,http://222.89.107.42:9876/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 79 | 辽宁卫视,http://222.89.107.42:9876/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 80 | 东方卫视,http://222.89.107.42:9876/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 81 | 重庆卫视,http://222.89.107.42:9876/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 82 | 广东卫视,http://222.89.107.42:9876/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 83 | 广西卫视,http://222.89.107.42:9876/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 84 | 海南卫视,http://222.89.107.42:9876/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 85 | 吉林卫视,http://222.89.107.42:9876/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 86 | 山西卫视,http://222.89.107.42:9876/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 87 | 陕西卫视,http://222.89.107.42:9876/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 88 | 甘肃卫视,http://222.89.107.42:9876/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 89 | 宁夏卫视,http://222.89.107.42:9876/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 90 | 青海卫视,http://222.89.107.42:9876/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 91 | 内蒙古卫视,http://222.89.107.42:9876/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 92 | 西藏卫视,http://222.89.107.42:9876/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 93 | 新疆卫视,http://222.89.107.42:9876/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0 94 | 开封新闻,http://222.89.107.42:9876/tsfile/live/0139_8.m3u8?key=txiptv&playlive=1&authid=0 95 | 开封公共,http://222.89.107.42:9876/tsfile/live/0017_2.m3u8?key=txiptv&playlive=1&authid=0 96 | 卡酷动画,http://222.89.107.42:9876/tsfile/live/0017_3.m3u8?key=txiptv&playlive=1&authid=0 97 | 金鹰卡通,http://222.89.107.42:9876/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0 98 | 嘉佳卡通,http://222.89.107.42:9876/tsfile/live/0018_2.m3u8?key=txiptv&playlive=1&authid=0 99 | 炫动卡通,http://222.89.107.42:9876/tsfile/live/0017_4.m3u8?key=txiptv&playlive=1&authid=0 100 | 美食汇,http://222.89.107.42:9876/tsfile/live/0017_5.m3u8?key=txiptv&playlive=1&authid=0 101 | 百姓调解,http://222.89.107.42:9876/tsfile/live/0017_6.m3u8?key=txiptv&playlive=1&authid=0 102 | -------------------------------------------------------------------------------- /temp/hubei.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://219.140.56.34:3333/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://219.140.56.34:3333/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://219.140.56.34:3333/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://219.140.56.34:3333/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://219.140.56.34:3333/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://219.140.56.34:3333/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV7,http://219.140.56.34:3333/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV8,http://219.140.56.34:3333/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV9,http://219.140.56.34:3333/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV10,http://219.140.56.34:3333/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV11,http://219.140.56.34:3333/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV12,http://219.140.56.34:3333/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV13,http://219.140.56.34:3333/tsfile/live/1013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV14,http://219.140.56.34:3333/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV15,http://219.140.56.34:3333/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | CCTV5+,http://219.140.56.34:3333/tsfile/live/0016_1.m3u8?key=txiptv&playlive=1&authid=0 17 | CCTV17,http://219.140.56.34:3333/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 湖北卫视,http://219.140.56.34:3333/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 湖北经视,http://219.140.56.34:3333/tsfile/live/1019_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 湖北电视台,http://219.140.56.34:3333/tsfile/live/1020_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 湖南卫视,http://219.140.56.34:3333/tsfile/live/1022_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 江苏卫视,http://219.140.56.34:3333/tsfile/live/1023_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 浙江卫视,http://219.140.56.34:3333/tsfile/live/1024_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 安徽卫视,http://219.140.56.34:3333/tsfile/live/1025_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 北京卫视,http://219.140.56.34:3333/tsfile/live/1026_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 深圳卫视,http://219.140.56.34:3333/tsfile/live/1027_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 天津卫视,http://219.140.56.34:3333/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 辽宁卫视,http://219.140.56.34:3333/tsfile/live/1029_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 山东卫视,http://219.140.56.34:3333/tsfile/live/1030_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 黑龙江卫视,http://219.140.56.34:3333/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 重庆卫视,http://219.140.56.34:3333/tsfile/live/1032_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 东南卫视,http://219.140.56.34:3333/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 公共新闻,http://219.140.56.34:3333/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 河南卫视,http://219.140.56.34:3333/tsfile/live/1035_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 河北卫视,http://219.140.56.34:3333/tsfile/live/1036_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 四川卫视,http://219.140.56.34:3333/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 贵州卫视,http://219.140.56.34:3333/tsfile/live/1038_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 东方卫视,http://219.140.56.34:3333/tsfile/live/1039_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 海南卫视,http://219.140.56.34:3333/tsfile/live/1040_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 江西卫视,http://219.140.56.34:3333/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 湖北影视,http://219.140.56.34:3333/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 广东卫视,http://219.140.56.34:3333/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 吉林卫视,http://219.140.56.34:3333/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 44 | 江西卫视,http://219.140.56.34:3333/tsfile/live/0138_2.m3u8?key=txiptv&playlive=1&authid=0 45 | 陕西卫视,http://219.140.56.34:3333/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 46 | 深圳卫视,http://219.140.56.34:3333/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 47 | 广西卫视,http://219.140.56.34:3333/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 48 | 云南卫视,http://219.140.56.34:3333/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 49 | CCTV1,http://113.57.21.233:8666/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 50 | CCTV2,http://113.57.21.233:8666/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 51 | CCTV3,http://113.57.21.233:8666/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 52 | CCTV4,http://113.57.21.233:8666/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 53 | CCTV5,http://113.57.21.233:8666/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 54 | CCTV6,http://113.57.21.233:8666/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 55 | CCTV7,http://113.57.21.233:8666/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 56 | CCTV8,http://113.57.21.233:8666/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 57 | CCTV9,http://113.57.21.233:8666/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 58 | CCTV10,http://113.57.21.233:8666/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 59 | CCTV11,http://113.57.21.233:8666/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 60 | CCTV12,http://113.57.21.233:8666/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 61 | CCTV13,http://113.57.21.233:8666/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 62 | CCTV14,http://113.57.21.233:8666/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 63 | CCTV15,http://113.57.21.233:8666/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 64 | CCTV17,http://113.57.21.233:8666/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0 65 | CCTVNEWS,http://113.57.21.233:8666/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 66 | 浙江卫视,http://113.57.21.233:8666/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 67 | 江苏卫视,http://113.57.21.233:8666/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 68 | 上海卫视,http://113.57.21.233:8666/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 69 | 广东卫视,http://113.57.21.233:8666/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 70 | 湖南卫视,http://113.57.21.233:8666/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 71 | 中国教育,http://113.57.21.233:8666/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0 72 | 安徽卫视,http://113.57.21.233:8666/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 73 | 辽宁卫视,http://113.57.21.233:8666/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 74 | 重庆卫视,http://113.57.21.233:8666/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 75 | 四川卫视,http://113.57.21.233:8666/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 76 | 湖北卫视,http://113.57.21.233:8666/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 77 | 江西卫视,http://113.57.21.233:8666/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 78 | 东南卫视,http://113.57.21.233:8666/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 79 | 金鹰卡通,http://113.57.21.233:8666/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 80 | BTV卡通,http://113.57.21.233:8666/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0 81 | 宁夏卫视,http://113.57.21.233:8666/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0 82 | 广西卫视,http://113.57.21.233:8666/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0 83 | 旅游卫视,http://113.57.21.233:8666/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 84 | 河南卫视,http://113.57.21.233:8666/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 85 | 吉林卫视,http://113.57.21.233:8666/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 86 | 黑龙江卫视,http://113.57.21.233:8666/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0 87 | 山西卫视,http://113.57.21.233:8666/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0 88 | 云南卫视,http://113.57.21.233:8666/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0 89 | 贵州卫视,http://113.57.21.233:8666/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 90 | 经典电影,http://113.57.21.233:8666/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0 91 | 陕西卫视,http://113.57.21.233:8666/tsfile/live/1013_1.m3u8?key=txiptv&playlive=1&authid=0 92 | 青海卫视,http://113.57.21.233:8666/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0 93 | 湖北垄上,http://113.57.21.233:8666/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0 94 | 湖北影视,http://113.57.21.233:8666/tsfile/live/1016_1.m3u8?key=txiptv&playlive=1&authid=0 95 | 湖北经视,http://113.57.21.233:8666/tsfile/live/1017_1.m3u8?key=txiptv&playlive=1&authid=0 96 | 足球,http://113.57.21.233:8666/tsfile/live/1019_1.m3u8?key=txiptv&playlive=1&authid=0 97 | 电视剧,http://113.57.21.233:8666/tsfile/live/1020_1.m3u8?key=txiptv&playlive=1&authid=0 98 | IPTV,http://113.57.21.233:8666/tsfile/live/1021_1.m3u8?key=txiptv&playlive=1&authid=0 99 | -------------------------------------------------------------------------------- /temp/hunan.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://113.218.218.97:8001/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://113.218.218.97:8001/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://113.218.218.97:8001/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://113.218.218.97:8001/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://113.218.218.97:8001/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://113.218.218.97:8001/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV8,http://113.218.218.97:8001/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV9,http://113.218.218.97:8001/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV11,http://113.218.218.97:8001/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV12,http://113.218.218.97:8001/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV13,http://113.218.218.97:8001/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV14,http://113.218.218.97:8001/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV15,http://113.218.218.97:8001/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV5+,http://113.218.218.97:8001/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0 15 | 湖南卫视,http://113.218.218.97:8001/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 16 | 湖南都市,http://113.218.218.97:8001/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 17 | 湖南娱乐,http://113.218.218.97:8001/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 湖南金鹰卡通,http://113.218.218.97:8001/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 江苏卫视,http://113.218.218.97:8001/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 安徽卫视,http://113.218.218.97:8001/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 北京卫视,http://113.218.218.97:8001/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 天津卫视,http://113.218.218.97:8001/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 江西卫视,http://113.218.218.97:8001/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 深圳卫视,http://113.218.218.97:8001/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 辽宁卫视,http://113.218.218.97:8001/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 东南卫视,http://113.218.218.97:8001/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 广东卫视,http://113.218.218.97:8001/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 广西卫视,http://113.218.218.97:8001/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 山东卫视,http://113.218.218.97:8001/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 四川卫视,http://113.218.218.97:8001/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 重庆卫视,http://113.218.218.97:8001/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 云南卫视,http://113.218.218.97:8001/tsfile/live/0119_2.m3u8?key=txiptv&playlive=1&authid=0 33 | 河南卫视,http://113.218.218.97:8001/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 音乐,http://113.218.218.97:8001/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 海南,http://113.218.218.97:8001/tsfile/live/0131_2.m3u8?key=txiptv&playlive=1&authid=0 36 | CCTV9,http://192.168.20.200:8008/paiptv/CCTV9.m3u8 37 | CCTV10,http://192.168.20.200:8008/paiptv/CCTV10.m3u8 38 | CCTV11,http://192.168.20.200:8008/paiptv/CCTV11.m3u8 39 | CCTV12,http://192.168.20.200:8008/paiptv/CCTV12.m3u8 40 | CCTV13,http://192.168.20.200:8008/paiptv/CCTV13.m3u8 41 | CCTV15,http://192.168.20.200:8008/paiptv/CCTV15.m3u8 42 | CCTV16,http://192.168.20.200:8008/paiptv/CCTV16.m3u8 43 | CCTV17农业,http://192.168.20.200:8008/paiptv/CCTV17.m3u8 44 | 先锋乒羽,http://192.168.20.200:8008/paiptv/XFPY.m3u8 45 | 新闻综合,http://192.168.20.200:8008/paiptv/XWZH.m3u8 46 | 浙江卫视,http://192.168.20.200:8008/paiptv/ZJTV.m3u8 47 | 江苏卫视,http://192.168.20.200:8008/paiptv/JSTV.m3u8 48 | 北京卫视,http://192.168.20.200:8008/paiptv/BJTV.m3u8 49 | 深圳卫视,http://192.168.20.200:8008/paiptv/SZWS.m3u8 50 | 广东卫视,http://192.168.20.200:8008/paiptv/GDTV.m3u8 51 | 上海卫视,http://192.168.20.200:8008/paiptv/DFTV.m3u8 52 | 湖北卫视,http://192.168.20.200:8008/paiptv/HBTV.m3u8 53 | 安徽卫视,http://192.168.20.200:8008/paiptv/AHTV.m3u8 54 | -------------------------------------------------------------------------------- /temp/iptv_sort.py: -------------------------------------------------------------------------------- 1 | import re 2 | # 读取iptv.txt文件,提取频道信息 3 | channels = [] 4 | with open('IPTV.txt', 'r', encoding='utf-8') as file: 5 | for line in file: 6 | line = line.strip() 7 | if line: 8 | channel, address = line.split(',') 9 | channels.append((channel, address)) 10 | # 对频道进行排序 11 | channels.sort() 12 | # 自定义排序函数,提取频道名称中的数字并按数字排序 13 | def channel_key(channel): 14 | match = re.search(r'\d+', channel) 15 | if match: 16 | return int(match.group()) 17 | else: 18 | return float('inf') # 返回一个无穷大的数字作为关键字 19 | 20 | # 对频道进行排序 21 | channels.sort(key=lambda x: channel_key(x[0])) 22 | 23 | # 生成iptv_list.txt文件 24 | with open('iptv_sort.txt', 'w', encoding='utf-8') as file: 25 | file.write('央视频道,#genre#\n') 26 | for channel, address in channels: 27 | if 'cctv' in channel.lower(): 28 | file.write(f'{channel},{address}\n') 29 | file.write('卫视频道,#genre#\n') 30 | for channel, address in channels: 31 | if '卫视' in channel: 32 | file.write(f'{channel},{address}\n') 33 | file.write('其他频道,#genre#\n') 34 | for channel, address in channels: 35 | if 'cctv' not in channel.lower() and '卫视' not in channel: 36 | file.write(f'{channel},{address}\n') 37 | -------------------------------------------------------------------------------- /temp/itvtest(1080).py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import time 4 | import datetime 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | error_channels = [] 19 | 20 | with open("itv.txt", 'r', encoding='utf-8') as file: 21 | lines = file.readlines() 22 | for line in lines: 23 | line = line.strip() 24 | if line: 25 | channel_name, channel_url = line.split(',') 26 | channels.append((channel_name, channel_url)) 27 | 28 | # 定义工作线程函数 29 | def worker(): 30 | while True: 31 | # 从队列中获取一个任务 32 | channel_name, channel_url = task_queue.get() 33 | try: 34 | response = requests.get(channel_url, timeout=1) 35 | if response.status_code == 200: 36 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 37 | lines = requests.get(channel_url,timeout=1).text.strip().split('\n') # 获取m3u8文件内容 38 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 39 | 40 | file_size = 0 41 | start_time = time.time() 42 | # 多获取的视频数据进行12秒钟限制 43 | with eventlet.Timeout(12, False): 44 | for i in range(len(ts_lists)): 45 | ts_url = channel_url_t + ts_lists[i] # 拼接单个视频片段下载链接 46 | response = requests.get(ts_url, stream=True, timeout=1) 47 | for chunk in response.iter_content(chunk_size=1024): 48 | if chunk: 49 | file_size += len(chunk) 50 | response.close() 51 | end_time = time.time() 52 | response_time = end_time - start_time 53 | if response_time >=12: 54 | file_size = 0 55 | download_speed = file_size / response_time / 1024 56 | normalized_speed =download_speed / 1024 # 将速率从kB/s转换为MB/s 57 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 58 | if normalized_speed >= 1: 59 | if file_size >= 12000000: 60 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 61 | results.append(result) 62 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 63 | print(f"可用频道:{len(results)} , 网速:{normalized_speed:.3f} MB/s , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 64 | else: 65 | error_channel = channel_name, channel_url 66 | error_channels.append(error_channel) 67 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 68 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} , 网速:{normalized_speed:.3f} MB/s , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 69 | else: 70 | error_channel = channel_name, channel_url 71 | error_channels.append(error_channel) 72 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 73 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} , 网速:{normalized_speed:.3f} MB/s , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 74 | else: 75 | error_channel = channel_name, channel_url 76 | error_channels.append(error_channel) 77 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 78 | print( 79 | f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 80 | except: 81 | error_channel = channel_name, channel_url 82 | error_channels.append(error_channel) 83 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 84 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 85 | 86 | # 标记任务完成 87 | task_queue.task_done() 88 | 89 | 90 | # 创建多个工作线程 91 | num_threads = 10 92 | for _ in range(num_threads): 93 | t = threading.Thread(target=worker, daemon=True) 94 | t.start() 95 | 96 | # 添加下载任务到队列 97 | for channel in channels: 98 | task_queue.put(channel) 99 | 100 | # 等待所有任务完成 101 | task_queue.join() 102 | 103 | 104 | def channel_key(channel_name): 105 | match = re.search(r'\d+', channel_name) 106 | if match: 107 | return int(match.group()) 108 | else: 109 | return float('inf') # 返回一个无穷大的数字作为关键字 110 | 111 | # 对频道进行排序 112 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 113 | results.sort(key=lambda x: channel_key(x[0])) 114 | now_today = datetime.date.today() 115 | # 将结果写入文件 116 | with open("itv_results.txt", 'w', encoding='utf-8') as file: 117 | for result in results: 118 | channel_name, channel_url, speed = result 119 | file.write(f"{channel_name},{channel_url},{speed}\n") 120 | 121 | with open("itv_speed.txt", 'w', encoding='utf-8') as file: 122 | for result in results: 123 | channel_name, channel_url, speed = result 124 | file.write(f"{channel_name},{channel_url}\n") 125 | 126 | 127 | result_counter = 8 # 每个频道需要的个数 128 | 129 | with open("itvlist.txt", 'w', encoding='utf-8') as file: 130 | channel_counters = {} 131 | file.write('央视频道,#genre#\n') 132 | for result in results: 133 | channel_name, channel_url, speed = result 134 | if 'CCTV' in channel_name: 135 | if channel_name in channel_counters: 136 | if channel_counters[channel_name] >= result_counter: 137 | continue 138 | else: 139 | file.write(f"{channel_name},{channel_url}\n") 140 | channel_counters[channel_name] += 1 141 | else: 142 | file.write(f"{channel_name},{channel_url}\n") 143 | channel_counters[channel_name] = 1 144 | channel_counters = {} 145 | file.write('卫视频道,#genre#\n') 146 | for result in results: 147 | channel_name, channel_url, speed = result 148 | if '卫视' in channel_name: 149 | if channel_name in channel_counters: 150 | if channel_counters[channel_name] >= result_counter: 151 | continue 152 | else: 153 | file.write(f"{channel_name},{channel_url}\n") 154 | channel_counters[channel_name] += 1 155 | else: 156 | file.write(f"{channel_name},{channel_url}\n") 157 | channel_counters[channel_name] = 1 158 | channel_counters = {} 159 | file.write('其他频道,#genre#\n') 160 | for result in results: 161 | channel_name, channel_url, speed = result 162 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 163 | if channel_name in channel_counters: 164 | if channel_counters[channel_name] >= result_counter: 165 | continue 166 | else: 167 | file.write(f"{channel_name},{channel_url}\n") 168 | channel_counters[channel_name] += 1 169 | else: 170 | file.write(f"{channel_name},{channel_url}\n") 171 | channel_counters[channel_name] = 1 172 | 173 | file.write(f"{now_today}更新,#genre#\n") 174 | 175 | -------------------------------------------------------------------------------- /temp/itvtest.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import time 4 | import datetime 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | error_channels = [] 19 | 20 | with open("itv.txt", 'r', encoding='utf-8') as file: 21 | lines = file.readlines() 22 | for line in lines: 23 | line = line.strip() 24 | if line: 25 | channel_name, channel_url = line.split(',') 26 | #if '卫视' in channel_name or 'CCTV' in channel_name or '农民' in channel_name or '戏曲' in channel_name or '梨园' in channel_name: 27 | channels.append((channel_name, channel_url)) 28 | 29 | # 定义工作线程函数 30 | def worker(): 31 | while True: 32 | # 从队列中获取一个任务 33 | channel_name, channel_url = task_queue.get() 34 | try: 35 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 36 | lines = requests.get(channel_url,timeout=1).text.strip().split('\n') # 获取m3u8文件内容 37 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 38 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 39 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 40 | 41 | # 多获取的视频数据进行5秒钟限制 42 | with eventlet.Timeout(5, False): 43 | start_time = time.time() 44 | content = requests.get(ts_url,timeout=1).content 45 | end_time = time.time() 46 | response_time = (end_time - start_time) * 1 47 | 48 | if content: 49 | with open(ts_lists_0, 'ab') as f: 50 | f.write(content) # 写入文件 51 | file_size = len(content) 52 | # print(f"文件大小:{file_size} 字节") 53 | download_speed = file_size / response_time / 1024 54 | # print(f"下载速度:{download_speed:.3f} kB/s") 55 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 56 | #print(f"标准化后的速率:{normalized_speed:.3f} MB/s") 57 | 58 | # 删除下载的文件 59 | os.remove(ts_lists_0) 60 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 61 | results.append(result) 62 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 63 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 64 | except: 65 | error_channel = channel_name, channel_url 66 | error_channels.append(error_channel) 67 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 68 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 69 | 70 | # 标记任务完成 71 | task_queue.task_done() 72 | 73 | 74 | # 创建多个工作线程 75 | num_threads = 10 76 | for _ in range(num_threads): 77 | t = threading.Thread(target=worker, daemon=True) 78 | t.start() 79 | 80 | # 添加下载任务到队列 81 | for channel in channels: 82 | task_queue.put(channel) 83 | 84 | # 等待所有任务完成 85 | task_queue.join() 86 | 87 | 88 | def channel_key(channel_name): 89 | match = re.search(r'\d+', channel_name) 90 | if match: 91 | return int(match.group()) 92 | else: 93 | return float('inf') # 返回一个无穷大的数字作为关键字 94 | 95 | # 对频道进行排序 96 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 97 | results.sort(key=lambda x: channel_key(x[0])) 98 | now_today = datetime.date.today() 99 | # 将结果写入文件 100 | with open("itv_results.txt", 'w', encoding='utf-8') as file: 101 | for result in results: 102 | channel_name, channel_url, speed = result 103 | file.write(f"{channel_name},{channel_url},{speed}\n") 104 | 105 | with open("itv_speed.txt", 'w', encoding='utf-8') as file: 106 | for result in results: 107 | channel_name, channel_url, speed = result 108 | file.write(f"{channel_name},{channel_url}\n") 109 | 110 | 111 | result_counter = 8 # 每个频道需要的个数 112 | 113 | with open("itvlist.txt", 'w', encoding='utf-8') as file: 114 | channel_counters = {} 115 | file.write('央视频道,#genre#\n') 116 | for result in results: 117 | channel_name, channel_url, speed = result 118 | if 'CCTV' in channel_name: 119 | if channel_name in channel_counters: 120 | if channel_counters[channel_name] >= result_counter: 121 | continue 122 | else: 123 | file.write(f"{channel_name},{channel_url}\n") 124 | channel_counters[channel_name] += 1 125 | else: 126 | file.write(f"{channel_name},{channel_url}\n") 127 | channel_counters[channel_name] = 1 128 | channel_counters = {} 129 | file.write('卫视频道,#genre#\n') 130 | for result in results: 131 | channel_name, channel_url, speed = result 132 | if '卫视' in channel_name: 133 | if channel_name in channel_counters: 134 | if channel_counters[channel_name] >= result_counter: 135 | continue 136 | else: 137 | file.write(f"{channel_name},{channel_url}\n") 138 | channel_counters[channel_name] += 1 139 | else: 140 | file.write(f"{channel_name},{channel_url}\n") 141 | channel_counters[channel_name] = 1 142 | channel_counters = {} 143 | file.write('其他频道,#genre#\n') 144 | for result in results: 145 | channel_name, channel_url, speed = result 146 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 147 | if channel_name in channel_counters: 148 | if channel_counters[channel_name] >= result_counter: 149 | continue 150 | else: 151 | file.write(f"{channel_name},{channel_url}\n") 152 | channel_counters[channel_name] += 1 153 | else: 154 | file.write(f"{channel_name},{channel_url}\n") 155 | channel_counters[channel_name] = 1 156 | 157 | file.write(f"{now_today}更新,#genre#\n") 158 | 159 | 160 | with open("itvlist.m3u", 'w', encoding='utf-8') as file: 161 | channel_counters = {} 162 | file.write('#EXTM3U\n') 163 | for result in results: 164 | channel_name, channel_url, speed = result 165 | if 'CCTV' in channel_name: 166 | if channel_name in channel_counters: 167 | if channel_counters[channel_name] >= result_counter: 168 | continue 169 | else: 170 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 171 | file.write(f"{channel_url}\n") 172 | channel_counters[channel_name] += 1 173 | else: 174 | file.write(f"#EXTINF:-1 group-title=\"央视频道\",{channel_name}\n") 175 | file.write(f"{channel_url}\n") 176 | channel_counters[channel_name] = 1 177 | channel_counters = {} 178 | #file.write('卫视频道,#genre#\n') 179 | for result in results: 180 | channel_name, channel_url, speed = result 181 | if '卫视' in channel_name: 182 | if channel_name in channel_counters: 183 | if channel_counters[channel_name] >= result_counter: 184 | continue 185 | else: 186 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 187 | file.write(f"{channel_url}\n") 188 | channel_counters[channel_name] += 1 189 | else: 190 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 191 | file.write(f"{channel_url}\n") 192 | channel_counters[channel_name] = 1 193 | channel_counters = {} 194 | #file.write('其他频道,#genre#\n') 195 | for result in results: 196 | channel_name, channel_url, speed = result 197 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 198 | if channel_name in channel_counters: 199 | if channel_counters[channel_name] >= result_counter: 200 | continue 201 | else: 202 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 203 | file.write(f"{channel_url}\n") 204 | channel_counters[channel_name] += 1 205 | else: 206 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 207 | file.write(f"{channel_url}\n") 208 | channel_counters[channel_name] = 1 209 | 210 | file.write(f"#EXTINF:-1 group-title=\"{now_today}更新\"\n") 211 | -------------------------------------------------------------------------------- /temp/jiangxi.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://171.35.124.21:10011/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0 2 | CCTV2,http://171.35.124.21:10011/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0 3 | CCTV3,http://171.35.124.21:10011/tsfile/live/0003_1.m3u8?key=txiptv&playlive=0&authid=0 4 | CCTV4,http://171.35.124.21:10011/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0 5 | CCTV5,http://171.35.124.21:10011/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0 6 | CCTV6,http://171.35.124.21:10011/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0 7 | CCTV7,http://171.35.124.21:10011/tsfile/live/0007_1.m3u8?key=txiptv&playlive=0&authid=0 8 | CCTV8,http://171.35.124.21:10011/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0 9 | CCTV9,http://171.35.124.21:10011/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0 10 | CCTV10,http://171.35.124.21:10011/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0 11 | CCTV11,http://171.35.124.21:10011/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0 12 | CCTV12,http://171.35.124.21:10011/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0 13 | CCTV13,http://171.35.124.21:10011/tsfile/live/0013_1.m3u8?key=txiptv&playlive=0&authid=0 14 | CCTV14,http://171.35.124.21:10011/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0 15 | CCTV15,http://171.35.124.21:10011/tsfile/live/0015_1.m3u8?key=txiptv&playlive=0&authid=0 16 | 东方卫视,http://171.35.124.21:10011/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0 17 | 浙江卫视,http://171.35.124.21:10011/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0 18 | 湖南卫视,http://171.35.124.21:10011/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0 19 | 江苏卫视,http://171.35.124.21:10011/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0 20 | 北京卫视,http://171.35.124.21:10011/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0 21 | 安徽卫视,http://171.35.124.21:10011/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0 22 | 山东卫视,http://171.35.124.21:10011/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0 23 | 深圳卫视,http://171.35.124.21:10011/tsfile/live/0126_1.m3u8?key=txiptv&playlive=0&authid=0 24 | 广东卫视,http://171.35.124.21:10011/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0 25 | 湖北卫视,http://171.35.124.21:10011/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0 26 | 天津卫视,http://171.35.124.21:10011/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0 27 | 旅游卫视,http://171.35.124.21:10011/tsfile/live/0114_1.m3u8?key=txiptv&playlive=0&authid=0 28 | 辽宁卫视,http://171.35.124.21:10011/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0 29 | 吉林卫视,http://171.35.124.21:10011/tsfile/live/0116_1.m3u8?key=txiptv&playlive=0&authid=0 30 | 四川卫视,http://171.35.124.21:10011/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0 31 | 山西卫视,http://171.35.124.21:10011/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0 32 | 东南卫视,http://171.35.124.21:10011/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0 33 | 重庆卫视,http://171.35.124.21:10011/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0 34 | 江西卫视,http://171.35.124.21:10011/tsfile/live/0138_1.m3u8?key=txiptv&playlive=0&authid=0 35 | 河南卫视,http://171.35.124.21:10011/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0 36 | 河北卫视,http://171.35.124.21:10011/tsfile/live/0117_1.m3u8?key=txiptv&playlive=0&authid=0 37 | 黑龙江卫视,http://171.35.124.21:10011/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0 38 | 云南卫视,http://171.35.124.21:10011/tsfile/live/0119_1.m3u8?key=txiptv&playlive=0&authid=0 39 | -------------------------------------------------------------------------------- /temp/liaoning.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/temp/liaoning.txt -------------------------------------------------------------------------------- /temp/qita.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import time 4 | import datetime 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | error_channels = [] 19 | 20 | with open("itv.txt", 'r', encoding='utf-8') as file: 21 | lines = file.readlines() 22 | for line in lines: 23 | line = line.strip() 24 | if line: 25 | channel_name, channel_url = line.split(',') 26 | if '卫视' not in channel_name and 'CCTV' not in channel_name and '测试' not in channel_name: 27 | channels.append((channel_name, channel_url)) 28 | 29 | # 定义工作线程函数 30 | def worker(): 31 | while True: 32 | # 从队列中获取一个任务 33 | channel_name, channel_url = task_queue.get() 34 | try: 35 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 36 | lines = requests.get(channel_url,timeout=1).text.strip().split('\n') # 获取m3u8文件内容 37 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 38 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 39 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 40 | 41 | # 多获取的视频数据进行5秒钟限制 42 | with eventlet.Timeout(5, False): 43 | start_time = time.time() 44 | content = requests.get(ts_url,timeout=1).content 45 | end_time = time.time() 46 | response_time = (end_time - start_time) * 1 47 | 48 | if content: 49 | with open(ts_lists_0, 'ab') as f: 50 | f.write(content) # 写入文件 51 | file_size = len(content) 52 | # print(f"文件大小:{file_size} 字节") 53 | download_speed = file_size / response_time / 1024 54 | # print(f"下载速度:{download_speed:.3f} kB/s") 55 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 56 | #print(f"标准化后的速率:{normalized_speed:.3f} MB/s") 57 | 58 | # 删除下载的文件 59 | os.remove(ts_lists_0) 60 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 61 | results.append(result) 62 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 63 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 64 | except: 65 | error_channel = channel_name, channel_url 66 | error_channels.append(error_channel) 67 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 68 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 69 | 70 | # 标记任务完成 71 | task_queue.task_done() 72 | 73 | 74 | # 创建多个工作线程 75 | num_threads = 10 76 | for _ in range(num_threads): 77 | t = threading.Thread(target=worker, daemon=True) 78 | #t = threading.Thread(target=worker, args=(event,len(channels))) # 将工作线程设置为守护线程 79 | t.start() 80 | #event.set() 81 | 82 | # 添加下载任务到队列 83 | for channel in channels: 84 | task_queue.put(channel) 85 | 86 | # 等待所有任务完成 87 | task_queue.join() 88 | 89 | 90 | def channel_key(channel_name): 91 | match = re.search(r'\d+', channel_name) 92 | if match: 93 | return int(match.group()) 94 | else: 95 | return float('inf') # 返回一个无穷大的数字作为关键字 96 | 97 | # 对频道进行排序 98 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 99 | #results.sort(key=lambda x: channel_key(x[0])) 100 | now_today = datetime.date.today() 101 | # 将结果写入文件 102 | 103 | result_counter = 8 # 每个频道需要的个数 104 | 105 | with open("qita.txt", 'w', encoding='utf-8') as file: 106 | channel_counters = {} 107 | file.write('其他频道,#genre#\n') 108 | for result in results: 109 | channel_name, channel_url, speed = result 110 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 111 | if channel_name in channel_counters: 112 | if channel_counters[channel_name] >= result_counter: 113 | continue 114 | else: 115 | file.write(f"{channel_name},{channel_url}\n") 116 | channel_counters[channel_name] += 1 117 | else: 118 | file.write(f"{channel_name},{channel_url}\n") 119 | channel_counters[channel_name] = 1 120 | 121 | file.write(f"{now_today}更新,#genre#\n") 122 | 123 | with open("qita.m3u", 'w', encoding='utf-8') as file: 124 | channel_counters = {} 125 | #file.write('其他频道,#genre#\n') 126 | for result in results: 127 | channel_name, channel_url, speed = result 128 | if 'CCTV' not in channel_name and '卫视' not in channel_name and '测试' not in channel_name: 129 | if channel_name in channel_counters: 130 | if channel_counters[channel_name] >= result_counter: 131 | continue 132 | else: 133 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 134 | file.write(f"{channel_url}\n") 135 | channel_counters[channel_name] += 1 136 | else: 137 | file.write(f"#EXTINF:-1 group-title=\"其他频道\",{channel_name}\n") 138 | file.write(f"{channel_url}\n") 139 | channel_counters[channel_name] = 1 140 | 141 | file.write(f"#EXTINF:-1 group-title=\"{now_today}更新\"\n") 142 | 143 | 144 | # 合并文件内容 145 | file_contents = [] 146 | file_paths = ["cctv.txt", "weishi.txt", "qita.txt"] # 替换为实际的文件路径列表 147 | for file_path in file_paths: 148 | with open(file_path, 'r', encoding="utf-8") as file: 149 | content = file.read() 150 | file_contents.append(content) 151 | 152 | # 写入合并后的文件 153 | with open("itvlist.txt", "w", encoding="utf-8") as output: 154 | output.write('\n'.join(file_contents)) 155 | 156 | # 合并文件内容 157 | file_contents = [] 158 | file_paths = ["cctv.m3u", "weishi.m3u", "qita.m3u"] # 替换为实际的文件路径列表 159 | for file_path in file_paths: 160 | with open(file_path, 'r', encoding="utf-8") as file: 161 | content = file.read() 162 | file_contents.append(content) 163 | 164 | # 写入合并后的文件 165 | with open("itvlist.m3u", "w", encoding="utf-8") as output: 166 | output.write('\n'.join(file_contents)) 167 | 168 | -------------------------------------------------------------------------------- /temp/readme: -------------------------------------------------------------------------------- 1 | 以前文件 2 | -------------------------------------------------------------------------------- /temp/run.py: -------------------------------------------------------------------------------- 1 | import os 2 | import itv 3 | import itvtest 4 | 5 | os.system('itv.py') 6 | os.system('itvtest.py') 7 | -------------------------------------------------------------------------------- /temp/shaanxi.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://219.145.93.74:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://219.145.93.74:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://219.145.93.74:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://219.145.93.74:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://219.145.93.74:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://219.145.93.74:9901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV7,http://219.145.93.74:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV8,http://219.145.93.74:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV9,http://219.145.93.74:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV10,http://219.145.93.74:9901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV11,http://219.145.93.74:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV12,http://219.145.93.74:9901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV13,http://219.145.93.74:9901/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV14,http://219.145.93.74:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV15,http://219.145.93.74:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | 陕西卫视,http://219.145.93.74:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 17 | 陕西一套,http://219.145.93.74:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 陕西二套,http://219.145.93.74:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 西安二套,http://219.145.93.74:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 湖南卫视,http://219.145.93.74:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 上海卫视,http://219.145.93.74:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 浙江卫视,http://219.145.93.74:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 广东卫视,http://219.145.93.74:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 北京卫视,http://219.145.93.74:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 江苏卫视,http://219.145.93.74:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 黑龙江卫视,http://219.145.93.74:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 山东卫视,http://219.145.93.74:9901/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 深圳卫视,http://219.145.93.74:9901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 安徽卫视,http://219.145.93.74:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 四川卫视,http://219.145.93.74:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 重庆卫视,http://219.145.93.74:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 东南卫视,http://219.145.93.74:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 河南卫视,http://219.145.93.74:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 山西卫视,http://219.145.93.74:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 江西卫视,http://219.145.93.74:9901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 贵州卫视,http://219.145.93.74:9901/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 吉林卫视,http://219.145.93.74:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 海南卫视,http://219.145.93.74:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 宁夏卫视,http://219.145.93.74:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 辽宁卫视,http://219.145.93.74:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 广西卫视,http://219.145.93.74:9901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 青海卫视,http://219.145.93.74:9901/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 西藏卫视,http://219.145.93.74:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 44 | CCTV1,http://123.138.216.44:9902/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 45 | CCTV2,http://123.138.216.44:9902/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 46 | CCTV3,http://123.138.216.44:9902/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 47 | CCTV4,http://123.138.216.44:9902/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 48 | CCTV5,http://123.138.216.44:9902/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 49 | CCTV6,http://123.138.216.44:9902/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 50 | CCTV7,http://123.138.216.44:9902/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 51 | CCTV8,http://123.138.216.44:9902/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 52 | CCTV9,http://123.138.216.44:9902/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 53 | CCTV10,http://123.138.216.44:9902/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 54 | CCTV11,http://123.138.216.44:9902/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 55 | CCTV12,http://123.138.216.44:9902/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 56 | CCTV13,http://123.138.216.44:9902/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 57 | CCTV14,http://123.138.216.44:9902/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 58 | CCTV15,http://123.138.216.44:9902/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 59 | CCTV5+,http://123.138.216.44:9902/tsfile/live/0016_1.m3u8?key=txiptv&playlive=1&authid=0 60 | 陕西卫视,http://123.138.216.44:9902/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 61 | 北京卫视,http://123.138.216.44:9902/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 62 | 上海卫视,http://123.138.216.44:9902/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 63 | 江苏卫视,http://123.138.216.44:9902/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 64 | 安徽卫视,http://123.138.216.44:9902/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 65 | 深圳卫视,http://123.138.216.44:9902/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 66 | 浙江卫视,http://123.138.216.44:9902/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 67 | 贵州卫视,http://123.138.216.44:9902/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 68 | 天津卫视,http://123.138.216.44:9902/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 69 | 广东卫视,http://123.138.216.44:9902/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 70 | 黑龙江卫视,http://123.138.216.44:9902/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 71 | 吉林卫视,http://123.138.216.44:9902/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 72 | 湖南卫视,http://123.138.216.44:9902/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 73 | 河南卫视,http://123.138.216.44:9902/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 74 | 江西卫视,http://123.138.216.44:9902/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 75 | 四川卫视,http://123.138.216.44:9902/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 76 | 重庆卫视,http://123.138.216.44:9902/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 77 | 重庆卫视,http://123.138.216.44:9902/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 78 | 山西卫视,http://123.138.216.44:9902/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 79 | 宁夏卫视,http://123.138.216.44:9902/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 80 | 青海卫视,http://123.138.216.44:9902/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 81 | 甘肃卫视,http://123.138.216.44:9902/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 82 | 旅游卫视,http://123.138.216.44:9902/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0 83 | 东奥纪实,http://123.138.216.44:9902/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 84 | 东南卫视,http://123.138.216.44:9902/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 85 | CCTV1,http://113.140.69.126:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0 86 | CCTV2,http://113.140.69.126:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0 87 | CCTV3,http://113.140.69.126:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=0&authid=0 88 | CCTV5,http://113.140.69.126:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0 89 | CCTV6,http://113.140.69.126:9901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0 90 | CCTV7,http://113.140.69.126:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=0&authid=0 91 | CCTV8,http://113.140.69.126:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0 92 | CCTV9,http://113.140.69.126:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0 93 | CCTV10,http://113.140.69.126:9901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0 94 | CCTV11,http://113.140.69.126:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0 95 | CCTV12,http://113.140.69.126:9901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0 96 | CCTV13,http://113.140.69.126:9901/tsfile/live/0013_1.m3u8?key=txiptv&playlive=0&authid=0 97 | CCTV14,http://113.140.69.126:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0 98 | CCTV15,http://113.140.69.126:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=0&authid=0 99 | CCTV5+,http://113.140.69.126:9901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=0&authid=0 100 | 北京卫视,http://113.140.69.126:9901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0 101 | 陕西西部影视,http://113.140.69.126:9901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0 102 | 重庆卫视,http://113.140.69.126:9901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0 103 | 上海卫视,http://113.140.69.126:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0 104 | 内蒙古卫视,http://113.140.69.126:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=0&authid=0 105 | 湖南卫视,http://113.140.69.126:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=0&authid=0 106 | 江苏卫视,http://113.140.69.126:9901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0 107 | 浙江卫视,http://113.140.69.126:9901/tsfile/live/0124_1.m3u8?key=txiptv&playlive=0&authid=0 108 | 广东卫视,http://113.140.69.126:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0 109 | 天津卫视,http://113.140.69.126:9901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0 110 | 山东卫视,http://113.140.69.126:9901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0 111 | 东南卫视,http://113.140.69.126:9901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0 112 | 河南卫视,http://113.140.69.126:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=0&authid=0 113 | 江西卫视,http://113.140.69.126:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=0&authid=0 114 | 吉林卫视,http://113.140.69.126:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=0&authid=0 115 | 山西卫视,http://113.140.69.126:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=0&authid=0 116 | 甘肃卫视,http://113.140.69.126:9901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0 117 | 云南卫视,http://113.140.69.126:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=0&authid=0 118 | 深圳卫视,http://113.140.69.126:9901/tsfile/live/0126_1.m3u8?key=txiptv&playlive=0&authid=0 119 | 四川卫视,http://113.140.69.126:9901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0 120 | 安徽卫视,http://113.140.69.126:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0 121 | 广西卫视,http://113.140.69.126:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0 122 | 辽宁卫视,http://113.140.69.126:9901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0 123 | 河北卫视,http://113.140.69.126:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=0&authid=0 124 | 湖北卫视,http://113.140.69.126:9901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0 125 | -------------------------------------------------------------------------------- /temp/shanghai.txt: -------------------------------------------------------------------------------- 1 | 新闻综合,http://116.234.54.1:7777/tsfile/live/1025_1.m3u8?key=txiptv&playlive=1&authid=0 2 | 东方卫视,http://116.234.54.1:7777/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 3 | 都市,http://116.234.54.1:7777/tsfile/live/1026_1.m3u8?key=txiptv&playlive=1&authid=0 4 | 纪实人文,http://116.234.54.1:7777/tsfile/live/1027_1.m3u8?key=txiptv&playlive=1&authid=0 5 | 东方影视,http://116.234.54.1:7777/tsfile/live/1028_1.m3u8?key=txiptv&playlive=1&authid=0 6 | 第一财经,http://116.234.54.1:7777/tsfile/live/1029_1.m3u8?key=txiptv&playlive=1&authid=0 7 | 五星体育,http://116.234.54.1:7777/tsfile/live/1030_1.m3u8?key=txiptv&playlive=1&authid=0 8 | 东方财经,http://116.234.54.1:7777/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0 9 | ICS,http://116.234.54.1:7777/tsfile/live/1032_1.m3u8?key=txiptv&playlive=1&authid=0 10 | 上海教育台,http://116.234.54.1:7777/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0 11 | 七彩戏剧,http://116.234.54.1:7777/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0 12 | 法治天地,http://116.234.54.1:7777/tsfile/live/1035_1.m3u8?key=txiptv&playlive=1&authid=0 13 | 金色学堂,http://116.234.54.1:7777/tsfile/live/1036_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV1,http://116.234.54.1:7777/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV2,http://116.234.54.1:7777/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 16 | CCTV3,http://116.234.54.1:7777/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 17 | CCTV4,http://116.234.54.1:7777/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 18 | CCTV5,http://116.234.54.1:7777/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 19 | CCTV5+,http://116.234.54.1:7777/tsfile/live/0016_1.m3u8?key=txiptv&playlive=1&authid=0 20 | CCTV6,http://116.234.54.1:7777/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 21 | CCTV7,http://116.234.54.1:7777/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 22 | CCTV8,http://116.234.54.1:7777/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 23 | CGTN,http://116.234.54.1:7777/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid=0 24 | CCTV9,http://116.234.54.1:7777/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 25 | CCTV10,http://116.234.54.1:7777/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 26 | CCTV11,http://116.234.54.1:7777/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 27 | CCTV12,http://116.234.54.1:7777/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 28 | CCTV13,http://116.234.54.1:7777/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 29 | CCTV14,http://116.234.54.1:7777/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 30 | CCTV15,http://116.234.54.1:7777/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 31 | CCTV16,http://116.234.54.1:7777/tsfile/live/1038_1.m3u8?key=txiptv&playlive=1&authid=0 32 | CCTV17,http://116.234.54.1:7777/tsfile/live/1039_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 财富天下,http://116.234.54.1:7777/tsfile/live/1040_1.m3u8?key=txiptv&playlive=1&authid=0 34 | CETV,http://116.234.54.1:7777/tsfile/live/1041_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 金鹰纪实,http://116.234.54.1:7777/tsfile/live/1042_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 纪实科教,http://116.234.54.1:7777/tsfile/live/1043_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 卡酷少儿,http://116.234.54.1:7777/tsfile/live/1044_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 金鹰卡通,http://116.234.54.1:7777/tsfile/live/1045_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 嘉佳卡通,http://116.234.54.1:7777/tsfile/live/1046_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 卡酷卡通,http://116.234.54.1:7777/tsfile/live/1047_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 快乐垂钓,http://116.234.54.1:7777/tsfile/live/1048_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 茶,http://116.234.54.1:7777/tsfile/live/1049_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 游戏风云,http://116.234.54.1:7777/tsfile/live/1050_1.m3u8?key=txiptv&playlive=1&authid=0 44 | 生活时尚,http://116.234.54.1:7777/tsfile/live/1051_1.m3u8?key=txiptv&playlive=1&authid=0 45 | 动漫秀场,http://116.234.54.1:7777/tsfile/live/1052_1.m3u8?key=txiptv&playlive=1&authid=0 46 | 都市剧场,http://116.234.54.1:7777/tsfile/live/1053_1.m3u8?key=txiptv&playlive=1&authid=0 47 | 欢笑剧场,http://116.234.54.1:7777/tsfile/live/1054_1.m3u8?key=txiptv&playlive=1&authid=0 48 | 北京卫视,http://116.234.54.1:7777/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 49 | 江苏卫视,http://116.234.54.1:7777/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 50 | 浙江卫视,http://116.234.54.1:7777/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 51 | 湖南卫视,http://116.234.54.1:7777/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 52 | 山东卫视,http://116.234.54.1:7777/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0 53 | 黑龙江卫视,http://116.234.54.1:7777/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 54 | 安徽卫视,http://116.234.54.1:7777/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 55 | 天津卫视,http://116.234.54.1:7777/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 56 | 江西卫视,http://116.234.54.1:7777/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 57 | 辽宁卫视,http://116.234.54.1:7777/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 58 | 湖北卫视,http://116.234.54.1:7777/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 59 | 广东卫视,http://116.234.54.1:7777/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 60 | 深圳卫视,http://116.234.54.1:7777/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 61 | 东南卫视,http://116.234.54.1:7777/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 62 | 海南卫视,http://116.234.54.1:7777/tsfile/live/1055_1.m3u8?key=txiptv&playlive=1&authid=0 63 | 贵州卫视,http://116.234.54.1:7777/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 64 | 四川卫视,http://116.234.54.1:7777/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 65 | 重庆卫视,http://116.234.54.1:7777/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 66 | 河北卫视,http://116.234.54.1:7777/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0 67 | 内蒙古卫视,http://116.234.54.1:7777/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 68 | 河南卫视,http://116.234.54.1:7777/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 69 | 山西卫视,http://116.234.54.1:7777/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 70 | 陕西卫视,http://116.234.54.1:7777/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 71 | 甘肃卫视,http://116.234.54.1:7777/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 72 | 青海卫视,http://116.234.54.1:7777/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 73 | 云南卫视,http://116.234.54.1:7777/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 74 | 广西卫视,http://116.234.54.1:7777/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 75 | 宁夏卫视,http://116.234.54.1:7777/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 76 | 新疆卫视,http://116.234.54.1:7777/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0 77 | 西藏卫视,http://116.234.54.1:7777/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 78 | 吉林卫视,http://116.234.54.1:7777/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 79 | 三沙卫视,http://116.234.54.1:7777/tsfile/live/1056_1.m3u8?key=txiptv&playlive=1&authid=0 80 | 兵团卫视,http://116.234.54.1:7777/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0 81 | CCTV1,http://180.174.54.152:8801/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 82 | CCTV2,http://180.174.54.152:8801/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 83 | CCTV4,http://180.174.54.152:8801/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 84 | CCTV7,http://180.174.54.152:8801/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 85 | CCTV9,http://180.174.54.152:8801/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 86 | CCTV10,http://180.174.54.152:8801/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 87 | CCTV11,http://180.174.54.152:8801/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 88 | CCTV12,http://180.174.54.152:8801/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 89 | CCTV13,http://180.174.54.152:8801/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 90 | CCTV14,http://180.174.54.152:8801/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 91 | CCTV15,http://180.174.54.152:8801/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 92 | 东方卫视,http://180.174.54.152:8801/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 93 | 浙江卫视,http://180.174.54.152:8801/tsfile/live/0124_1.m3u8?key=txiptv&playlive=1&authid=0 94 | 江苏卫视,http://180.174.54.152:8801/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 95 | 湖南卫视,http://180.174.54.152:8801/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 96 | 北京卫视,http://180.174.54.152:8801/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 97 | 广东卫视,http://180.174.54.152:8801/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 98 | 深圳卫视,http://180.174.54.152:8801/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 99 | 山东卫视,http://180.174.54.152:8801/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0 100 | 湖北卫视,http://180.174.54.152:8801/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0 101 | 安徽卫视,http://180.174.54.152:8801/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 102 | 东南卫视,http://180.174.54.152:8801/tsfile/live/0137_1.m3u8?key=txiptv&playlive=1&authid=0 103 | 江西卫视,http://180.174.54.152:8801/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 104 | 辽宁卫视,http://180.174.54.152:8801/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 105 | 天津卫视,http://180.174.54.152:8801/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 106 | 四川卫视,http://180.174.54.152:8801/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 107 | 重庆卫视,http://180.174.54.152:8801/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 108 | 贵州卫视,http://180.174.54.152:8801/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 109 | 宁夏卫视,http://180.174.54.152:8801/tsfile/live/0112_1.m3u8?key=txiptv&playlive=1&authid=0 110 | 旅游卫视,http://180.174.54.152:8801/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0 111 | 广西卫视,http://180.174.54.152:8801/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 112 | 吉林卫视,http://180.174.54.152:8801/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 113 | 陕西卫视,http://180.174.54.152:8801/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 114 | 河北卫视,http://180.174.54.152:8801/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0 115 | 河南卫视,http://180.174.54.152:8801/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 116 | 青海卫视,http://180.174.54.152:8801/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0 117 | 西藏卫视,http://180.174.54.152:8801/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 118 | 云南卫视,http://180.174.54.152:8801/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 119 | 甘肃卫视,http://180.174.54.152:8801/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 120 | 新疆卫视,http://180.174.54.152:8801/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0 121 | 兵团卫视,http://180.174.54.152:8801/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0 122 | 三沙卫视,http://180.174.54.152:8801/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 123 | 内蒙古卫视,http://180.174.54.152:8801/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 124 | 黑龙江卫视,http://180.174.54.152:8801/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0 125 | 五星体育,http://180.174.54.152:8801/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 126 | 电视剧,http://180.174.54.152:8801/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 127 | 东方影视,http://180.174.54.152:8801/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 128 | 第一财经,http://180.174.54.152:8801/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0 129 | CCTV3,http://180.174.54.152:8801/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 130 | CCTV5,http://180.174.54.152:8801/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 131 | CCTV6,http://180.174.54.152:8801/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 132 | CCTV8,http://180.174.54.152:8801/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 133 | -------------------------------------------------------------------------------- /temp/tianjin.txt: -------------------------------------------------------------------------------- 1 | cctv1,http://111.161.149.122:9901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | cctv2,http://111.161.149.122:9901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | cctv3,http://111.161.149.122:9901/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | cctv4,http://111.161.149.122:9901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | cctv5,http://111.161.149.122:9901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | cctv6,http://111.161.149.122:9901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | cctv7,http://111.161.149.122:9901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | cctv8,http://111.161.149.122:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | cctv9,http://111.161.149.122:9901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | cctv10,http://111.161.149.122:9901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | cctv11,http://111.161.149.122:9901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | cctv12,http://111.161.149.122:9901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | cctv13,http://111.161.149.122:9901/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | cctv14,http://111.161.149.122:9901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | cctv15,http://111.161.149.122:9901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | 天津卫视台,http://111.161.149.122:9901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=1&authid=0 17 | 天津新闻台,http://111.161.149.122:9901/tsfile/live/0017_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 天津文艺台,http://111.161.149.122:9901/tsfile/live/0018_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 天津影视台,http://111.161.149.122:9901/tsfile/live/0019_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 天津都市台,http://111.161.149.122:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 天津体育台,http://111.161.149.122:9901/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 天津科教台,http://111.161.149.122:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 天津少儿台,http://111.161.149.122:9901/tsfile/live/1003_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 天津公共台,http://111.161.149.122:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 广东卫视,http://111.161.149.122:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 甘肃卫视,http://111.161.149.122:9901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 旅游卫视,http://111.161.149.122:9901/tsfile/live/0114_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 内蒙古卫视,http://111.161.149.122:9901/tsfile/live/0109_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 浙江卫视,http://111.161.149.122:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 30 | 湖南卫视,http://111.161.149.122:9901/tsfile/live/1007_1.m3u8?key=txiptv&playlive=1&authid=0 31 | 新疆卫视,http://111.161.149.122:9901/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0 32 | 湖北卫视,http://111.161.149.122:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0 33 | 四川卫视,http://111.161.149.122:9901/tsfile/live/1009_1.m3u8?key=txiptv&playlive=1&authid=0 34 | 江西卫视,http://111.161.149.122:9901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0 35 | 辽宁卫视,http://111.161.149.122:9901/tsfile/live/1010_1.m3u8?key=txiptv&playlive=1&authid=0 36 | 陕西卫视,http://111.161.149.122:9901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0 37 | 安徽卫视,http://111.161.149.122:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 38 | 深圳卫视,http://111.161.149.122:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0 39 | 吉林卫视,http://111.161.149.122:9901/tsfile/live/0116_1.m3u8?key=txiptv&playlive=1&authid=0 40 | 东方卫视,http://111.161.149.122:9901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 41 | 卡酷卡通,http://111.161.149.122:9901/tsfile/live/1013_1.m3u8?key=txiptv&playlive=1&authid=0 42 | 北京卫视,http://111.161.149.122:9901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0 43 | 金鹰卡通,http://111.161.149.122:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0 44 | 河北卫视,http://111.161.149.122:9901/tsfile/live/0117_1.m3u8?key=txiptv&playlive=1&authid=0 45 | 山西卫视,http://111.161.149.122:9901/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0 46 | 西藏卫视,http://111.161.149.122:9901/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 47 | 江苏卫视,http://111.161.149.122:9901/tsfile/live/1015_1.m3u8?key=txiptv&playlive=1&authid=0 48 | 河南卫视,http://111.161.149.122:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0 49 | -------------------------------------------------------------------------------- /temp/weishi.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import time 4 | import datetime 5 | import threading 6 | from queue import Queue 7 | import requests 8 | import eventlet 9 | eventlet.monkey_patch() 10 | 11 | # 线程安全的队列,用于存储下载任务 12 | task_queue = Queue() 13 | 14 | # 线程安全的列表,用于存储结果 15 | results = [] 16 | 17 | channels = [] 18 | error_channels = [] 19 | 20 | with open("itv.txt", 'r', encoding='utf-8') as file: 21 | lines = file.readlines() 22 | for line in lines: 23 | line = line.strip() 24 | if line: 25 | channel_name, channel_url = line.split(',') 26 | if '卫视' in channel_name: 27 | channels.append((channel_name, channel_url)) 28 | 29 | # 定义工作线程函数 30 | def worker(): 31 | while True: 32 | # 从队列中获取一个任务 33 | channel_name, channel_url = task_queue.get() 34 | try: 35 | channel_url_t = channel_url.rstrip(channel_url.split('/')[-1]) # m3u8链接前缀 36 | lines = requests.get(channel_url,timeout=1).text.strip().split('\n') # 获取m3u8文件内容 37 | ts_lists = [line.split('/')[-1] for line in lines if line.startswith('#') == False] # 获取m3u8文件下视频流后缀 38 | ts_lists_0 = ts_lists[0].rstrip(ts_lists[0].split('.ts')[-1]) # m3u8链接前缀 39 | ts_url = channel_url_t + ts_lists[0] # 拼接单个视频片段下载链接 40 | 41 | # 多获取的视频数据进行5秒钟限制 42 | with eventlet.Timeout(5, False): 43 | start_time = time.time() 44 | content = requests.get(ts_url,timeout=1).content 45 | end_time = time.time() 46 | response_time = (end_time - start_time) * 1 47 | 48 | if content: 49 | with open(ts_lists_0, 'ab') as f: 50 | f.write(content) # 写入文件 51 | file_size = len(content) 52 | # print(f"文件大小:{file_size} 字节") 53 | download_speed = file_size / response_time / 1024 54 | # print(f"下载速度:{download_speed:.3f} kB/s") 55 | normalized_speed = min(max(download_speed / 1024, 0.001), 100) # 将速率从kB/s转换为MB/s并限制在1~100之间 56 | #print(f"标准化后的速率:{normalized_speed:.3f} MB/s") 57 | 58 | # 删除下载的文件 59 | os.remove(ts_lists_0) 60 | result = channel_name, channel_url, f"{normalized_speed:.3f} MB/s" 61 | results.append(result) 62 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 63 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 64 | except: 65 | error_channel = channel_name, channel_url 66 | error_channels.append(error_channel) 67 | numberx = (len(results) + len(error_channels)) / len(channels) * 100 68 | print(f"可用频道:{len(results)} 个 , 不可用频道:{len(error_channels)} 个 , 总频道:{len(channels)} 个 ,总进度:{numberx:.2f} %。") 69 | 70 | # 标记任务完成 71 | task_queue.task_done() 72 | 73 | 74 | # 创建多个工作线程 75 | num_threads = 10 76 | for _ in range(num_threads): 77 | t = threading.Thread(target=worker, daemon=True) 78 | #t = threading.Thread(target=worker, args=(event,len(channels))) # 将工作线程设置为守护线程 79 | t.start() 80 | #event.set() 81 | 82 | # 添加下载任务到队列 83 | for channel in channels: 84 | task_queue.put(channel) 85 | 86 | # 等待所有任务完成 87 | task_queue.join() 88 | 89 | 90 | def channel_key(channel_name): 91 | match = re.search(r'\d+', channel_name) 92 | if match: 93 | return int(match.group()) 94 | else: 95 | return float('inf') # 返回一个无穷大的数字作为关键字 96 | 97 | # 对频道进行排序 98 | results.sort(key=lambda x: (x[0], -float(x[2].split()[0]))) 99 | #results.sort(key=lambda x: channel_key(x[0])) 100 | now_today = datetime.date.today() 101 | # 将结果写入文件 102 | 103 | result_counter = 8 # 每个频道需要的个数 104 | 105 | with open("weishi.txt", 'w', encoding='utf-8') as file: 106 | channel_counters = {} 107 | file.write('卫视频道,#genre#\n') 108 | for result in results: 109 | channel_name, channel_url, speed = result 110 | if '卫视' in channel_name: 111 | if channel_name in channel_counters: 112 | if channel_counters[channel_name] >= result_counter: 113 | continue 114 | else: 115 | file.write(f"{channel_name},{channel_url}\n") 116 | channel_counters[channel_name] += 1 117 | else: 118 | file.write(f"{channel_name},{channel_url}\n") 119 | channel_counters[channel_name] = 1 120 | 121 | with open("weishi.m3u", 'w', encoding='utf-8') as file: 122 | channel_counters = {} 123 | #file.write('卫视频道,#genre#\n') 124 | for result in results: 125 | channel_name, channel_url, speed = result 126 | if '卫视' in channel_name: 127 | if channel_name in channel_counters: 128 | if channel_counters[channel_name] >= result_counter: 129 | continue 130 | else: 131 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 132 | file.write(f"{channel_url}\n") 133 | channel_counters[channel_name] += 1 134 | else: 135 | file.write(f"#EXTINF:-1 group-title=\"卫视频道\",{channel_name}\n") 136 | file.write(f"{channel_url}\n") 137 | channel_counters[channel_name] = 1 138 | -------------------------------------------------------------------------------- /temp/zhejiang.txt: -------------------------------------------------------------------------------- 1 | CCTV1,http://61.130.72.18:8888/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 2 | CCTV2,http://61.130.72.18:8888/tsfile/live/0002_1.m3u8?key=txiptv&playlive=1&authid=0 3 | CCTV3,http://61.130.72.18:8888/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0 4 | CCTV4,http://61.130.72.18:8888/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 5 | CCTV5,http://61.130.72.18:8888/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0 6 | CCTV6,http://61.130.72.18:8888/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0 7 | CCTV7,http://61.130.72.18:8888/tsfile/live/0007_1.m3u8?key=txiptv&playlive=1&authid=0 8 | CCTV8,http://61.130.72.18:8888/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0 9 | CCTV9,http://61.130.72.18:8888/tsfile/live/0009_1.m3u8?key=txiptv&playlive=1&authid=0 10 | CCTV10,http://61.130.72.18:8888/tsfile/live/0010_1.m3u8?key=txiptv&playlive=1&authid=0 11 | CCTV11,http://61.130.72.18:8888/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0 12 | CCTV12,http://61.130.72.18:8888/tsfile/live/0012_1.m3u8?key=txiptv&playlive=1&authid=0 13 | CCTV13,http://61.130.72.18:8888/tsfile/live/0013_1.m3u8?key=txiptv&playlive=1&authid=0 14 | CCTV14,http://61.130.72.18:8888/tsfile/live/0014_1.m3u8?key=txiptv&playlive=1&authid=0 15 | CCTV15,http://61.130.72.18:8888/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0 16 | 浙江卫视,http://61.130.72.18:8888/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0 17 | 湖南卫视,http://61.130.72.18:8888/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0 18 | 安徽卫视,http://61.130.72.18:8888/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0 19 | 江苏卫视,http://61.130.72.18:8888/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0 20 | 北京卫视,http://61.130.72.18:8888/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0 21 | 深圳卫视,http://61.130.72.18:8888/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0 22 | 重庆卫视,http://61.130.72.18:8888/tsfile/live/0142_1.m3u8?key=txiptv&playlive=1&authid=0 23 | 天津卫视,http://61.130.72.18:8888/tsfile/live/0135_1.m3u8?key=txiptv&playlive=1&authid=0 24 | 广东卫视,http://61.130.72.18:8888/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0 25 | 贵州卫视,http://61.130.72.18:8888/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0 26 | 四川卫视,http://61.130.72.18:8888/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0 27 | 东方卫视,http://61.130.72.18:8888/tsfile/live/0107_1.m3u8?key=txiptv&playlive=1&authid=0 28 | 云南卫视,http://61.130.72.18:8888/tsfile/live/0119_1.m3u8?key=txiptv&playlive=1&authid=0 29 | 东南卫视,http://61.130.72.18:8888/tsfile/live/0119_2.m3u8?key=txiptv&playlive=1&authid=0 30 | 辽宁卫视,http://61.130.72.18:8888/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0 31 | -------------------------------------------------------------------------------- /udpxy/Readme.md: -------------------------------------------------------------------------------- 1 | 整理的组播,双击运行,生成itvlist.txt。 2 | -------------------------------------------------------------------------------- /udpxy/四川电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/四川电信组播.exe -------------------------------------------------------------------------------- /udpxy/安徽电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/安徽电信组播.exe -------------------------------------------------------------------------------- /udpxy/山西联通组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/山西联通组播.exe -------------------------------------------------------------------------------- /udpxy/广东电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/广东电信组播.exe -------------------------------------------------------------------------------- /udpxy/江苏电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/江苏电信组播.exe -------------------------------------------------------------------------------- /udpxy/江西电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/江西电信组播.exe -------------------------------------------------------------------------------- /udpxy/河北电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/河北电信组播.exe -------------------------------------------------------------------------------- /udpxy/河南联通组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/河南联通组播.exe -------------------------------------------------------------------------------- /udpxy/浙江电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/浙江电信组播.exe -------------------------------------------------------------------------------- /udpxy/湖北电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/湖北电信组播.exe -------------------------------------------------------------------------------- /udpxy/湖南电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/湖南电信组播.exe -------------------------------------------------------------------------------- /udpxy/福建电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/福建电信组播.exe -------------------------------------------------------------------------------- /udpxy/陕西电信组播.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/udpxy/陕西电信组播.exe -------------------------------------------------------------------------------- /windows/chromedriver.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/windows/chromedriver.exe -------------------------------------------------------------------------------- /windows/itv.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwc1119/tv/935412e7f0c96d238333ca9587e1e1a6ea5f55df/windows/itv.exe --------------------------------------------------------------------------------