在.NET中从YouTube获取FLV

时间:2009-12-10 20:21:21

标签: c# .net youtube flv

我正在编写FLV媒体播放器,想知道是否存在从URL访问YouTube使用的基础FLV文件的情况?曾经有很多方法可以做到这一点,但YouTube已经改变了一些事情,我现在找不到任何办法......

从目前为止我看到的情况来看,YouTube API似乎也没有提供访问权限。有人找到了这样做的方法吗?

干杯!

1 个答案:

答案 0 :(得分:6)

YouTube视频有两个值:ID和签名。 ID很容易获得,因为它在URI本身。签名有点棘手。它嵌入在每个视频页面的源代码中的Javascript语句中。

例如,我们来看Numa Numa视频。

它的ID为KmtzQCSh6xk,可以从URI中看到。

要获得签名,我们必须深入研究HTML的源代码。要在Firefox中轻松执行此操作,请通过右键单击页面上的任意位置加载页面源,然后单击“查看页面源”。之后,按Ctrl + F,然后键入"t":。它会带你到页面的签名:引号后面的值就是签名。

在Numa Numa Dance的情况下,它的签名是vjVQa1PpcFOSvCcjdAYSc3ZQgK-6EG9yQM7RLSYqJk4%3D

要获得实际的FLV,请输入此URI:

http://www.youtube.com/get_video?fmt=5&video_id={ID}&t={SIGNATURE}

获取FLV视频的完整URI是:

http://www.youtube.com/get_video?fmt=5&video_id=KmtzQCSh6xk&t=vjVQa1PpcFOSvCcjdAYSc3ZQgK-6EG9yQM7RLSYqJk4%3D

您可以使用此信息来帮助您获得以编程方式下载FLV所需的签名和ID。无论是对值String.Find执行简单的"t":还是使用RegEx,在更改之前都应该很容易找到它。