找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1099|回复: 9

[其它网络视频相关] 直播源代理基础教程-PHP的跳转代理

[复制链接]
本帖最后由 1499232490 于 2024-2-20 18:46 编辑

转载自,供大伙儿思考交流,敬请小伙伴们多多指教:直播源代理基础教程-PHP的跳转代理

原文:
上次分析了各大门户直播青睐有加的m3u8格式文件的基本构成。用播放器(比如VLC,或者盒子直播软件)打开有效的m3u8地址,就可以播放直播节目了。
有朋友问写好的m3u8文件放在哪里,这个想法有偏差。因为m3u8文件的内容是服务商实时刷新的,我们不可能上传m3u8文件到自己的网站空间然后手动更新,这个过程应该由我们的代理程序完成。换句话说,代理的作用是,靠编写好的程序自动生成或者跳转到有访问限制的m3u8文件。这个过程听上去很绕,也许是楼主表达能力不行,不过大家别着急,听我慢慢说。
首先说说程序怎么写。一般我们采用php语言,因为强大且易用。写好php代码,上传到自己的网站空间,就可以了。
我们需要申请一个php空间,这个自己解决。
  1. <?php
  2. echo '<strong>Hello, SAE!</strong>';
复制代码
第1行是说,我是php程序。
第2行,echo的意思是在屏幕上显示,单引号里面的内容就是我们看到的显示的内容。和表示他们中间的文字要加粗显示。这就是一个最简单的php程序,你可以试着修改单引号里面的内容,保存,再运行试试看,怎么样,你已经会写简单的php程序了呢。
当然,只会echo这一个功能是不够做代理的,我们边走边看,根据例子慢慢学。
下面引入演练教学,我们找一些不那么敏感的敏感源练练手。比如我们来看Λ⊥dd,虽然公认是很不错的已经被提取且广泛散播的源。Λ⊥dd全套地址本站帖子有,比如CCTV-5
  1. http://ppu.17kds.net/live/5/30/06c11d0b6c4a436e9133329b719e737d.m3u8?type=tv
复制代码
Λ⊥dd使用了CDN加速,也就是各地各个运营商有很多服务器,用户访问流畅。默认情况下,你请求上面地址的时候,本地运营商的dns会把域名解析到适合的服务器。但这个自动解析有时候并不流畅,于是本坛很多帖子(这里,这里和这里)都提到,我们可以把ppu.17kds.net换成服务器的ip地址,比如上海移动的服务器:
  1. http://117.135.161.16/live/5/30/06c11d0b6c4a436e9133329b719e737d.m3u8?type=tv
复制代码
你当然可以直接把这个写在你的盒子自定义频道里,但比如过一阵这个ip不流畅了你想换一个,或者Λ⊥dd调整了type的参数,你是否也要一个一个频道的修改呢?也许你可以导出,批量替换,再导入……但总是麻烦的。
我们现在写一个代理,它的功能是,当访问这个代理的时候,会跳转到我们选定的Λ⊥dd服务器上播放直播节目。
在SAE的代码编辑器里面,新建一个文件,叫test.php,内容如下,
  1. <?php
  2. $id=$_GET['id'];
  3. $tp=$_GET['tp'];
  4. $url="http://117.135.161.16/live/5/".$tp."/".$id.".m3u8?type=tv";
  5. header('location:'.urldecode($url));
  6. ?>
复制代码
我们来解释这个代理。先看第4行,$url是一个字符串变量,我们用它存储我们想要跳转的地址。它的定义里有两个变量字符串,一个是$tp,一个是$id。引号里面的内容表示原文保存,中间的圆点.用于把字符串连接到一起。你可以发现Λ⊥dd系列地址中,只有这两部分是根据频道变化的,所以我们在第2行、第3行,获得用户需要请求的$id和$tp,变量的名字可以随便起,你叫$amao,$agou也可以。第5行就是说,我们要跳转到$url里面存储的地址。保存代码,我们现在试着调用。
用VLC或者盒子直播软件访问
  1. http://XXX.sinaapp.com/test.php?tp=30&id=06c11d0b6c4a436e9133329b719e737d
复制代码
  1. http://XXX.sinaapp.com/test.php?tp=45&id=e9301e073cf94732a380b765c8b9573d
复制代码
就是湖南卫视。
如果以后要维护Λ⊥dd地址,只要不是Λ⊥dd官方大改,就可以通过修改$url的内容完成。
这是一个很简单的代理,算是一个简单的开始。

评分

参与人数 2恩山币 +2 收起 理由
charl*** + 1 很棒的教學!
iw*** + 1 很棒

查看全部评分

支持大佬 多出精品
回复

使用道具 举报

感谢分享                                    
回复

使用道具 举报

这些以前91的教程
回复

使用道具 举报

 楼主| | 显示全部楼层

91是什么网站呀
回复

使用道具 举报

请教个问题;看到论坛里有各个大神写的php代理;使用播放器播放的时候,需要指定要播放的频道的id;
那,如果自动生成一个频道表呢?类似m3u8里那种,如cctv5,http://xxxx.com/play?id=cctv5
不能每加一个代理,就得手动做一个频道表出来吧?
回复

使用道具 举报

 楼主| | 显示全部楼层
raulmadrid777 发表于 2024-2-21 11:16
请教个问题;看到论坛里有各个大神写的php代理;使用播放器播放的时候,需要指定要播放的频道的id;
那,如 ...

我不太懂你说的频道表是什么意思,按照我的理解,把代理的php放到服务器内,用户访问时按照
  1. http:example.com/php?id={频道名}
复制代码
这样格式可以访问不同的节目
回复

使用道具 举报

1499232490 发表于 2024-2-21 15:00
我不太懂你说的频道表是什么意思,按照我的理解,把代理的php放到服务器内,用户访问时按照这样格式可以 ...

我的意思是,id后面跟的频道名有很多。当使用播放器导入节目源(例如tvbox的直播配置中导入直播源)时,需要手动去一个节目源的表吗?表中手动列出所有频道?
回复

使用道具 举报

 楼主| | 显示全部楼层
raulmadrid777 发表于 2024-2-21 15:26
我的意思是,id后面跟的频道名有很多。当使用播放器导入节目源(例如tvbox的直播配置中导入直播源)时, ...

噢噢,可以呀。先手动列出频道,然后用工具转成m3u8格式就好了。我用的工具是黑鸟博客里的。附上链接:
  1. https://guihet.com/tvlistconvert.html#zbyjg
复制代码
回复

使用道具 举报

1499232490 发表于 2024-2-21 18:10
噢噢,可以呀。先手动列出频道,然后用工具转成m3u8格式就好了。我用的工具是黑鸟博客里的。附上链接: ...

必须得手动列出频道才行吗?
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-11 19:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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