2017-01-15 7 views
1

У меня есть сценарий загрузки видео Youtube, он дает URL-адрес видео, но не загружает, он открывает видео в браузере и играет.php script to force download youtube video

$id = 'jNQXAC9IVRw';//$_GET['v']; 
    parse_str(file_get_contents("http://youtube.com/get_video_info?video_id=".$id),$info); 
    $streams = $info['url_encoded_fmt_stream_map']; 
    $streams = explode(',',$streams); 

    foreach($streams as $stream){ 
     parse_str($stream,$data); 
     echo '<a href="'.$data['url'].'" class="btn btn-success">'.$data['quality'].'</a> '; 
     /*echo $data['url']; 
     *returns url like this 
     *http://r2---sn-2uja-3ipd.googlevideo.com/videoplayback?mime=video%2Fwebm&upn=wdfTtFFSMNA&source=youtube&mt=1484446843&ms=au&expire=1484468585&initcwndbps=187500&ipbits=0&pl=24&itag=43&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Csource%2Cupn%2Cexpire&id=o-AGqBaImYFicQvH1J3Tmt4QGqt817uD_Pw-vF9MF8asMy&dur=0.000&mm=31&key=yt6&mn=sn-2uja-3ipd&signature=C38C1D21BC1B7F4658BCEF30DFC94E1ACBE1FC6D.356305D4012AE391A24283CA46950BBCDE7EB7CE&lmt=1418224509434980&mv=m&ratebypass=yes&ip=119.154.139.153 
     */ 
    } 

Я пробовал много методов, но никто не работал, как я хотел, я хочу, чтобы отобразить кнопки, где пользователь может загрузить свой выбор формата видео, как MP4, 3GP на своем ПК.
Я написал сценарий, который загружал 0KB-файл на сервер.
Это также будет нормально, если сделать jquery.

ответ

0

создать другой файл download.php отправить URL, file_format в этот файл

сделать ваши ссылки = download.php?video_url=https://that_lengthy_url&format=mp4-OR-3gp

download.php

$format = $_GET['format']; 
$filename = 'video.'.$format; 
$url = $_GET['video_url']; 

header('Content-Type: application/octet-stream'); 
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$filename."\""); 

readfile($url); 
exit;