本文仅做交流和测试,不用于任何商业用途,文中出现的工具和设备请使用正版,并根据自己需求配置。
本教程适合电信(๐•ᴗ•๐)V的IPOE方式,获得(๐•ᴗ•๐)v盒子信息后,制作m3u列表,提供emby使用,也可以通过xteve,导入plex或其他软件(比如vlc,aptv等)进行http流的播放,如果你的主(๐•ᴗ•๐)由本就是openwrt,可减少不少操作,具体下面会提示
所需设备:开通(๐•ᴗ•๐)V的光(๐•ᴗ•๐),(๐•ᴗ•๐)由器,openwart软(๐•ᴗ•๐)由(做UDPXY代理),NAS,USB网卡(PC自带双网卡也可,或则单网卡+wifi)
所需软件:PC端:wire(๐•ᴗ•๐) ,ssh工具,文本编辑器,群晖端:docker, xteve, emby server或plex server(都需购买会员),软(๐•ᴗ•๐)由器端:udpxy
在操作的过程中,要点是如何获取(๐•ᴗ•๐)V盒子的物理信息(第二步),如果是DHCP,把ITV口直接连入PC即可获得,如果是PPPOE,打10000号有技巧的把(๐•ᴗ•๐)V拨号账号和密码问过来,如果是IPOE,就看教程吧
一.获取本地直播源地址
这里不具体阐述获取(๐•ᴗ•๐)V直播源的过程,最简单的到网上找到自己本地的直播源,这里提供四种思(๐•ᴗ•๐):
- 光(๐•ᴗ•๐)ITV口连入(๐•ᴗ•๐)由器,PC网卡1连入(๐•ᴗ•๐)由器,PC网卡2连接(๐•ᴗ•๐)V机顶盒,两个网卡桥接wire(๐•ᴗ•๐)抓包
- 光(๐•ᴗ•๐)ITV口连入笔记本电脑,在笔记本打开热点,打开(๐•ᴗ•๐)V机顶盒开启WIFI接入笔记本电脑,在笔记本电脑上通过wire(๐•ᴗ•๐)抓包
- 通过华为STB工具,开启(๐•ᴗ•๐)V机顶盒远程管理功能,操作PC端的华为STB工具进行诊断抓包
- 到恩山论坛上找适合本地的直播源地址,并把地址整理成如下格式:

这里作为例子只有一条
二.获取(๐•ᴗ•๐)V机顶盒的物理信息和账号和密码
PC端连入(๐•ᴗ•๐)由器,USB网卡连接(๐•ᴗ•๐)V机顶盒,两个网卡桥接
打开wire(๐•ᴗ•๐)并选择网桥,打开机顶盒电源,开始抓包,开机1分钟后停止抓包并找到
机顶盒有线MAC地址的DHCP握手信息

记录MAC地址和HOST NAME(机顶盒序列号)

同时记录拨号信息(加密信息,直接复制)

右键复制出来,并在notepad编辑,上方的59(你可能不同),那应得字符应该是118个,整理后留用
整理后并记录好以上三个数字:机顶盒有线MAC地址,产品序列号,拨号信息
三.开始配置软(๐•ᴗ•๐)由器
这里先说明,如果你的主(๐•ᴗ•๐)由器为软(๐•ᴗ•๐)由器,就没必要在光(๐•ᴗ•๐)和主(๐•ᴗ•๐)由器之间增加个软(๐•ᴗ•๐)由,直接在你的(๐•ᴗ•๐)由器进行配置即可,光(๐•ᴗ•๐)ITV口进软(๐•ᴗ•๐)由,或则直接在光(๐•ᴗ•๐)和主(๐•ᴗ•๐)由间划VLAN做单线复用,不要尝试在你的群晖上做openwrt和udpxy,之后会有较多麻烦。
打开软(๐•ᴗ•๐)由器登陆后
1.配置LAN口为静态获取IP,并关闭DHCP

2.配置软(๐•ᴗ•๐)由的WAN口
打开PC段的putty,并连接到刚才配置的lan口IP

登录名为root,密码为你软(๐•ᴗ•๐)由器的登陆密码

输入vi /etc/config/network
按i进行修改如下

config interface 'wan' #你的端口名
option proto 'dhcp' #IP地址获取方式
option defaultroute '0' #默认网关关闭
option macaddr '刚才记录的机顶盒MAC'
option HostName '刚才记录的机顶盒序列号'
option sendopts '0x3c:刚才记录的(๐•ᴗ•๐)V拨号数据'
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
输入无误后按ESC再输:再输入wq退出
退出后可以继续输入 vi /etc/config/network
查看
登陆软(๐•ᴗ•๐)由器看WAN口状态,通过dhcp获得正确的(๐•ᴗ•๐)v IP即为成功

输入/etc/init.d/network restart
重启网络
3.配置UDPXY
返回软(๐•ᴗ•๐)由并登陆
进入系统-软件包-更新列表(确保主(๐•ᴗ•๐)由连入外网)
找到udpxy和luci-app-udpxy并安装

在服务里找到UDPXY

设置后保存退出,并重启软(๐•ᴗ•๐)由器
重启后在PC端浏览器输入软(๐•ᴗ•๐)由的IP地址+端口号/status查看UDPXY代理情况
比如http://192.168.0.201:4555/status
注意Multicast address地址必须为软(๐•ᴗ•๐)由器WAN的IP方为成功
添加一个固定ip地址的(๐•ᴗ•๐)V口
把eth0物理绑定在(๐•ᴗ•๐)V口上,并设置为静态地址,并在UDPXY里把来源口改为此地址,如下,这样的好处是不受软(๐•ᴗ•๐)由重启影响,自动连接。

udpxy设置

4.整理(๐•ᴗ•๐)V直播源地址,并转为http直播流格式
修改防火墙规则,并把转发都改为接受

五.整理(๐•ᴗ•๐)V节目单
先把抓取的(๐•ᴗ•๐)V直播源保存为.m3u格式上传到http://epg.51z(๐•ᴗ•๐).top:8000/进行匹配台标
因为我只抓了44个频道,所以记录下CCTV和卫视的节目单地址http://epg.51z(๐•ᴗ•๐).top:8000/cc.xml (这是节目单,复制这个地址留用)

在notepad里把刚才网站下载的m3u统一修改为如下格式
http://软(๐•ᴗ•๐)由LANIP:UDP代理端口号/rtp/直播源IP:直播源端口号

并保存留用,至此这个M3U文件可以推送给家庭任何有线终端进行播放(๐•ᴗ•๐)V直播流
无线播放这个M3U文件,需要另外安装igmp等组件,本文主要针对emby推送,所以不过多阐述
此时emby可以使用这个m3u文件,配合节目单地址进行本地源播放,如果节目比较多,也可以用https://epg.112114.xyz/pp.xml.gz这个节目单地址,添加完成后,在emby的计划任务里增加电视指南数据的刷新时间

六.群晖xteve和plex服务器端的配置
登陆群晖并在(๐•ᴗ•๐)件中心安装docker
在docker的注册表里查找并下载xteve

下载完成后,在映像里启动该容器,并进行配置
“使用高级权限执行容器”
在“高级设置里”-“启用自动重新启动”
在“卷”中“添加文件夹”挂载m3u文件存放(๐•ᴗ•๐)径,并在端口设置中设置端口号


设置好后保存,并把你修改好的直播源M3U文件放入刚才设置的挂载(๐•ᴗ•๐)径下
登陆你NAS的IP地址:端口号/web
这里为192.168.0.118:34400/web
登陆后会选择提供几(๐•ᴗ•๐)直播?我选10
PMS还是XEPG?PMS不能显示台标,因此我选XEPG
M3u挂载(๐•ᴗ•๐)径?我输入/(๐•ᴗ•๐)V/(๐•ᴗ•๐)V.m3u(这是我放入m3u名)
节目单更新地址
因为我直播源地址不多,所以我选择http://epg.51z(๐•ᴗ•๐).top:8000/cc.xml
也可以全频道的节目单地址: http://epg.51z(๐•ᴗ•๐).top:8000/e.xml
输入后来到xteve的管理节目,此时你可以看到被识别的节目单
此时请记录XEPG URL地址

在XMLTV里新建一个节目表单
名为XMLTV,地址为http://epg.51z(๐•ᴗ•๐).top:8000/cc.xml

点击save保存并在Mapping里看到已经匹配的直播源节目表,返回XMLTV点击刚才创建的表单,并点击update,进行更新
在Settings里找到节目表单更新的时间,并选择性修改,我是设置为每晚11点更新节目单

至此,xteve配置完成
打开群晖的plex服务器端(默认端口号为32400)
在设置里选择Live tv&DVR,并添加设备

选择黄字手动输入其他地址
输入NAS的IP:xteve开放的端口号点继续

因为PLEX目前没有节目单是不允许播放的,所以选择刚才记录的节目单地址并填入,并一(๐•ᴗ•๐)继续


这里填入是存在NAS上本地节目单,因此更新非常快,更新节目单后,你就可以在你的频道里找打Live tv&DVR,将其固定在页面上,打开后,进入GUIDE,你就可以看到含有台标的所有(๐•ᴗ•๐)V直播,最关键的是你可以根据节目表,提前进行录播任务

6.对你的(๐•ᴗ•๐)或家人进行权限配置

PLEX默认是关闭(๐•ᴗ•๐)V直播的分享的,可以在账户---用户和分享—限制里开放权限
到此,恭喜你,只要在你开放权限的家庭组里的成员都可以播放你的(๐•ᴗ•๐)V流了,无论内外网,享受流畅(๐•ᴗ•๐)V的视频资源