Padavan 实现内网观看广东移动 IPTV(附 m3u 制作方法)

获取和制作 m3u

获取 IPTV 的 json 文件

  1. 将电脑连接到光猫的 IPTV 端口
  2. 打开浏览器,访问 http://183.235.16.92:8082/epg/api/custom/getAllChannel.json
  3. 保存 json 为 getAllChannel.json

制作 m3u 文件

  1. getAllChannel.json​ 放到和脚本相同的目录下
  2. 直接运行 iptv2m3u.js​ 即可生成 IPTV.m3u
  3. 以下是代码,也可以前往我的 Github 项目 020-CMCC-IPTV 获取,欢迎 star
  4. 脚本按 Padavan 的默认地址,如果你有其他的地址和端口,请修改 localRTP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// iptv2m3u.js
const fs = require('fs');
const data = require('./getAllChannel.json');

// 本地 rtp 服务的地址和端口
let localRTP = 'http://192.168.123.1:60000/rtp/'
fs.appendFileSync('IPTV.m3u', `#EXTM3U\n`)

// 遍历 json 文件
data.channels.forEach(channel => {
const icon = channel.icon
const title = channel.title;
const hwurl = channel.params.hwurl;
// 只保留 url 后面的 IP
const IP = hwurl.substring(hwurl.indexOf('rtp://') + 6);
fs.appendFileSync('IPTV.m3u', '#EXTINF:-1 tvg-name"' + title + '" tvg-logo="' + icon + '",' + `${title}\n` + localRTP + `${IP}\n`)
});
console.log('提取完成');

连接和配置设备

本教程并没有单线复用,一条网线解决不了的事情,那就两条!

连接网线

drawio

配置 Padavan

  • 配置外部网络 (WAN)→ 外网设置 → 端口隔离和 VLAN 过滤,IPTV 的网线插在哪个 LAN 口就选择哪个,我这里是 LAN1,VID 选择 48,其他的按图选择

image

  • 配置内部网络 (LAN)→IPTV,按图配置即可,内网的 rtp 地址就是 Padavan 路由器的内网 IP,这里 UDP 代理 (Udpxy) 选择 60000,拼接起来就是 http://192.168.123.1:60000
  • 如果有不一样的配置,请修改脚本中的 localRTP

image

播放


Padavan 实现内网观看广东移动 IPTV(附 m3u 制作方法)
https://1doublehelix.github.io/padavan-cmcc-iptv
作者
Feizhong
发布于
2024年3月26日
许可协议