下载 youtube 视频在 vget 中不起作用

Download youtube videos don't work in vget

一年前我使用 vget 库下载 YouTube 视频。如果我尝试它知道,它不起作用。当我到达示例中的 v.download(); 方法时,它正在工作并且不会结束(就像在循环中一样)。我使用最新版本的库 1.1.22。有人使用这个库没有问题吗?

主页示例

package com.github.axet.vget;

import java.io.File;
import java.net.URL;

public class DirectDownload {

    public static void main(String[] args) {
        try {
            // ex: http://www.youtube.com/watch?v=Nj6PFaDmp6c
            String url = args[0];
            // ex: "/Users/axet/Downloads"
            String path = args[1];
            VGet v = new VGet(new URL(url), new File(path));
            v.download();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}

首先样本url不好,应该从https

开始

但即使更正了 url,它也会出现 403 错误(调试时可见)

但是对于这个视频,效果非常好:https://www.youtube.com/watch?v=yNpOz44RM20

所以可能有些 url 有问题。

截至 2015 年 7 月,版本 1.1.23 也有问题。我猜 Youtube 一直在更改其安全协议,VGet 的作者需要更改库,因此会有一些延迟。最近有人针对这个特定问题提出了问题,我们需要等待更新:

https://github.com/axet/vget/issues/40

也许该库适用于旧视频,因为新的安全协议只提供新内容。