用PHP或Javascript生成实际的Youtube下载链接

时间:2012-09-19 09:27:51

标签: php javascript youtube youtube-api jplayer

我开发了一个媒体网站,通过在PHP中使用jPlayer来播放来自Youtube的视频。 我在获取实际的Youtube下载链接以使其在我的jPlayer中播放时遇到问题。

假设我有一个Youtube链接:https://www.youtube.com/watch?v=zpfNeFWA2vE,我的实际下载链接是:http://o-o---preferred---hkg05s03---v12---nonxt5.c.youtube.com/videoplayback?upn=PnVtBEZ_KJw&sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&fexp=919109%2C911646%2C920917%2C922401%2C920704%2C912806%2C913419%2C913558%2C913556%2C925109%2C912706&ms=nxu&expire=1348071130&itag=18&ipbits=8&gcr=kh&sver=3&ratebypass=yes&mt=1348046463&ip=119.15.90.10&mv=m&source=youtube&key=yt1&cp=U0hTTVBST19ISkNOM19ITFNCOmNBYVpWN2FtYXpn&id=ce97cd785580daf1&signature=74DF90D5D04F4DA2A2D588BDAFE777594673D2EE.64E845538B00C1FAA2E0AC043DAB5C512A49E45D&redirect_counter=1&cms_redirect=yes

此实际网址将在第二天过期。

是否有任何方法可以将https://www.youtube.com/watch?v=zpfNeFWA2vE仅粘贴到jPlayer或PHP或Javascript中可以生成该实际链接的脚本?

注意

我从http://www.masnun.me/2011/05/17/phptube-a-php-class-to-get-download-links-from-youtube-watch-videos.html下载了phptube。它正在工作,但当我从这个生成链接下载视频时,它说“我没有权限下载此文件.403 Forbidden”

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您确定在使用phptube生成youtube下载链接时,您是否也从服务器(而不是客户端计算机)访问它们?您只能从用于生成这些下载链接的同一台计算机上访问这些下载链接(phptube的作者在本文开头就说明了这一点。)

解决方案是从您的服务器生成这些链接。然后使用服务器将内容下载到它。然后使用下载的文件将其显示给用户。问题是您的服务器必须使用双倍带宽,并且该过程需要时间。 YouTube不会让您直接分享下载链接。

答案 1 :(得分:1)

我有完全相同的问题!比我发现这个:

http://navarr.me/ytaudio/?q=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DtvS5MLzJfAw&s=on&psize=s&theme=dark

来源:https://github.com/navarr/ytaudio/

此脚本还会创建一个像phptube这样的下载链接。但我可以从我当地的电脑上获取视频!