poc*_*cko 23 php video download vimeo
我看到今天vimeo改变了他们播放视频的方式,我再也无法播放他们的视频了.当我生成视频链接时,我看到了这一点,例如:
http://vimeo.com/moogaloop/play/clip:6649390/1eab2a25f30f1aadaf5e306d0f40fd6c/1292498602/?q=hd
Run Code Online (Sandbox Code Playgroud)
它正在重定向到一个页面,说"权限被拒绝".我尝试使用curl,但没有任何成功.我嗅到了流量,我看到它是从以下内容流式传输:
http://av.vimeo.com/02047/623/34209065.mp4?token=1292496582_34de09a6d13212cf26af08357d311c30
Run Code Online (Sandbox Code Playgroud)
有人知道如何获得视频文件的工作URL吗?
我目前获取视频的方式是:
http://vimeo.com/video_id
.video_id
.http://vimeo.com/moogaloop/load/clip:video_id;
.解析XML并找到必要的信息:
生成链接:
$video_link = "http://vimeo.com/moogaloop/play/clip:".$video_id."/".$request_signature."/".$request_signature_expires."/?q=".$quality."";
Run Code Online (Sandbox Code Playgroud)如果我通过浏览器手动执行此操作,但是如果我通过脚本执行此操作则不会.
在花了几个小时找到我如何获得与vimeo的直接链接后,我找到了一个很好的解决方案.因此,以下是希望直接从vimeo下载和流式传输视频src的用户的步骤.请记住,它们会阻止所有IP地址以及可能以这种方式下载视频的主机,所以我只是停止使用他们的服务而且我再也不会使用它了:).
获取视频源的步骤:
http://vimeo.com/video_id
video_id
http://vimeo.com/moogaloop/load/clip:video_id;
解析xml,我找到了我需要的必要信息:
request_signature
request_signature_expires
isHD
然后我生成链接:
$video_link = "http://vimeo.com/moogaloop/play/clip:".$video_id."/".$request_signature."/".$request_signature_expires."/?q=".$quality."";
Run Code Online (Sandbox Code Playgroud)那么如果你是php dev,你可以通过这种方式通过exec调用wget命令
exec("wget -b '$video_link' -a 'wget.log' -O -");
然后,您阅读日志并找到您要查找的链接.您只需解析日志文件即可.直接链接位于"Location:"和"[following]"之间
你返回直接链接并清理日志文件:)
注意:再次请记住,这不会永远有效.他们迟早会阻止你的ip :).