找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 24624|回复: 53

[iptv信源 资源分享或寻求] 自己转DIYP影音的EPG数据

  [复制链接]
发表于 2023-11-30 23:40 | 显示全部楼层 |阅读模式
本帖最后由 aming.ou 于 2023-12-22 18:52 编辑

自从电视家等直播软件被停服后,在山里大神的指导下,
学会了找直播软件,我用 DIYP影音Final版,

学会了制作频道接口,给DIYP提供直播源txt,
学会了获取xml格式的epg数据转存sqlite数据库,留作本地化 diyp epg源数据
学会了制作节目接口,给DIYP提供节目单epg,在epg加持下,实现了回放

成长历程,
1 电视直播APP还是DIYP影音最纯净 https://www.right.com.cn/forum/thread-8313390-1-1.html
2 自定义视频直播源,一键搭建PHP服务器=实现无限可能 https://www.right.com.cn/forum/thread-8313609-1-1.html
3 DIYP的EPG接口真的很耗服务器资源,求解 https://www.right.com.cn/forum/thread-8314154-1-1.html

以下是xml格式epg转存sqlite数据库 的php源码,欢迎技术讨论
食用方法,放到 2 php服务器的htdocs目录下, 访问 http://127.0.0.1/xml2db.php  (每天访问一次就可以了)
核心代码:

  1. <?php
  2. // xml2db.php
  3. // 1 保存全量节目单, 0 仅保存list中频道相关的节目单
  4. $save_all = 1;

  5. $displayname = 'display-name';
  6. $n = 0;
  7. $start = microtime(true);

  8. class ChannelDB extends SQLite3
  9. {
  10.         function __construct()
  11.         {
  12.                 $isnew = 1;
  13.                 $f = 'channel_epg.db';
  14.                 if (file_exists($f))
  15.                 {
  16.                         $isnew = 0;
  17.                 }
  18.                 $this->open($f);

  19.                 if ($isnew > 0)
  20.                 {
  21.                         // 初始化数据库
  22.                         $this->exec("CREATE TABLE if not exists 'list' (item text, title text, epg text, url text,'isdel' integer,constraint name_pk primary key (item,title))");
  23.                         $this->exec("CREATE TABLE if not exists 'access_log' (ip_address text, access_time text,url text)");
  24.                         $this->exec("CREATE TABLE if not exists 'epg_channel' ( `name` text, `channel_id` text,constraint name_pk primary key (name))");
  25.                         $this->exec("CREATE TABLE if not exists 'epg_programme' ( `title` text, `sdate` text, `sstart` text, `sstop` text, `channel` text, `sdesc` text, 'inserttime' text,constraint name_pk primary key (channel,sdate,sstart))");
  26.                         $this->exec("CREATE TABLE if not exists 'tmp_epg_channel' ( `name` text, `channel_id` text)");
  27.                         $this->exec("CREATE TABLE if not exists 'tmp_epg_programme' ( `title` text, `sdate` text, `sstart` text, `sstop` text, `channel` text, `sdesc` text, 'inserttime' text)");
  28.                         // 初始化频道表样例数据
  29.                         $this->exec("INSERT INTO `list` (`item`,`title`,`epg`,`url`,`isdel`) VALUES ('广东频道','广州综合','','http://nas.jdshipin.com:8801/gztv.php?id=zhonghe','90');");
  30.                         $this->exec("INSERT INTO `list` (`item`,`title`,`epg`,`url`,`isdel`) VALUES ('广东频道','广州新闻','','http://nas.jdshipin.com:8801/gztv.php?id=xinwen#http://113.100.193.10:9901/tsfile/live/1000_1.m3u8','90');");
  31.                         $this->exec("INSERT INTO `list` (`item`,`title`,`epg`,`url`,`isdel`) VALUES ('央视频道','CCTV2','','http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226195/index.m3u8?0.smil','120');");
  32.                 }
  33.         }
  34. }
  35. // 连接数据库
  36. $config = array();
  37. $channel = new ChannelDB();
  38. // 分析xml数据
  39. function getContent($url, $username, $password)
  40. {
  41.         $process = curl_init($url);
  42.         // curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
  43.         curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
  44.         $data = curl_exec($process);
  45.         curl_close($process);
  46.         return $data;
  47. }
  48. // 清空临时表
  49. $result = $channel->query("delete from tmp_epg_channel");
  50. $result = $channel->query("delete from tmp_epg_programme");
  51. // 节目总表地址
  52. $data = getContent("http://epg.51zmt.top:8000/e.xml");
  53. $xml = simplexml_load_string($data);
  54. // 开始事务处理
  55. $channel->exec("BEGIN TRANSACTION;");
  56. foreach ($xml->children() as $xmldata)
  57. {
  58.         if ($xmldata->getName() == "channel")
  59.         {
  60.                 $result = $channel->query("INSERT INTO tmp_epg_channel(name,channel_id) VALUES ('" . $xmldata->$displayname . "','" . $xmldata->attributes()->id . "')");

  61.                 if (!$result)
  62.                 {
  63.                         echo $n . ' - ' . $channel->lastErrorMsg() . '<br>';
  64.                 }
  65.         }

  66.         if ($xmldata->getName() == "programme")
  67.         {
  68.                 $start_time = substr($xmldata->attributes()->start, 8, 2) . ":" . substr($xmldata->attributes()->start, 10, 2);
  69.                 $stop_time = substr($xmldata->attributes()->stop, 8, 2) . ":" . substr($xmldata->attributes()->stop, 10, 2);
  70.                 $jm_date = substr($xmldata->attributes()->stop, 0, 4) . "-" . substr($xmldata->attributes()->stop, 4, 2) . "-" . substr($xmldata->attributes()->stop, 6, 2);
  71.                 $n ++ ;

  72.                 $result = $channel->query("INSERT INTO tmp_epg_programme(channel,sdate,sstart,sstop,title,sdesc,inserttime) VALUES ('" . $xmldata->attributes()->channel . "','" . $jm_date . "','" . $start_time . "','" . $stop_time . "','" . $xmldata->title . "','','" . $time . "')");

  73.                 if (!$result)
  74.                 {
  75.                         echo $n . ' = ' . $channel->lastErrorMsg() . '<br>';
  76.                 }
  77.         }
  78. }
  79. // 更新节目数据
  80. ……
  81. // 写入硬盘
  82. $channel->exec("COMMIT;");
  83. ?>
复制代码
完整代码:


(推荐完整版)12月22日更新,自建DIYP影音和TVBOX的接口PHP服务 https://www.right.com.cn/FORUM/thread-8315423-1-1.html
先浏览器打开 xml2db.php 进行数据库和epg数据初始化
再浏览器打开 channel.php 进行频道直播源维护
diyp影音epg接口填入 http://[php服务器地址]/epg.php 自动获取节目列表

不会搭建php服务器的,可以用这个接口【DIYP影音】 用这个 https://epg.erw.cc/api/diyp/
帖子来源 https://www.right.com.cn/FORUM/thread-8301810-1-1.html


本帖子中包含更多资源

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

×

评分

参与人数 4恩山币 +7 收起 理由
叭叭让 + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!.
stwu + 2 可以用
lucktu + 2 原创文章,很有价值!
网上飞 + 2 感谢你的分享,无论怎样,你都是最无私的人.

查看全部评分

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
 楼主| 发表于 2023-12-8 07:48 来自手机 | 显示全部楼层
本帖最后由 aming.ou 于 2023-12-8 07:51 编辑
lucktu 发表于 2023-12-1 09:15
tvbox 与 diyp 类似,关键是有人更新,感觉还没有 diyp 成熟。

可以试试这个版本,用这样的版本(TVBox_t ...


再次感谢,今早终于有时间用你提供的TVBOX json接口成功看到直播,而且内置很多电影,果然强大,你有tvbox epg接口样例数据吗?





设置打开APP直接进入直播,成功,确实是相当好的电视APP。

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2023-12-8 08:00 | 显示全部楼层
DIYP成功加载epg节目单的效果,有epg,很多直播频道支持回看




本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-11-30 23:45 | 显示全部楼层
牛逼啊
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2023-11-30 23:49 来自手机 | 显示全部楼层
一天执行一次
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 00:01 | 显示全部楼层
不会用
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 00:03 | 显示全部楼层
食用方法,丢到 2 php服务器的htdocs目录下  什么意思

点评

看成长历程2  详情 回复 发表于 2023-12-1 00:06
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2023-12-1 00:06 来自手机 | 显示全部楼层
tsy280 发表于 2023-12-1 00:03
食用方法,丢到 2 php服务器的htdocs目录下  什么意思

看成长历程2

点评

不明白直接放服务器不能访问  详情 回复 发表于 2023-12-1 00:09
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 00:09 | 显示全部楼层
本帖最后由 tsy280 于 2023-12-1 00:12 编辑
有点画渣   哈哈哈啊哈啊
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 00:49 | 显示全部楼层
源码放服务器diyp没显示节目表
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 08:11 | 显示全部楼层
还是不会用,楼主能简单解释一下吗?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 08:22 | 显示全部楼层
要自己搭建服务器,小白太困难了。只有一台电视+机顶盒。。。有时间再思考。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 08:36 | 显示全部楼层
本帖最后由 lucktu 于 2023-12-1 08:37 编辑

epg本地化,确实不错,有条件的话,能够保证自己的epg随心可用

有空请搞一个tvbox的,那个还没有一个好用的,

点评

用你的json接口,可以看直播。你的json文件中其实含了epg接口配置,不过是指向112114,移动宽带无法访问,所以无法显示节目预告,但配合自己搭建的epg服务,可以显示epg节目数据,TVBOX的epg所需数据格式跟DIYP是一  详情 回复 发表于 2023-12-9 09:28
tvbox,没用起来,不懂用,至今没找到可用直播源接口范例,也许这是多源框架设计,集大成的视频播放器,不适合个人diy,建议直接使用集成节目源的衍生App,山上有很多。 DIYP影音适合看直播  详情 回复 发表于 2023-12-1 08:51
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 08:48 | 显示全部楼层
太牛了,正有此想法,想不到现成有了,折腾起来...
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2023-12-1 08:51 来自手机 | 显示全部楼层
lucktu 发表于 2023-12-1 08:36
epg本地化,确实不错,有条件的话,能够保证自己的epg随心可用

有空请搞一个tvbox的,那个还没有一个好用 ...

tvbox,没用起来,不懂用,至今没找到可用直播源接口范例,也许这是多源框架设计,集大成的视频播放器,不适合个人diy,建议直接使用集成节目源的衍生App,山上有很多。
DIYP影音适合看直播

点评

tvbox 与 diyp 类似,关键是有人更新,感觉还没有 diyp 成熟。 可以试试这个版本,用这样的版本(TVBox_takagen99_20231128-0053),可以用最新的 https://www.right.com.cn/forum/thread-8313988-1-1.html 安装好  详情 回复 发表于 2023-12-1 09:15
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2023-12-1 09:15 | 显示全部楼层
本帖最后由 lucktu 于 2023-12-1 09:59 编辑
aming.ou 发表于 2023-12-1 08:51
tvbox,没用起来,不懂用,至今没找到可用直播源接口范例,也许这是多源框架设计,集大成的视频播放器, ...

tvbox 与 diyp 类似,关键是有人更新,感觉还没有 diyp 成熟。

可以试试这个版本,用这样的版本(TVBox_takagen99_20231128-0053),可以用最新的
https://www.right.com.cn/forum/thread-8313988-1-1.html

安装好后在 设置--配置地址 用下面的链接,设置好第一项(请输入数据源地址;也可以在电脑上访问电视机的 9978 端口,在设置里粘贴,这个比较方便),在电视机上 确定 以后退出,就可以看直播了。然后再回去看刚才的设置页面,里面就有 直播和epg 链接了。
https://weixine.net/ysc.json

其它接口地址(不推荐你用于研究)
https://agit.ai/Yoursmile7/TVBox/raw/branch/master/XC.json
https://tvbox.cainisi.cf/
http://yydsys.top/duo
http://xn--sss604efuw.top/tv


如果要将设置信息本地化(便于编译直播信息表,剔除、增加节目,更换速度快的自己的IPTV信息),可以在电视机上新建一个目录(例如 TVBox),传入相关信息,然后在 数据源地址 上输入它即可
http://127.0.0.1:9978/file/TVBox/xxx.json

点评

再次感谢,今早终于有时间用你提供的TVBOX json接口成功看到直播,而且内置很多电影,果然强大,你有tvbox epg接口样例数据吗? [attachimg]659558[/attachimg] [attachimg]659559[/attachimg] [attachimg]659560[/a  详情 回复 发表于 2023-12-8 07:48
谢谢,下班回家晚上试一试你的接口地址https://tvbox.cainisi.cf/,我就是缺一个接口,导致没玩起来, 如本帖的中成长历程里第一步就是折腾各种APP 1 电视直播APP还是DIYP影音最纯净 https://www.right.com.cn/forum  详情 回复 发表于 2023-12-1 09:23
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2023-12-1 09:23 | 显示全部楼层
lucktu 发表于 2023-12-1 09:15
tvbox 与 diyp 类似,关键是有人更新,感觉还没有 diyp 成熟。

可以试试这个版本,用这样的版本(TVBox_ ...

谢谢,下班回家晚上试一试你的接口地址https://tvbox.cainisi.cf/,我就是缺一个接口,导致没玩起来,
如本帖的中成长历程里第一步就是折腾各种APP
1 电视直播APP还是DIYP影音最纯净 https://www.right.com.cn/forum/thread-8313390-1-1.html
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-3-9 04:07

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

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