找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 994|回复: 4

[iptv信源 资源分享或寻求] yg半成品源码

[复制链接]
发表于 2023-9-4 19:19 | 显示全部楼层 |阅读模式
今天测试GeJI大佬写的用不了,就根据他的接口,思路叫ai重写。
修修改改几十次,修到最后没错误提示,服务器也没错误日志,没法修改了。
不知是我服务器的问题还没源码有错误,发出来大家交流。走服务器流量的哦!
注意,内地服务器不用试!

http://网址/script.php?id=2mCSYvcfhtc&qn=720p

  1. <?php
  2. $ch = array(
  3.     '2mCSYvcfhtc' => array(
  4.         'id' => '2mCSYvcfhtc',
  5.         'qn' => '720p',
  6.         'files' => 10
  7.     ),
  8.     'videoId2' => array(
  9.         'id' => 'youtubeVideoId2',
  10.         'qn' => 'quality2',
  11.         'files' => 5
  12.     ),
  13.     // 添加更多视频通道信息...
  14. );

  15. if (isset($_GET['id']) && isset($_GET['qn'])) {
  16.     $videoId = $_GET['id'];
  17.     $quality =['qn'];

  18.     if (isset($ch[$videoId])) {
  19.         $id = $ch[$videoId]['id'];
  20.         $qn = $ch[$videoId]['qn'];
  21.         $delfiles = $ch[$videoId]['files'];

  22.         // 下载和缓存视频的代码逻辑...
  23.         $data = file_get_contents('https://youtube.com/watch?v='.$id);
  24.         preg_match('/hlsManifestUrl":"(.*?)"/', $data, $m3u8url);
  25.         $data = file_get_contents($m3u8url[1]);
  26.         preg_match_all('/http(.*?)\n/', $data, $m3u8url);
  27.         $m3u8data = file_get_contents($m3u8url[0][array_search($qn, array_column($m3u8url[0], '0'))]);

  28.         if (empty($_GET['ts'])) {
  29.             header('Content-Type: application/x-mpegURL');
  30.             $r = urldecode(preg_replace('/http(.*?)sq\//', 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?id='.$videoId.'&qn='.$qn.'&ts='.date('Ymd_'), $m3u8data));
  31.             $r = str_replace('/file/seg.ts', '', $r);
  32.             echo $r;
  33.         } else {
  34.             $ts = $_GET['ts'];
  35.             $cacheDir = 'cache/'.$videoId;
  36.             @mkdir($cacheDir, 0777, true);

  37.             preg_match_all('/clen=(.*?);|lmt=(.*?)\/|dur\/(.*?)$|(.*?)\//', $ts, $ids);
  38.             $tsFileName = $ids[4][0].'.ts';

  39.             if (file_exists($cacheDir.'/'.$tsFileName)) {
  40.                 header('Location: '.$cacheDir.'/'.$tsFileName);
  41.             } else {
  42.                 preg_match_all('/http(.*?)sq\//', $m3u8data, $urlhead);
  43.                 $url = $urlhead[0][0].preg_replace('/(.*?)_/', '', $ids[4][0]).'/goap/clen%3D'.$ids[1][2].'%3Blmt%3D'.$ids[2][3].'/govp/clen%3D'.$ids[1][5].'%3Blmt%3D'.$ids[2][6].'/dur/'.$ids[3][7].'/file/seg.ts';

  44.                 // 添加请求头
  45.                 $opts = array(
  46.                     'http' => array(
  47.                         'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\r\n"
  48.                     )
  49.                 );
  50.                 $context = stream_context_create($opts);
  51.                 $data = file_get_contents($url, false, $context);

  52.                 // 调试输出
  53.                 error_log("URL: ".$url);
  54.                 error_log("Data: ".$data);

  55.                 file_put_contents($cacheDir.'/'.$tsFileName, $data);
  56.                 header('Location: '.$cacheDir.'/'.$tsFileName);
  57.             }
  58.         }

  59.         $list = @scandir($cacheDir.'/'.$videoId);
  60.         if (is_array($list) && count($list) - 2 >= $delfiles) {
  61.             for ($i = 2; $i < count($list); $i++) {
  62.                 unlink($cacheDir.'/'.$videoId.'/'.$list[$i]);
  63.             }
  64.             header('Location: '.basename(__FILE__));
  65.         }
  66.     } else {
  67.         echo 'Invalid video ID';
  68.     }
  69. } else {
  70.     echo 'Video ID and quality are required';
  71. }
  72. ?>
复制代码



只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-9-4 19:34 来自手机 | 显示全部楼层
ai这玩意儿稍微复杂一点的代码比自己写累多了。

点评

是啊,但不懂代码的人只能用它了  详情 回复 发表于 2023-9-4 19:55
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-4 19:55 | 显示全部楼层
huanggai186 发表于 2023-9-4 19:34
ai这玩意儿稍微复杂一点的代码比自己写累多了。

是啊,但不懂代码的人只能用它了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-9-4 20:59 | 显示全部楼层
https://raw.kgithub.com/jianyuann/live-url/ytblive/tvbs.m3u8
ytb生成的播放链接时效是6小时,可以直接使用ytb-dl创建定时任务,每天运行5次,比php代理的效率高些。
因为php先要请求网站源码,源码的大概在1M左右,然后在源码中找到原始链接再处理,对于直播的视频链接似乎不友好。
以下是我早前写的PHP,可供参考。
https://www.right.com.cn/forum/thread-8250802-1-1.html

点评

你那个要science看,我那个成功后不用science看  详情 回复 发表于 2023-9-4 23:42
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-4 23:42 来自手机 | 显示全部楼层
本帖最后由 mxwz 于 2023-9-4 23:43 编辑
tugar 发表于 2023-9-4 20:59
https://raw.kgithub.com/jianyuann/live-url/ytblive/tvbs.m3u8
ytb生成的播放链接时效是6小时,可以直接 ...

你那个要科技方法看,我那个成功后不用科技方法看
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

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

GMT+8, 2025-5-29 09:00

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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

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