目 录CONTENT

文章目录

Plex IPTV 直播电视

ming8918
2022-05-26 / 0 评论 / 1 点赞 / 4599 阅读 / 5132 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-09-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前述

PLEX 除了音乐独立APP,很好用外,还有IPTV 直播,这样在家里就以多点收看自己的IPTV,在外网也可以实现自己的IPTV流播放,看看新闻还是有用的!主要还可以定时录像,录体育节目、新闻节目等。

一般能保证效果的IPTV是自己的机顶盒,比如电信、联通、移动的,很多是走的私有内网,也有走公网的(直接播放IPTV地址是可以播放的)。

f296ea54755319833123392a29e4c0c1_iptv-business

IPTV源

首先需要抓取自己家里IPTV的源,需要用笔记本桥接或路由器桥接,让IPTV的数据通过指定端口,然后使用Wireshark 进行数据抓取,再提取rtp、rtsp 或其它组播协议地址!

可以在路由器(需桥接)或使用笔记本上进行抓包,分析出IPTV源地址;主要运用ireshark,网上有很多教程 简单点的办法就是笔记本抓包,这时光猫就先不桥接,默认宽带安装时的IPTV机顶盒直连IPTV专用口:

  • 一根网线把光猫IPTV口与笔记本相连接
  • 一根网线与IPTV机顶盒相连接
  • 把这两个网络进行桥接
  • 关闭其它网络,关闭IPTV盒
  • 打开Wireshark ,打开IPTV机顶盒连接的网口,开始监控数据包,再开启IPTV机顶盒,机顶盒会自动拨号并连接,任意播放一两个频道,所有频道数据就抓取了

这里就有些区别,有些是igmp,有些是RTSP协议 ,

  • 筛选http,再按ctrl+F,会多一个字符串筛选, 搜索 channel,列出所有channel
  • 选中一条,在文件菜单上选择导出对象,选http,弹出对话框,找到frameset_builder.jsp,导出
  • 记事本打开就可以看到所有频道列表
  • RTSP流就筛选RTSP
  • IGMP组播需转为HTTP单播

抓出来的源,可以用potplayer 进行验证,能播放、分辩率等也正常这样抓源就OK了。 地址全部抓取后,就开始设置路由器与机顶盒了

这里有个前提是光猫要设置为桥接方式,采用自己的路由器拨号(这个是可以要求宽带安装员的,实在不行也可以破解,网上有密码之类,或者给宽带安装员打打烟,让他给光猫的超级账号); 把机顶盒里的IPTV账号和密码填入路由器中,创建光猫IPTV口的专网拨号; 再设置路由器上强制IPTV路由(IPTV段的IP地址),也就是说IPTV的数据段强制走IPTV专网(家里的光纤盒是有1个IPTV专用口的); 设置好路由器后,机顶盒就不用拨号了,自动获取即可看电视了; 家里所有终端一根线就能访问外网和IPTV专网了,速度还快!

抓出来的数据制作成M3U播放列表,使用TeleList 软件进行制作。 IPTV S

还有一步,这位大神的EPG 要用上,http://epg.51zmt.top:8000/ 把制作的M3U文件上传,制作成带EPG的M3U播放列表,会多些EPG信息,这样后面的Mapping 台标与节目信息就能用上。 IPTV S EPG

xTeve安装

Plex 不能直接播放M3U,还需要XTEVE 转发代理服务(虚拟成HDHOMERUN设备),https://github.com/xteve-project/xTeVe

安装docker 容器版,搜索 xteve_guide2go ,安装映像 挂载路径就是自己的了,NAS就是专门建了个docker 文件夹,以下是官网的说明

  • 容器路径:/root/.xteve <> /mnt/user/appdata/xteve/
  • 容器路径:/config <> /mnt/user/appdata/xteve/_config/
  • 容器路径:/guide2go <> / mnt/user/appdata/xteve/_guide2go/
  • 容器路径:/tmp/xteve <> /tmp/xteve/ <容器路径就是要挂载的容器路径,这个按上面要求来,后方的地址系统不同、自建文件夹名不同而不同。如我是建在群晖docker/xteve/_config/ ,这样就是挂载这个文件夹到容器的/config 上。

容器端口映射:容器端口 34400 访问地址:htpp://ip:34400/web/

  • 配置Tuner 数量(同时播放的终端数)
  • 配置EPG来源为XEPG,建议这个方便管理,PMS 模式的话所有EPG信息在PLEX中配置,对于没有台标没有EPG信息的电视台就比较麻烦,而XEPG模式可以在一处统一管理,所有播放终端都可以用
  • 填写M3U列表文件地址,考虑权限问题,提前到m3u文件复制到docker映射目录中,填写容器目录地址,类似如下:

uTools_1653377844410

保存成功后,在Filter里可以看到所有电视台被识别 uTools_1653377869133

在XMLTV 菜单下填写EPG地址,还是使用大神的EPG,http://epg.51zmt.top:8000/e.xml

uTools_1653377887731

这时在MAPPING 中就可以看到所有被识别的电视台,前面的绿色表示在大神的EPG目录中已完全正确识别,台标,节目表信息自动更新完成。 这时就会发现一个问题,很多地方频道不在大神的EPG目录中,这里前面显示的为红色状态,是不可用的,就需要手动打开这个电视台,手动upload logo,更改GROUP TITLE,然后最重要的是因为没有EPG源,只能手动虚拟xtevet自带的,在XMLTV FILE 下选择 XTEVE DUMMY,在channel 下选择60Minutes或其它时间,这样前面就会变绿,才能使用。 如下图: uTools_1653379943920

uTools_1653377073366

如果是RTSP流,还有最后一步,不然无法播放! 需要设置流服务转发,RTP/RTPS 只能选择FFmpeg or VLC uTools_1653377913897 至此,所有设置完成。

Plex 设置

在Plex 电视直播和数字录像机中 手动添加HDHomeRun设备(就是XTEVE 虚拟的设备),填写地址:IP:34400(NAS上就是NAS的内网IP地址) 识别所有电台后,还需要填写XMLTV 指南,这里因为XTEVE 是XEPG模式,自已就有XMLTV指南(最终是来自大神51ZMT的),因此地址一定要填写正确:http://IP:34400/xmltv/xteve.xml uTools_1653380138549

这时刷新完成,开始享受吧,除了PLEX 可用外,EMBY也一样可用,还可以单独安装APP,如tivimate 安装于电视上播放自己的IPTV。 效果如下: uTools_1653543211673

未解决的问题

我是联通的,IPTV源有高清与标清,标清很低为576P的,但我如果使用整个M3U播放表,高清频道也自动变为576P了,不管PLEX 还是EMBY,还是安卓APP,均是这样。 而如果我只有高清的M3U源,这时播放的所有频道就是1080P高清了,不知是什么问题。 搞了两次又好了,不知道什么原因!

公网IPTV

以上主要针对自己家里的IPTV专网,这样速度能保证,可以实现除机顶盒之外的所有终端均可以收看IPTV,速度有保障,还可以透过PLEX 账号,在外网也能收看。

外网公开的IPTV有很多,但多数速度不能保证,偿个鲜还是可以的,请看开源的IPTV项目,里面包括了全球的IPTV源:https://github.com/iptv-org/iptv 经如中国的:https://github.com/iptv-org/iptv/blob/master/streams/cn.m3u

这里如果在外网上想收看些电视台,自己又有机场服务,那就可以在docker里再多建一个容器,选择自己要看的自建个m3u播放列列。因为内网的流编码不一样,外网均是http,所以就得另建一个xteve 服务,把流服务设置成xteve ,其它都是一样的。

新建的这个容器走macvlan 网络,自定义旁路由(机场服务)的网关,这样这个容器就不得走NAS的网关,走的是旁路由服务的,网速也快!

具体见另一篇文章:https://lml023.top/archives/pang-lu-you-ji-docker-rong-qi-du-li-pang-lu-you-fang-wen

还有就是PLEX 自带的免费直播TV,这就是PLEX的服务器流,不是自己建的服务器流,也就不用走旁路由等操作,速度还很快的,换言之就是Plex的网页在线流媒体。

image-1653911184310

1

评论区