0

如果您使用 Internet 下载管理器 (IDM) 下载 Youtube 视频,您会从属性>地址获得实际的下载 url,该 url 如下所示。

http://r8---sn-o097zne6.c.youtube.com/videoplayback?cp=U0hVTlFMVF9GU0NONV9JRlhFOk12VEU5YTJHQ0hS&expire=1369116419&fexp=934400%2C912519%2C930806%2C914010%2C916625%2C910822%2C924605%2C901208%2C929123%2C929915%2C929906%2C925714% 2C929919%2C929119%2C931202%2C932802%2C928017%2C912518%2C911416%2C906906%2C904476%2C919373%2C906836%2C933701%2C900345%2C926403%2C912711%2C929606%2C910075%2C906098&id=16e6330cce76eecc&ip=74.115.0.148&ipbits=8&itag=22&key=yt1&ms=au&mt =1369093406&mv=m&newshard=yes&ratebypass=yes&signature=602A934CA39B8ECB2B324F56A280332ED5679A8B.2D2BF1C7A3E8B2139A4566198AFD3A3BAEEAC47F&source=youtube&sparams=cp%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&sver=3&upn=89uxLgRVS_U&cpn=8pfKhlVRglcZw_W9

如果我将以下代码放入文件中并单击“另存为”,则视频开始下载。

<a href="$link">Download Video</a> // $link = the above link

现在我有一个名为 video.php 的文件。我想做的是当我运行 video.php 文件时,我的代码将开始自动从 url(如上面的 url)下载视频。这甚至可能吗?如果那么你能告诉我该怎么做吗?

我尝试使用 PHP 下载,但页面不断加载和加载并且没有显示任何内容。我尝试的代码如下:

 $ch = curl_init ($link); // $link = the above link
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
 curl_exec ($ch);
4

2 回答 2

0

由于禁止直接连接到端口 80 上的视频,因此您需要使用其他方式。我可以想象在端口 554 上使用某种后台 RTMP 流媒体,该端口通常是打开的,因为默认用于 Flash 视频。

RTMPDump 可以胜任 -> http://rtmpdump.mplayerhq.hu/

于 2013-05-23T19:19:24.550 回答
0
$file_url = $_GET['link'];           // http://www.somedomain.com/test.mp4
header('Content-Type: video/mp4'); 
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
readfile($file_url);
于 2020-02-12T06:42:30.210 回答