第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

PHP實(shí)現(xiàn)m3u8并發(fā)下載

標(biāo)簽:
PHP

直接上代码

<?php//php下载m3u8文件$url = $argv['1'];if(!file_exists('./tmp/')) {    if(!mkdir('./tmp/')) {        die('请手动在当前目录创建tmp目录');
    }
}

$indexPage = file_get_contents($url);
preg_match_all('/.*\.ts/', $indexPage, $matches);if(empty($matches)) {    die('m3u8 文件格式错误');
}

go(function() use($matches) {
    $chan = new chan(100); //最大并发数
    foreach($matches['0'] as $key => $value) {        if(file_exists('./tmp/'.$key.'.ts')) {            continue;
        }
        $chan->push('xx');
        go(function() use($key, $value, $chan) { 
            echo "\nAdd task:".$key;            while(1) {
                $rs = co_curl($value);                if(strlen($rs) > 0) {
                    file_put_contents('./tmp/'.$key.'.ts', $rs);                    break;
                }
            }            echo "\nTask ok:".$key;
            $chan->pop();
        });
    }    //确保所有下载已经完成
    for($i = 0; $i < 100; $i++) {
        $chan->push('over');
    }    //合并文件
    foreach ($matches['0'] as $key => $value) {
        file_put_contents('out.mp4', file_get_contents('./tmp/'.$key.'.ts'), FILE_APPEND);
        unlink('./tmp/'.$key.'.ts');
    }    echo "\n 下载完成,转换成功 (out.mp4)";
});function co_curl($url, $cookies = '', $data = array(), $userHeaders = array(), $retJson = 0){    while(1) {
        $urlInfo  = parse_url($url);
        $domain   = $urlInfo['host'];        if($urlInfo['scheme'] == 'https') {
            $port = 443;
            $ssl = true;
        } else {
            $port = isset($urlInfo['port']) ? $urlInfo['port'] : 80;
            $ssl = false;
        }
        $filename = $urlInfo['path'];
        $filename .= isset($urlInfo['query']) ? '?' . $urlInfo['query'] : '';

        $cli     = new Swoole\Coroutine\Http\Client($domain, $port, $ssl);
        $headers = [            'Host'            => $domain,            "User-Agent"      => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',            'Accept'          => 'text/html,application/xhtml+xml,application/xml',            'Accept-Encoding' => 'gzip',
        ];        if ($userHeaders) {
            $headers = array_merge($headers, $userHeaders);
            $headers = $userHeaders;
        }        if ($cookies) {
            $headers['Cookie'] = $cookies;
        }
        $cli->setHeaders($headers);
        $cli->set(['timeout' => 60]);        if ($data) {            if($data == 'post') {
                $data = '';
            }
            $cli->post($filename, $data);
        } else {
            $cli->get($filename);
        }

        $body = $cli->body;
        $cli->close();        
        if($cli->statusCode < 1 || ($retJson  && empty(json_decode($body, true)))) {            // echo "\n status code:" . $cli->statusCode;
            // echo "\n body: ".$body;
            // echo "\n retry...";
        } else {            return $body;
        }
    }
}

使用方法

php index.php https://doubanzyv1.tyswmp.com/2018/07/30/LSn7hSBfY0LxpKX2/playlist.m3u8

输出文件路径

当前目录的out.mp4



作者:Dorm_Script
链接:https://www.jianshu.com/p/2b576ada4df5

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消