我有一个脚本,从YouTube下载MP4文件。它的作用是生成链接的形式http://youtube.com/get_video?video_id= * VIDEO_ID * & & t = * THE_TOKEN * = & fmt = 18 & asv = 2,但它不再工作(今天注意到它)。你怎么看?无法从YouTube下载
回答
而不是尝试使用get_video获取视频,请尝试解析fmt_url_map(format-url map)。
您应该能够在您找到该令牌的相同位置找到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是特定于客户端的,所以某个客户端的URL很可能不会与另一个客户端一起工作,因为YouTube会检查IP,而且这些URL会在一段时间后过期。)
有关不同的fmt值,请参阅:http://en.wikipedia.org/wiki/YouTube#Quality_and_formats并显示“YouTube媒体编码选项的Comarison”。注意:并非所有格式都可用于所有视频。
如果你想下载到服务器,你可以使用youtube-dl仍然有效。
好吧,他们似乎已经删除了fmt选项。请参阅http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs。
我创建了一个node.js服务器,它可以将YouTube视频直接传输到客户端,并且工作正常。详情请参阅https://github.com/licson0729/node-YouTubeStreamer。
- 1. 无法从YouTube
- 2. 无法从YouTube
- 3. 无法从YouTube
- 4. 无法从YouTube的编码错误下载
- 5. 为什么链接从youtube获得get_video_info无法下载?
- 6. 从YouTube下载音频c#
- 7. 从YouTube下载视频
- 8. TDownloadURL无法从HTTPS下载
- 9. 无法从Sourceforge下载MinGW
- 10. 无法从Git下载Symfony2
- 11. 无法从https下载.apk
- 12. Windows Phone Youtube下载
- 13. Android Youtube下载mp3
- 14. 从YouTube上api批量下载图片
- 15. 从python下载YouTube的音乐
- 16. 从Python使用Youtube上下载视频
- 17. Youtube下载链接从http://www.youtube-mp3.org/
- 18. NSURLConnection从YouTube上下载视频
- 19. 从Youtube下载视频:errorcode = 150
- 20. 仅从YouTube视频下载音频
- 21. 无法下载整个YouTube链接的HTML代码
- 22. 无法下载使用phptube类的youtube视频
- 23. Youtube iframe无法在Android中加载
- 24. 嵌入的YouTube视频无法加载
- 25. Laravel无法下载
- 26. 无法下载Coderally
- 27. 无法下载mongovue
- 28. 无法下载Appium
- 29. 无法下载wxpthon
- 30. 无法下载HTML
我们都非常需要开源项目来跟上youtube dl链接。我厌倦了跟上他们的比赛。 – samquo 2010-12-11 04:49:57