Plex + xTeVe 加载 IPTV 直播 - 自建多媒体平台
介绍
本文将介绍通过 Plex 加载 xTeVe 模拟的直播设备,加载基于 OpenWrt 全网最简双线 IPTV 接入方案 - 自建多媒体平台中介绍的 IPTV 直播源,最后通过 Plex 的客户端实现全平台的直播。
安装
docker-compose.yaml 文件
version: '3'
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Shanghai
- VERSION=docker
volumes:
- /share/Container/conf/plex:/config
# - /share/CloudDrive:/CloudDrive:shared
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
xteve:
image: alturismo/xteve
container_name: xteve
restart: unless-stopped
ports:
- "34400:34400"
- "1901:1900" #1900 used by Plex
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Shanghai
volumes:
- /share/Container/conf/xteve/conf:/config
- /share/Container/conf/xteve/root:/root/.xteve
- /share/Container/conf/xteve/tmp:/tmp/xteve
整个文件需要修改的,主要是 volumes
中的几个挂载的路径,类似 /share/Container
是在 QNAP 中使用的路径,可按需修改为 Host 用于存储配置的路径。PUID
和 PGID
可通过 id {loginname}
获取。
使用命令 docker compose up -d
或者 docker-compose up -d
启动。
xTeVe 配置
通过 http://ip:34400/web
打开 Web 界面进行配置
Number of tuners
xTeVe 模拟 DVR 设备的数量,决定并行播放的数量,默认可以选 1 后面可进行修改,修改后需要重启。
EPG Source
选择 XEPG
,将由 xTeVe 提供 EPG (电视节目指南)数据。
M3U Playlist
因为本次使用基于 OpenWrt 全网最简双线 IPTV 接入方案 - 自建多媒体平台中介绍的组播地址,已经把修改后的cd-udp.m3u
文件放入了/share/Container/conf/xteve/tmp
,所以这里选择 Local path
并配置 /tmp/xteve/cd-udp.m3u
。这里的地址和前面 Docker 配置的挂载位置对应 /share/Container/conf/xteve/tmp:/tmp/xteve
。
也可以直接使用在线的直播源(https://github.com/imDazui/Tvlist-awesome-m3u-m3u8),但是稳定性上不如 IPTV 的直播源。
XMLTV
使用以下地址 http://epg.51zmt.top:8000/e.xml ,文件中将提供 EPG 数据。
配置完成我们就能看到主界面,其中可以看到 Available Streams
里面可用流是 200,XEPG Channels
里面 197(已经做过一次 Mapping 了,实际自动匹配的只有 90 几个频道),说明有 197 个频道是有 EPG 数据的,且 Plex 只认有 EPG 的频道,所以需要进行 Mapping。
Mapping
进入后可以看到有红、绿两种颜色的频道,绿色代表 EPG 数据和频道已经适配,通过比较 m3u 文件的 tvg-id
和 XMLTV 文件的 channel id
实现自动适配。
红色代表没有 EPG 数据,需要手动进行 Mapping。
XMLTV File
选择 xTeVe Dummy
XMLTV Channel
选择 90 Minutes(90_Minutes)
选择后Active
会自动打勾,点击 Done -> Save
,会发现频道已经变成绿色。
如果有大量频道需要修改,点击 Bulk Edit
勾选需要修改的频道,任意点其中一个频道,修改同样内容,点击 Done -> Save
即完成批量修改。
Plex 配置
打开http://ip:32400
登录 Plex,进入 Setting -> Live TV & DVR -> SET UP PLEX DVR
点击 Don't see your HDHomeRun device? Enter its network address manually
输入 xTeVe 的地址 http://ip:34400
点击 Connect
,修改下面的 COUNTRY
为 China
中国就不用输入邮编,点击 Next
配置 XMLTV GUIDE,地址为 http://ip:34400/xmltv/xteve.xml
两次 CONTINUE
,就会自动下载 EPG 数据,稍后就能在 Live TV
中查看
可以看到有两种效果:一种像 CCTV 频道是有 EPG 数据,另一种像 929 频道就是由 xTeVe 生成的假数据。
点击即可播放,Web 端效果:
Mobile 端效果:
其它
xTeVe 对频道数量有限制,如果超过 480 需要使用 Filter 进行过滤,减少频道数量。
发现在 xTeVe 的 Setting -> Streaming -> UDPxy address:
是可以设置 UDPxy 地址,具备重写 IPTV 组播地址的能力,自动追加 UDPxy 的代理地址。可以按需配置,特别是 IPTV 地址是网上自动更新的就非常有用,不用每次下载修改后再上传。