直播源代理基础教程-PHP的跳转代理

继续上次的,看完以下内容就可以自己写个最简单的直播源代理了..

原文

上次分析了各大门户直播青睐有加的m3u8格式文件的基本构成。用播放器(比如VLC,或者盒子直播软件)打开有效的m3u8地址,就可以播放直播节目了。
有朋友问写好的m3u8文件放在哪里,这个想法有偏差。因为m3u8文件的内容是服务商实时刷新的,我们不可能上传m3u8文件到自己的网站空间然后手动更新,这个过程应该由我们的代理程序完成。换句话说,代理的作用是,靠编写好的程序自动生成或者跳转到有访问限制的m3u8文件。这个过程听上去很绕,也许是楼主表达能力不行,不过大家别着急,听我慢慢说。

《直播源代理基础教程-PHP的跳转代理》
首先说说程序怎么写。一般我们采用php语言,因为强大且易用。写好php代码,上传到自己的网站空间,就可以了。

我们需要申请一个php空间,这个自己解决..

<?php
echo '<strong>Hello, SAE!</strong>';

第1行是说,我是php程序。
第2行,echo的意思是在屏幕上显示,单引号里面的内容就是我们看到的显示的内容。表示他们中间的文字要加粗显示。这就是一个最简单的php程序,你可以试着修改单引号里面的内容,保存,再运行试试看,怎么样,你已经会写简单的php程序了呢。
当然,只会echo这一个功能是不够做代理的,我们边走边看,根据例子慢慢学。

下面引入演练教学,我们找一些不那么敏感的敏感源练练手。比如我们来看Λ⊥dd,虽然公认是很不错的已经被提取且广泛散播的源。Λ⊥dd全套地址本站帖子有,比如CCTV-5
http://ppu.17kds.net/live/5/30/06c11d0b6c4a436e9133329b719e737d.m3u8?type=tv

Λ⊥dd使用了CDN加速,也就是各地各个运营商有很多服务器,用户访问流畅。默认情况下,你请求上面地址的时候,本地运营商的dns会把域名解析到适合的服务器。但这个自动解析有时候并不流畅,于是本坛很多帖子(这里,这里和这里)都提到,我们可以把ppu.17kds.net换成服务器的ip地址,比如上海移动的服务器:
http://117.135.161.16/live/5/30/06c11d0b6c4a436e9133329b719e737d.m3u8?type=tv

你当然可以直接把这个写在你的盒子自定义频道里,但比如过一阵这个ip不流畅了你想换一个,或者Λ⊥dd调整了type的参数,你是否也要一个一个频道的修改呢?也许你可以导出,批量替换,再导入……但总是麻烦的。

我们现在写一个代理,它的功能是,当访问这个代理的时候,会跳转到我们选定的Λ⊥dd服务器上播放直播节目。
在SAE的代码编辑器里面,新建一个文件,叫test.php,内容如下,

<?php
$id=$_GET['id'];
$tp=$_GET['tp'];
$url="http://117.135.161.16/live/5/".$tp."/".$id.".m3u8?type=tv";
header('location:'.urldecode($url));
?>

我们来解释这个代理。先看第4行,$url是一个字符串变量,我们用它存储我们想要跳转的地址。它的定义里有两个变量字符串,一个是$tp,一个是$id。引号里面的内容表示原文保存,中间的圆点.用于把字符串连接到一起。你可以发现Λ⊥dd系列地址中,只有这两部分是根据频道变化的,所以我们在第2行、第3行,获得用户需要请求的$id和$tp,变量的名字可以随便起,你叫$amao,$agou也可以。第5行就是说,我们要跳转到$url里面存储的地址。保存代码,我们现在试着调用。

用VLC或者盒子直播软件访问
http://XXX.sinaapp.com/test.php?tp=30&id=06c11d0b6c4a436e9133329b719e737dhttp://XXX.sinaapp.com/test.php?tp=45&id=e9301e073cf94732a380b765c8b9573d

就是湖南卫视。

如果以后要维护Λ⊥dd地址,只要不是Λ⊥dd官方大改,就可以通过修改$url的内容完成。

这是一个很简单的代理,算是一个简单的开始。

其他

这两篇文章都是原xx站(网站已挂)上 wfr3721 前辈于2014年6月份发表的..以上的直播地址年久失修可能已经失效,但是代理的方法还是讲的明白了..

点赞
  1. 二狗子说道:

    要是能发个写好的 让我们直接替换网址就更好了

  2. 李学江博客说道:

    厉害了,我的哥

发表评论

电子邮件地址不会被公开。 必填项已用*标注