量子非凡资源里有广告,用php写的一个插件可以去掉这个广告,不过这样对服务器的内存要求较高,不过缓存后,后面调用就快多了。大致方法就是解析资源站的M3U8文件,删除其中的广告流,然后重新整理连接流再保存到我们自己的服务器,再用解析接口来调用播放就没有广告了。
需要注意
1、部分资源站可有有跨域问题,如有无法播放的情况可配置一下跨域
2、如果是宝塔的话,在站点管理→配置文件里新增下面的代码
add_header "Access-Control-Allow-Origin" "*" always; add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS" always; add_header "Access-Control-Allow-Headers" "Authorization, Content-Type, Accept, Origin, DNT, User-Agent, X-Requested-With" always;
第一条规则:无论来源是什么,均允许跨域请求。规则为:always 添加 ** 来表示所有来源。
第二条规则:允许使用 GET、POST、OPTIONS 方法进行跨域请求。规则为:always 添加 GET、POST、OPTIONS。
第三条规则:允许在跨域请求中携带多种请求头信息,如 Authorization、Content-Type、Accept、Origin、DNT、User-Agent、X-Requested-with 等。规则为:always 添加所有要允许携带的请求头信息。
注意:允许所有的跨域请求,为了安全,只允许自己的站点进行跨域即可!
<?php
/*
'软件名称:量子 非凡资源去广告插件
'开发作者:雅爱笔记 QQ:1334588325
官方网站:https://yaaibk.com/
'--------------------------------------------------------
*/
header("Content-Type:application/json;chartset=uft-8");
error_reporting(0);
define('IFHC',1);
//是否缓存视频链接 1 缓存 0 不缓存
define('HCFILE',__DIR__.'/cache/');
//缓存保存的文件夹 如果不缓存请无视
define('HCTIME',604800);
//缓存时效 秒为单位 如果不缓存请无视
define('YUMING','https://dy.yaaibk.com');
//改为自己的域名
$url=isset($_GET['url'])?$_GET['url']:'';
$MD5 = Md5($url).'.m3u8';
if (is_dir(HCFILE)==false) {
mkdir(HCFILE,0755,true);
}
if (IFHC==1 && file_exists(HCFILE.$MD5) && filemtime(HCFILE.$MD5) + HCTIME > time()) {
$arr = array(
'code' => 200,
'msg' => '解析成功',
'cache' => true,
'url' => YUMING.'/cache/'.$MD5
);
die(json_encode($arr,456));
}
$str=get_web_page($url);
if (empty($str)) {
die(404);
}
$url_1 = str_replace('index.m3u8', '', $url);
preg_match("/(.*?)m3u8/U",$str,$str);
$url=$url_1.$str[0];
$url_1 = preg_replace('/(.*?)\/(.*?).m3u8/U', '\1', $url)."/";
$data=get_web_page($url);
if (empty($data)) {
die(404);
}
$data_1 = explode("#EXT-X-DISCONTINUITY", $data);
preg_match_all('/(.*?)(\d{1,3})\.ts/', $data,$str);
for($i=100;$i<count($str[1]);$i++ ){
if($i != $str[2][$i]){
$k=$str[0][$i];
break;
}
}
$m3u8='';
foreach ($data_1 as $key => $val){
if($key ==0){
$ext='';
}else{
$ext="#EXT-X-DISCONTINUITY";
}
if(stripos($val,$k)){
continue;
}
$m3u8.=$ext.$val;
}
$m3u8 = preg_replace('/#EXTINF:(.*),\n?(.*)\n?/',"#EXTINF:$1,\n$url_1$2\n",$m3u8);
file_put_contents(HCFILE.$MD5,$m3u8);
$arr = array(
'code' => 200,
'msg' => '解析成功',
'url' => YUMING.'/cache/'.$MD5
);
die(json_encode($arr,456));
function get_web_page($url){
$options = array(
CURLOPT_RETURNTRANSFER => true, //返回网页
CURLOPT_HEADER => false, //不返回头信息
/* CURLOPT_FOLLOWLOCATION => true, //抓取重定向*/
CURLOPT_ENCODING => "gzip,deflate", //处理编码
CURLOPT_SSL_VERIFYPEER => 0, //验证对等证书
CURLOPT_SSL_VERIFYHOST => 2, //检查服务器SSL证书
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 SE 2.X MetaSr 1.0",
CURLOPT_AUTOREFERER => true, //引用页重定向
CURLOPT_CONNECTTIMEOUT => 10, //连接超时
CURLOPT_TIMEOUT => 10, //回复超时
);
$ch = curl_init($url);
curl_setopt_array($ch,$options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
?>方法,
https://yaaibk.com/ad_cj.php?url=https://vip.ffzy-play3.com/20221104/1951_8816040a/index.m3u8