分享一个P2P的M3U8解析源(非CDNbye的P2P)

代码相关 苹果CMS 技术教程 P2P点播 P2P视频加速 P2P 2019-11-19 阅读:14206

通知:注意 注意 注意 请勿灌水,灌水者一律拉黑~!QQ群:464327881

注释:此P2P非 CDNbye的P2P

<?php
/**
 * @代码开源,透明,请勿用于商业用途,完全开源模式,供大家一起探讨研究

 * @支持全网(支持跨域)的M3U8资源加速

 * @调用举例:http://域名/m3u8.php?url=
 * @举例说明:https://www.xmaocloud.com/p2p.php?url=https://cdn1.chlpdq.com/20180904/Axof1dia/index.m3u8

 * @如有问题(反馈)请联系QQ 8852422修复

 * @author    www.pohaier.com
 * @copyright 2018
 * @version   2.1
 *
 * for ray-p2p btjson
 *
 */

error_reporting(0);
header("Content-Type: text/html; charset=utf-8");

$url = $_GET['url'];
if(strpos($url,'http') ===false){
    $url='https://tx.hls.huya.com/backsrc/'.base64_decode($url).'.m3u8';
  }
if(strpos(wm_https(),'ps:') !== false){//接口带 S 证书
    if(strpos($url,'http://') !== false){
        header("location:http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].'?'.$_SERVER['QUERY_STRING']);//判断直链没带 S 证书就跳转到不带 S 证书的接口
        exit();
    }
}else{//接口不带 S 证书
    if(strpos($url,'https://') !== false){
        header("location:https://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].'?'.$_SERVER['QUERY_STRING']);//判断直链带 S 证书就跳转到带 S 证书的接口
        exit();
    }
}
function wm_https(){
    $http = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
    return $http;
}
?> 

<html>
<head>
<title>Dplayer---P2P版播放器</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<meta http-equiv="content-language" content="zh-CN"/>
<meta http-equiv="X-UA-Compatible" content="chrome=1"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta name="referrer" content="never"/>
<meta name="renderer" content="webkit"/>
<meta name="msapplication-tap-highlight" content="no"/>
<meta name="HandheldFriendly" content="true"/>
<meta name="x5-page-mode" content="app"/>
<meta name="Viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>

<link rel="stylesheet" href="../ce/321/DPlayer.min.css" type="text/css"/>
<style type="text/css">
body,html{width:100%;height:100%;background:#000;padding:0;margin:0;overflow-x:hidden;overflow-y:hidden}
*{margin:0;border:0;padding:0;text-decoration:none}
#stats{position:fixed;top:5px;left:8px;font-size:12px;color:#fdfdfd;text-shadow:1px 1px 1px #000, 1px 1px 1px #000}
#dplayer{position:inherit}
</style>
</head>
<body style="background:#000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" oncontextmenu=window.event.returnValue=false>
<!--<script type="text/javascript" src="//pibaba.com.cn/code/7fbc4825b5872277.js"></script>   -->
<!--<script type="text/javascript" src="https://uk55.cn/jquery/v1.min.js"></script>   -->

<div id="dplayer"></div>
<div id="stats"></div>
<!--兼容IE浏览器-->
<script src="https://cdn.bootcss.com/babel-polyfill/7.4.4/polyfill.min.js"></script>
<script language="Javascript">
document.oncontextmenu=new Function("event.returnValue=false");
document.onselectstart=new Function("event.returnValue=false");
</script>
<script src="../ce/321/p2p-media-loader-core.min.js"></script>
<script src="../ce/321/p2p-media-loader-hlsjs.min.js"></script>
<script type="text/javascript" src="../ce/321/hls.min.js"></script>
<script type="text/javascript" src="../ce/321/DPlayer.min.js"></script>
<!--<script src="https://cdn.jsdelivr.net/npm/dplayer@latest"></script>-->
<script type="text/javascript" src="../ce/321/flv.min.js"></script>
<script type="text/javascript" src="../ce/321/jquery.min.js"></script>
<!--<script type="text/javascript" src="/dplayer/p2p.js"></script>-->
<script>
    var webdata = {
        set:function(key,val){
            window.sessionStorage.setItem(key,val);
        },
        get:function(key){
            return window.sessionStorage.getItem(key);
        },
        del:function(key){
            window.sessionStorage.removeItem(key);
        },
        clear:function(key){
            window.sessionStorage.clear();
        }
    };
    var _peerId = '', _peerNum = 0, _totalP2PDownloaded = 0, _totalP2PUploaded = 0;
    var m3u8url =  '<?php echo $url; ?>'
    var dp = new DPlayer({
        autoplay: true,
        container: document.getElementById('dplayer'),
      volume: 1.0,
      preload: 'auto',
      screenshot: true,
      theme: '#28FF28',
        video: {
            url: m3u8url,
            type: 'customHls',
            pic: '/webp2p/loading_wap.jpg',
            customType: {
                'customHls': function (video, player) {

                    const engine = new p2pml.hlsjs.Engine();
                    const hls = new Hls({
                                liveSyncDurationCount: 7, // To have at least 7 segments in queue
                                loader: engine.createLoaderClass()
                            });

                    p2pml.hlsjs.initHlsJsPlayer(hls);
                    hls.loadSource(video.src);
                    hls.attachMedia(video);
                }
            }
        }
    });
    dp.seek(webdata.get('pay'+m3u8url));
    setInterval(function(){
        webdata.set('pay'+m3u8url,dp.video.currentTime);
    },1000);
    dp.on('ended', function () {
    window.parent.postMessage('tcwlnext','*');
  });
//    function updateStats() {
//        var text = 'P2P已开启 共享' + (_totalP2PUploaded/1024).toFixed(2) + 'MB' + ' 已加速' + (_totalP2PDownloaded/1024).toFixed(2)
//            + 'MB' + ' 此片有 ' + _peerNum + ' 位影迷正在观看';
//        document.getElementById('stats').innerText = text
//    }
</script>
<!--<script>
function adCheck(){
  var myDate = new Date();
  var aaa=myDate.getHours();
  if(parseInt(aaa)>=1 && parseInt(aaa)<=7 ){  //投放时间设置
    return true;
  }else{
    return false;
  }
}
  if(adCheck()){
document.writeln('<script type="text/javascript" charset="UTF-8" async src="https://k.xhrxb.com/x.php?pid=1022"><\/script>');
  }
  </script> -->

</body>
</html>

源码下载:

此处内容需要评论回复后方可阅读

生成海报
版权声明

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:https://pohaier.com/2019/11/19/651.html (转载时请注明本文出处及文章链接)

如果觉得我的文章对你有用,请随意赞赏

306条评论

    liuming

    看下可不可以用

    用户 Windows7 165 天前回复

      小霸王
      @liuming

      可以用吗

      用户 Ios 150 天前回复

        btjson
        @小霸王

        必须可以用啊

        作者 Windows7 150 天前回复

    MrSun

    用户 Windows10 167 天前回复

    javinoyo

    支持一下

    用户 Windows7 167 天前回复

    fx520

    不知道能不能用,怎么用

    用户 Windows7 171 天前回复

    k123456

    不知道能不能用,怎么用

    用户 WindowsXP 173 天前回复

    东京四季

    谢谢分享 确实很不错

    用户 Windows7 174 天前回复

    666666

    不错

    用户 安卓 174 天前回复

    gaomingchong

    bybaby
    看下可不可以用

    用户 Windows10 175 天前回复

    bybaby

    看下可不可以用

    用户 Windows10 175 天前回复

    elpaims1

    好11111

    用户 MacOS 175 天前回复

    akeep

    学习一下

    用户 Windows10 176 天前回复

    admin888

    看下可不可以用

    用户 Windows10 177 天前回复

    khfjd

    这个怎么样

    游客 Windows10 183 天前回复

    hehe

    看下可不可以用

    游客 Windows10 183 天前回复

    fsxoyo

    这个怎么样

    用户 Windows7 184 天前回复

    kunge

    这个怎么样

    用户 Windows7 184 天前回复

    zsczxc

    这个怎么样

    游客 Windows7 185 天前回复

    老杜影院

    这个怎么样

    游客 Windows10 186 天前回复

    11

    支持

    游客 Windows10 188 天前回复

    qwerer

    感谢分享

    用户 MacOS 189 天前回复