源码说明

前面我们发布了《官方蓝光影视JSON接口|量子|非凡|去广告》的文章,其中就有一个接口调用了此方法,本源码大致就是解析资源站的M3U8文件,删除其中的广告流,然后重新整理连接流再保存到我们自己的服务器,再用解析接口来调用播放就没有广告了,不过这样对服务器的内存要求较高,不过缓存后,后面调用就快多了,现在有很多人这样做!

提示:没有服务器的直接退出,因为源码是PHP文件,需要在服务器中使用,使用时会缓存文件,上传服务器后,修改自己的域名,就可以直接使用了!

原理说明

主要说明

M3U8是一种基于文本的播放列表文件格式,常用于HLS(HTTP Live Streaming)流媒体协议中,用于描述流媒体播放器在客户端上需要请求和播放的多个视频分片文件及其对应的媒体地址,并且具备动态调整码率、实时切换清晰度等优点。

在M3U8中,不仅包括了视频文件的地址信息,还可以包含各种针对播放器和服务器的设置和控制参数,如清晰度、码率、是否支持广告跳过等。因此,在实现去广告的操作时,主要就是对M3U8文件内容进行处理,常见的方法包括:

  1. 直接删除广告所在的ts分片文件,然后修改M3U8文件内容,将被删除的ts分片从列表中移除,以达到去广告的效果。
  2. 将广告分片文件的地址替换为正片分片文件的地址,然后重新生成一个新的M3U8文件。这种方式通常需要依靠第三方工具进行,例如FFmpeg等。

需要注意的是,由于HLS视频文件是分段传输的,因此如果要完全去除M3U8中的广告,需要同时删除广告分片文件以及对应的数据段,并对M3U8文件中对应的数据进行修改。

需要注意

没有开启跨域的,使用自己的播放器的时候会出现跨域异常, 解决跨域的方法在底部使用方法里!

解析支持

隐藏内容
本内容需权限查看
  • 注册用户: 50积分
  • VIP会员: 30积分6折
  • 永久会员: 30积分6折
已有8人解锁查看

使用方法

源码使用

1、上传源码后,修改“index.php”文件里的“$localHost”为自己的域名,需要精确到路径

2、默认下载包已经有一个“m3u8”的文件夹了,如果没有就自己新建一个

3、需要给与目录“777”权限,不然可能无法写入

基于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 添加所有要允许携带的请求头信息。

注意:允许所有的跨域请求,为了安全,只允许自己的站点进行跨域即可!

更新说明

2023-04-19

  • 优化json结果打印,使用JSON_UNESCAPED_SLASHES参数来让json_encode()函数去除对斜杠的转义
  • 优化获取文件内容请求次数,改用“curl_multi”请求中获取多个URL的内容,提高效率,减少等待时间

2023-04-18

  • 发布初始版本
1.使用本站下载的源码仅限于个人学习和非商业用途。
2.禁止将本站下载的源码用于搭建或支持任何违法、淫秽、暴力或侵犯他人合法权益的网站或应用。
3.使用本站下载的源码需遵守国家法律法规及相关规定,不得从事任何违法活动。
4.如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。