url - 无法从 youtube 下载

标签 url video download youtube mp4

我有一个脚本可以从 youtube 下载 mp4 文件。它的作用是生成形式为 http://youtube.com/get_video?video_id= 的链接。 *VIDEO_ID*&&t=*THE_TOKEN*=&fmt=18&asv=2,但它不再起作用了(今天注意到了)。你怎么看?

最佳答案

与其尝试使用 get_video 获取视频,不如尝试解析 fmt_url_map(格式-url 映射)。

您应该能够在找到 token 的同一位置找到 fmt_url_map(例如在 YouTube Flash 视频播放器的 flashvars 中或在 YouTube 页面内的某处)。如果找不到,请发送请求至http://www.youtube.com/get_video_info?video_id= VIDEO_ID,您应该会得到一个非常长的结果,其格式为 name=value&name=value&... 在该结果中找到“fmt_url_map”(在结果中搜索以“&fmt_url_map=”开头并以“&”结尾的字符串。

在你得到这个值之后(你可能必须对它进行 url 解码),它会是这样的(没有换行符):

22|http://blah.youtube.com/videoplayback?blah,
35|http://blah.youtube.com/videoplayback?blah,
...

其中每个以逗号分隔的条目都以 fmt 值(示例中为 22 或 35)开头,后跟竖线字符,然后是可用于下载该格式视频的 URL。 (此 URL 是特定于客户端的,因此由于 YouTube 检查 IP,某个客户端的 URL 很可能无法用于其他客户端。此外,这些 URL 会在一段时间后过期。)

有关不同 fmt 值的列表,请参阅:http://en.wikipedia.org/wiki/YouTube#Quality_and_formats并显示“YouTube 媒体编码选项的比较”。注意:并非所有格式都适用于所有视频。

已弃用:将不再有效!

关于url - 无法从 youtube 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4397584/

相关文章:

html - 如何从 C++ 打开 URL?

视频码率和文件大小计算

python - 无法使用 [OpenCV] cv2.VideoCapture.set() 设置帧宽度和高度

iphone - iOS:调整大小/裁剪录制的视频

iphone - 添加音频文件iPhone应用程序

apache-flex - Flex 3,组件 ID 和 URLS——连字符与下划线

Facebook 页面自动 "like"URL(用于 QR 码)

python - Django 发送带有链接的电子邮件

java - 我在哪里可以找到这个 jar : commons-csv 0. 1-524170

python - 我如何访问YouTube第一搜索结果?