php - PHP脚本强制下载YouTube视频

标签 php video download youtube

我有Youtube视频下载脚本,它提供视频的url,但不下载,它在浏览器中打开视频并播放。

    $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)下载到PC上。
我写了一个脚本,正在服务器上下载0KB文件。
如果通过jquery完成也可以。

最佳答案

创建另一个文件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;

关于php - PHP脚本强制下载YouTube视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41657228/

相关文章:

java - 无法使用异步任务复制程序中给出 URL 的网页的 html 代码。安卓工作室3.4.2

php - 如何将 Jquery 自动完成设置为特定值并使用 JSON 对象的数据源显示它的标签

php - 使用php和mysql的多关键字搜索表单

video - HTML 5 视频标签

linux - 在保持帧速率的同时将动画 gif 转换为 linux 服务器上的视频

java - IOException - 读取 html 文件时流意外结束

html - 如何制作 HTML 链接,使用户下载 .html 文件

javascript - 在数据库服务器中存储 UDID - Android

php - 带有 POST 到 SQL 函数编码问题的简单 HTML 表单?

java - 如何在Java中进行.MOV到3GP的转换操作