IPTV流嗅探工具,用于批量测试IPTV流地址的可用性,支持自动截图、频道管理和AI识别。
docker run -d \
--name iptv-sniffer \
--device /dev/dri:/dev/dri \
-p 9833:9833 \
-v $(pwd)/screenshots:/app/screenshots \
-v $(pwd)/config:/app/config \
thsrite/iptv-sniff:latest
访问 http://localhost:9833 即可使用。
pip install -r requirements.txt
# Ubuntu/Debian
apt-get install ffmpeg
# macOS
brew install ffmpeg
python main.py
访问 http://localhost:9832 即可使用。
在"Stream Test"标签页中:
{ip} 作为IP地址的占位符
http://192.168.2.2:7788/rtp/{ip}:8000111.111.111.1 到 111.111.111.255测试结果会显示:
在"TV Channels"标签页中可以:
在"TV Groups"标签页中可以:
在"Advanced Settings"标签页中可以配置:
FFmpeg设置
AI模型配置
常用硬件加速配置:
-hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi-hwaccel cuda -hwaccel_output_format cuda# 开始测试
POST /api/test/start
Content-Type: application/json
{
"base_url": "http://192.168.3.2:7788/rtp/{ip}:8000",
"start_ip": "111.111.111.1",
"end_ip": "111.111.111.256"
}
# 获取测试状态
GET /api/test/status/{test_id}
# 重试测试
POST /api/test/retry
# 获取所有频道
GET /api/channels
# 更新频道信息
POST /api/channels/update
Content-Type: application/json
{
"ip": "111.111.111.1",
"name": "CCTV-1",
"logo": "http://example.com/logo.png",
"tvg_id": "CCTV1"
}
# 测试连通性
POST /api/channels/test-connectivity
# 导入M3U
POST /api/channels/import-m3u
# 导出M3U
GET /api/channels/export-m3u
# 获取所有分组
GET /api/groups
# 创建分组
POST /api/groups/create
# 更新分组
POST /api/groups/update
# 删除分组
POST /api/groups/delete
# 获取配置
GET /api/config
# 保存配置
POST /api/config
iptv-sniff/
├── main.py # Flask后端主程序
├── index.html # 前端页面
├── static/
│ ├── style.css # 样式文件
│ ├── script.js # 前端逻辑
│ └── languages.js # 多语言配置
├── screenshots/ # 截图存储目录
├── config/ # 配置文件目录
├── requirements.txt # Python依赖
├── Dockerfile # Docker镜像构建文件
└── docker-entrypoint.sh # Docker入口脚本
tv_channels.json: 频道数据库tv_groups.json: 分组信息results.json: 测试结果config/config.json: 系统配置screenshots/: 截图文件PORT: 服务端口(默认:9833)PYTHONUNBUFFERED: 禁用Python输出缓冲(默认:1)/dev/dri)Q: 如何使用AI识别频道? A: 在高级设置中配置AI API URL和密钥,然后在频道页面点击"AI识别频道"按钮。
Q: 支持哪些AI模型? A: 支持所有兼容OpenAI Vision API格式的模型,包括GPT-4 Vision、Claude 3等。
Q: 如何导入现有的M3U文件? A: 在频道页面点击"导入M3U"按钮,选择M3U文件即可自动导入所有频道信息。
Q: 频道连通性测试失败怎么办? A: 检查网络连接和URL是否正确,可以在高级设置中增加超时时间。
MIT License
Content type
Image
Digest
sha256:6e3f15e87…
Size
79.2 MB
Last updated
11 months ago
docker pull thsrite/iptv-sniff