如何找到vimeo视频的下载链接?

2022-08-30 17:51:31

我看到今天vimeo改变了他们流式传输视频的方式,我不能再流式传输他们的视频了。当我生成视频的链接时,我看到了这一点,例如:

http://vimeo.com/moogaloop/play/clip:6649390/1eab2a25f30f1aadaf5e306d0f40fd6c/1292498602/?q=hd

它将我重定向到一个页面,上面写着“权限被拒绝”。我尝试使用curl,但没有成功。我嗅了嗅流量,看到它是从以下方式流式传输的:

http://av.vimeo.com/02047/623/34209065.mp4?token=1292496582_34de09a6d13212cf26af08357d311c30

有没有人知道如何获取视频文件的工作URL?

我目前获取视频的方式是:

  1. 选择 链接 。http://vimeo.com/video_id
  2. 仅获取 .video_id
  3. 获取视频的 XML。http://vimeo.com/moogaloop/load/clip:video_id;
  4. 解析 XML 并查找必要的信息:

    • request_signature
    • request_signature_expires
    • 是HD
  5. 生成链接:

    $video_link = "http://vimeo.com/moogaloop/play/clip:".$video_id."/".$request_signature."/".$request_signature_expires."/?q=".$quality."";
    

如果我通过浏览器手动执行此操作,它可以工作,但是如果我通过脚本执行此操作,则不会。


答案 1

在花了几个小时找出如何获得vimeo的直接链接之后,我找到了一个很好的解决方案。因此,以下是想要直接从vimeo下载和流式传输视频src的用户的步骤。请记住,他们阻止了所有IP地址,并且可能以这种方式下载视频的主机,因此我刚刚停止使用他们的服务,:),我再也不会使用它们了。

获取视频源的步骤:

  1. 选择链接http://vimeo.com/video_id
  2. 仅获取video_id
  3. 获取视频的 xmlhttp://vimeo.com/moogaloop/load/clip:video_id;
  4. 解析xml,我找到我需要的必要信息:

    • request_signature
    • request_signature_expires
    • isHD
  5. 然后我生成链接:

    $video_link = "http://vimeo.com/moogaloop/play/clip:".$video_id."/".$request_signature."/".$request_signature_expires."/?q=".$quality."";
    
  6. 然后,如果你是php dev,你通过这种方式通过exec调用wget命令。

    exec("wget -b '$video_link' -a 'wget.log' -O -");

  7. 然后,您阅读日志并找出要查找的链接。您只需解析日志文件即可。直接链接位于“位置:”和“[以下]”之间

  8. 返回直接链接并清除日志文件:)

注意:再次请记住,这不会永远有效。他们迟早会阻止你的ip:)。


答案 2

这个javascript适合我。

var player = document.getElementsByClassName("player")[0].getAttribute("id");
player = eval(player.replace("player_", "clip"));
var time = player.config.request.timestamp;
var sig = player.config.request.signature;
var clip_id = window.location.href.substring(17);

var url = "http://player.vimeo.com/play_redirect" +
  "?clip_id=" + clip_id +
  "&sig=" + sig +
  "&time=" + time;

var v = document.getElementById("menu");
v.style.fontSize = "4em";
v.style.lineHeight = "1em";

v.innerHTML =
  "<a href='" + url + "'>SD</a>, " +
  "<a href='" + url + "&quality=hd'>HD</a>";


推荐