恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
当贝投影
查看: 783|回复: 53

[iptv信源 资源分享或寻求] 呼叫大神!给我把php改成ts的那种吧

[复制链接]
发表于 2022-6-18 11:44 | 显示全部楼层 |阅读模式
200恩山币
原版php代码如下(id是1-5分别代表不同的台):
  1. <?php
  2. $id=$_GET["id"];
  3. $bstrURL = 'http://hitfm.olis.com.tw:8080/hitfm_api/index.php/Basic/GetHLS';
  4. $userip = $_SERVER["REMOTE_ADDR"];
  5. $header=array('User-Agent:Mozilla/5.0','CLIENT-IP: '.$userip,'X-FORWARDED-FOR:'.$userip);
  6. $ch = curl_init();
  7. curl_setopt($ch, CURLOPT_URL, $bstrURL);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  10. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  11. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  12. $data = curl_exec($ch);
  13. curl_close($ch);
  14. $reArr = json_decode($data,true);
  15. header('location:'.$reArr["data"]["hlsurl"][$_GET['id']]);
复制代码



补充内容 (2022-6-18 14:01):
虽然没有改成ts 但是我感觉这位大神改的对播放器更加友好了

最佳答案

查看完整内容

来吧,包治百病 补充内容 (2022-6-18 13:04): 现在是论坛什么改革,不能编辑,只能补充?

点评

第二问题已印证:把header('location:'.$reArr["data"]["hlsurl"][$_GET['id']])改成header('location:'.str_replace('playlist','chunklist',$reArr["data"]["hlsurl"][$id]));就可以了   发表于 2022-6-18 14:48
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 11:44 | 显示全部楼层
来吧,包治百病


  1. <?php
  2. //http://127.0.0.1/1.php?id=5
  3. $id=$_GET["id"];
  4. $URL = 'http://hitfm.olis.com.tw:8080/hitfm_api/index.php/Basic/GetHLS';
  5. $data = get_data($URL);
  6. $reArr = json_decode($data,true);
  7. $wasu=$reArr["data"]["hlsurl"][$_GET['id']];
  8. $wasu=str_replace("playlist","chunklist",$wasu);
  9. $arr=explode("chunklist",$wasu);
  10. $ip=$arr[0];
  11. $wasu=str_replace(",\n",",\n".$ip,get_data($wasu));
  12. header('Content-Type: application/vnd.apple.mpegurl');
  13. echo $wasu;exit;

  14. function get_data($url)
  15. {
  16. $ch=curl_init();
  17. $User_Agent="win64";
  18. $timeout=3;
  19. curl_setopt($ch,CURLOPT_URL,$url);
  20. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  21. curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
  22. curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false);
  23. curl_setopt($ch,CURLOPT_HEADER,0);
  24. curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
  25. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  26. curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
  27. curl_setopt($ch,CURLOPT_USERAGENT,$User_Agent);
  28. $chr=curl_exec($ch);
  29. curl_close($ch);
  30. return $chr;
  31. }
  32. ?>
复制代码




补充内容 (2022-6-18 13:04):
现在是论坛什么改革,不能编辑,只能补充?

点评

大佬。现在又有新问题了。不知道为什么,今天想打开这个台,必须把手机DNS改为8.8.8.8才能打开。请问可以在代码中解决这个DNS的问题吗?  详情 回复 发表于 2022-6-20 09:51
大佬。现在又有新问题了。不知道为什么,今天想打开这个台,必须把手机DNS改为8.8.8.8才能打开。请问可以在代码中解决这个DNS的问题吗?  详情 回复 发表于 2022-6-20 09:51
大神 这个也改下吧 这个限制当地ip 可以改下吗  详情 回复 发表于 2022-6-18 12:57

评分

参与人数 1恩山币 +1 收起 理由
coolguy007 + 1 好好好

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 11:44 | 显示全部楼层
呼唤大神@jiteloozz

点评

忽略了一件事~~~  发表于 2022-6-18 13:32
不是大神,不要戴高帽哦。 经测试,地址都是直接能播放的。为什么要多此一举。。。  详情 回复 发表于 2022-6-18 12:14
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 12:14 | 显示全部楼层

不是大神,不要戴高帽哦。

经测试,地址都是直接能播放的。为什么要多此一举。。。

点评

因为做成ts 就可以把代码中的伪装ip部分删除了。我测试过你之前做的那个ts,不需要伪装ip直接播放啊.  详情 回复 发表于 2022-6-18 12:19
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 12:19 | 显示全部楼层
jiteloozz 发表于 2022-6-18 12:14
不是大神,不要戴高帽哦。

经测试,地址都是直接能播放的。为什么要多此一举。。。

因为做成ts 就可以把代码中的伪装ip部分删除了。我测试过你之前做的那个ts,不需要伪装ip直接播放啊.

点评

有误~~~  发表于 2022-6-18 13:33
这是啥逻辑?这个PHP不需要特殊请求头,4,5句也是可以不用的。  详情 回复 发表于 2022-6-18 12:32
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 12:32 | 显示全部楼层
coolguy007 发表于 2022-6-18 12:19
因为做成ts 就可以把代码中的伪装ip部分删除了。我测试过你之前做的那个ts,不需要伪装ip直接播放啊.

这是啥逻辑?这个PHP不需要特殊请求头,4,5句也是可以不用的。

点评

不行的,如果把第45句去掉,虽然能跳转到m3u8,但是实际无法播放,提示没有权限。播放端ip必须和用来获取直播流的服务器ip一样才可以播放,所以我才加了第45句的。  详情 回复 发表于 2022-6-18 12:37
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 12:37 | 显示全部楼层
jiteloozz 发表于 2022-6-18 12:32
这是啥逻辑?这个PHP不需要特殊请求头,4,5句也是可以不用的。

不行的,如果把第45句去掉,虽然能跳转到m3u8,但是实际无法播放,提示没有权限。播放端ip必须和用来获取直播流的服务器ip一样才可以播放,所以我才加了第45句的。

点评

既然能获取到M3U8在先,又何来需要IP一致之说  详情 回复 发表于 2022-6-18 12:45
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 12:45 | 显示全部楼层
coolguy007 发表于 2022-6-18 12:37
不行的,如果把第45句去掉,虽然能跳转到m3u8,但是实际无法播放,提示没有权限。播放端ip必须和用来获取 ...

既然能获取到M3U8在先,又何来需要IP一致之说

补充内容 (2022-6-18 12:46):
大致是因为地址需要302跳转

点评

但是他确实是限制ip的啊  详情 回复 发表于 2022-6-18 12:48
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 12:48 | 显示全部楼层
jiteloozz 发表于 2022-6-18 12:45
既然能获取到M3U8在先,又何来需要IP一致之说

补充内容 (2022-6-18 12:46):

但是他确实是限制ip的啊

点评

好吧,我的错~~~ 测试:http://mmitv.top/test/hito_fm.php?id=1  详情 回复 发表于 2022-6-18 13:20
用我的代码,目前是可以解决限制ip问题的  详情 回复 发表于 2022-6-18 12:56
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 12:56 | 显示全部楼层
coolguy007 发表于 2022-6-18 12:48
但是他确实是限制ip的啊

用我的代码,目前是可以解决限制ip问题的
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 12:57 | 显示全部楼层
qqincai 发表于 2022-6-18 12:44
来吧,包治百病

大神 这个也改下吧 这个限制当地ip 可以改下吗

  1. coolguy007 发表于 2022-6-5 13:01
  2. 好事聯播網 你会弄吗?

  3. $id=$_GET["id"];
  4. $bstrURL = "https://hichannel.hinet.net/radio/cp.do?id=$id";
  5. $refer = 'https://hichannel.hinet.net';
  6. $ip = $_SERVER["REMOTE_ADDR"];
  7. $header=array('User-Agent:Mozilla/5.0','CLIENT-IP: '.$ip,'X-FORWARDED-FOR: '.$ip);
  8. $ch = curl_init();
  9. curl_setopt($ch, CURLOPT_URL, $bstrURL);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  12. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  13. curl_setopt($ch, CURLOPT_REFERER, $refer);
  14. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  15. $data = curl_exec($ch);
  16. curl_close($ch);
  17. $reArr = json_decode($data)->_adc;
  18. header('location:'.$reArr);


  19. BestRadio 台中好事
  20. MDU0NDIxMTQzMDc
  21. 台北好事
  22. OTI3MDIxMjgxMzM
  23. 花蓮好事
  24. Nzc0ODMwMzQ3MjA
  25. 高雄港都
  26. NzYxMjIxMzIwOTc
复制代码

点评

限制当地ip的除了梯子几乎无解,或者说ts切片有规律而且不限制才可能实现,比如4G  详情 回复 发表于 2022-6-18 12:59
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 12:59 | 显示全部楼层
coolguy007 发表于 2022-6-18 12:57
大神 这个也改下吧 这个限制当地ip 可以改下吗

限制当地ip的除了梯子几乎无解,或者说ts切片有规律而且不限制才可能实现,比如4G
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 13:03 | 显示全部楼层
<?php
//http://127.0.0.1/1.php?id=5
$id=$_GET["id"];
$URL = 'http://hitfm.olis.com.tw:8080/hitfm_api/index.php/Basic/GetHLS';
$data = get_data($URL);
$reArr = json_decode($data,true);
$wasu=$reArr["data"]["hlsurl"][$_GET['id']];
$wasu=str_replace("playlist","chunklist",$wasu);
$arr=explode("chunklist",$wasu);
$ip=$arr[0];
$wasu=str_replace(",\n",",\n".$ip,get_data($wasu));
header('Content-Type: application/vnd.apple.mpegurl');
echo $wasu;exit;

function get_data($url)
{
$ch=curl_init();
$User_Agent="win64";
$timeout=3;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_USERAGENT,$User_Agent);
$chr=curl_exec($ch);
curl_close($ch);
return $chr;
}
?>

点评

大神,这个可以改下吗?谢谢啦。和刚才那个不太一样啊  详情 回复 发表于 2022-6-18 13:13
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-6-18 13:13 | 显示全部楼层

大神,这个可以改下吗?谢谢啦。和刚才那个不太一样啊
  1. <?php
  2. $id=$_GET["id"];
  3. $bstrURL = 'http://pop.olis.com.tw:8080/pop_api/index.php/Basic/GetHLS';
  4. $data['station'] = 2;
  5. $userip = $_SERVER["REMOTE_ADDR"];
  6. $header=array('User-Agent:Mozilla/5.0','CLIENT-IP: '.$userip,'X-FORWARDED-FOR:'.$userip);
  7. $ch = curl_init();
  8. curl_setopt($ch, CURLOPT_URL, $bstrURL);
  9. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  11. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  12. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  13. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  14. $data = curl_exec($ch);
  15. curl_close($ch);
  16. $reArr = json_decode($data,true);
  17. header('location:'.$reArr["data"]["hlsurl"][$_GET['id']]);
复制代码

点评

都写好能用的,为什么你好抱着不能用的折腾?  详情 回复 发表于 2022-6-18 13:15
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-6-18 13:15 | 显示全部楼层
coolguy007 发表于 2022-6-18 13:13
大神,这个可以改下吗?谢谢啦。和刚才那个不太一样啊

都写好能用的,为什么你好抱着不能用的折腾?

点评

我写好的这个虽然能用。但是我觉得的写的那个更好啊。对播放器更友好。我刚才测试了半天,觉得你写的那个更容易播放啊 拜托  详情 回复 发表于 2022-6-18 13:20
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-7-1 06:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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