如何从下载url下载视频


php -How to download video from download url

我有一个下载youtube脚本,经过多次修改,我得到了一个直接链接到视频的点,像这样:

http://r12---sn-4g57km7s.googlevideo.com/videoplayback?dur=265.868&pl=21&sver=3&mt=1444909527&ms=pm&source=youtube&sparams=dur,id,ip,ipbits,itag,lmt,mime,mm,mn,ms,mv,nh,pl,ratebypass,source,upn,expire&mv=s&itag=22&signature=A1D19A4DB1134E4ADF3CCBE8DDD7F5B01AB995B4.C0790F1AB331B4C290E83C292F064F67B811C17E&mm=35&mn=sn-4g57km7s&upn=qNbx8hdMDaU&nh=EAY&id=o-AAR67WMXg6mE9K6QpXf981YZf0B51_Jz_kEGYVHT9hdz&mime=video/mp4&expire=1444936669&ipbits=0&fexp=9408710,9414764,9414929,9416126,9417259,9417707,9418162,9418203,9418400,9418802,9418907,9418997,9421584,9421945,9422338,9422428,9422587,9422900&ratebypass=yes&ip=144.76.168.167&lmt=1444877662206720&key=yt6&signature=
当我在浏览器中输入url时,它会打开视频并播放它。

我尝试了这个代码,但我得到了一个大小为0的文件作为结果:

$download_video_file = file_put_contents("file", fopen($url, 'x'));

我如何下载和保存视频从youtube和保存在我的网站主机?

谢谢

从youtube下载视频是一个复杂的问题…
基本上,当您访问视频页面时,youtube将生成一个密钥,该密钥是,只有对访问该页面的设备的ip有效。检查你为变量ip发布的url,它的值为144.76.168.167,这意味着你将只能从该ip下载视频。

正如我所说,它很复杂,你可能想看看https://rg3.github.io/youtube-dl/。它是一个开源视频下载程序,支持包括youtube在内的700多个网站,并且由一个庞大的社区经常更新。


youtube-dl

youtube-dl是一个用于下载视频的小命令行程序YouTube.com和其他一些网站。它需要Python解释器(2.6、2.7或3.2+),并且它不是特定于平台的。我们还提供包含Python的Windows可执行文件。Youtube-dl应该可以工作你的Unix盒子,在Windows或Mac OS x上。它是向公众发布的域,这意味着您可以修改、重新发布或使用它随你便。