找回密码
 立即注册
搜索
查看: 20|回复: 0

WindowsM3U播放客户端

[复制链接]

1

主题

4

回帖

6

积分

黑白电视迷

积分
6
发表于 昨天 18:25 | 显示全部楼层 |阅读模式
基于 WPF(.NET 8)为 Windows 打包的 M3U 播放客户端。

功能特性
功能        说明
📺 订阅管理        支持 M3U / M3U8 / JSON 格式,可添加多个订阅源
🔍 频道浏览        分组显示、关键词搜索、收藏管理
📅 EPG 节目单        支持 XMLTV 格式,自动缓存,可管理多个 EPG 订阅
🔄 多线路切换        播放失败时自动尝试备用线路
📽️ 画中画 (PiP)        将播放窗口剥离为浮动窗口,常驻最前
🎬 图像调节        亮度 / 对比度 / 饱和度等参数动态调节
⚡ 硬件加速        基于 FFmpeg 8 + DirectX 渲染

多线路
在 M3U 订阅中,相同 tvg-name(或 EXTINF 显示名)的条目会自动合并为同一频道的多条线路,播放时若当前线路失败,自动依次尝试剩余线路,切换频道时失败记录重置。

  1. #EXTINF:-1 tvg-id="1" tvg-name="mytv",mytv
  2. http://source1.example.com/mytv/stream.m3u8
  3. #EXTINF:-1 tvg-id="1" tvg-name="mytv",mytv
  4. http://source2.example.com/mytv/index.m3u8
复制代码

以上两条条目会合并为同一频道,线路 1、线路 2。

支持的流协议:http / https / rtsp / rtmp / udp / rtp

除 M3U 外,订阅源也可使用 JSON 格式(Channel[],每个对象包含 links 数组)。

  1. [
  2.   {
  3.     "Links": [
  4.       "http://source1.example.com/mytv/stream.m3u8",
  5.       "http://source2.example.com/mytv/index.m3u8"
  6.     ],
  7.     "TvgName": "mytv",
  8.     "TvgId": "1",
  9.     "GroupTitle": "mytv",
  10.     "ExtinfName": "mytv",
  11.     "Favorite": false,
  12.     "TvgLogo": "http://source2.example.com/mytv.png"
  13.   }
  14. ]
复制代码

EPG 匹配
EPG 节目单采用五级精确匹配(不做模糊/包含匹配,按优先级依次回退):

级别        匹配依据        说明
①        tvg-id 精确匹配        最优先,与 XMLTV channel id 完全一致时直接命中
②        tvg-id 归一化        转小写并去除空格 / 连字符 / 下划线后比较
③        tvg-id 去质量后缀        在②基础上剥离 高清 / HD / 4K / 标清 等后缀后比较
④        频道名称归一化        以频道显示名代替 tvg-id 重复②流程
⑤        频道名称去质量后缀        在④基础上剥离质量后缀后比较
推荐在 M3U 中填写 tvg-id 并与 XMLTV 的 channel id 保持一致,可获得最精准的节目单匹配效果。

下载:https://guoguo163.lanzoub.com/iqZyN3l00w7e 密码:6v1b

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋

创办于 2025 年 5 月 5 日

快速回复 返回顶部 返回列表