2014-11-24 249 views
0

嘿,我知道这个问题太旧且重复,但考虑到youtube API及其各种表示结构的变化性质,我想再次提出这个问题。 如何获取YouTube视频的.flv网址。 请建议我的链接或方式或代码(java python c首选)。 三江源如何从youtube视频获取flv url

回答

2

嘿,我才知道如何让FLV的URL

步骤:

1.GOTO https://www.youtube.com/get_video_info?asv=3&el=detailpage&hl=en_US&video_id=“+ VideoID的;

2.in源文件从上述步骤所得的会有一个参数

3.Access该参数的“URL” varialble并对其进行解码并瞧!

请注意以下链接上一些视频不能按照上述方法工作https://superuser.com/a/773998

+0

这解决了我的问题!感谢芽。 – 2017-03-02 10:14:40

+0

谢谢。这帮助了我。 – 2017-03-09 07:22:37

2

get_video_info页面很有趣。然而考虑下面的脚本

function urldecode { 
    awk -niord '{printf RT ? $0 chr("0x" substr(RT,2)) : $0}' RS=%.. 
} 
curl -s 'www.youtube.com/get_video_info?el=detailpage&video_id=0KSOMA3QBU0' | 
awk '/url_encoded_fmt_stream_map/ {print $2}' RS='&' FS== | 
urldecode | 
awk ' 
NR==1 { 
    gsub("=", "\n") 
    gsub("&", "\n\n") 
    print 
} 
' RS=, | 
urldecode 

这里是输出

 
type 
video/mp4;+codecs="avc1.64001F,+mp4a.40.2" 

url 
http://r15---sn-q4f7dnsd.googlevideo.com/videoplayback?ratebypass=yes&sver=3&expire=1416924562&sparams=gcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cms%2Cmv%2Cratebypass%2Csource%2Cupn%2Cexpire&upn=46fju6Z8Qm4&itag=22&gcr=us&key=yt5&id=o-AHo9GtJdhAeC8V2gYsFz5DB3nSacKl7ZCBp7vwMdfmyO&fexp=904845%2C907259%2C913430%2C914074%2C915516%2C927622%2C932404%2C943909%2C947209%2C947215%2C948124%2C952302%2C952605%2C952901%2C953912%2C957103%2C957105%2C957201&ipbits=0&mm=31&initcwndbps=966250&mt=1416902815&ip=99.109.97.214&ms=au&mv=m&source=youtube 

quality 
hd720 

s 
D04D0409FCFC5CFF7BF2ACD0199DCE16AB298DD22B164.EC75C05FC8EE97A55A296B53B85456E915DDBC7F7D 

itag 
22 

fallback_host 
tc.v17.cache7.googlevideo.com 

如果你尝试的网址不变,它不会工作。它只有在包含 decrypted s value时才有效。

+0

我在deadend了解这一点。我在哪里以及如何将其插入到我的Android应用程序中? (我提到这是我的坏),我只需要运行的网址吗? – therealprashant 2014-11-25 08:24:23

+0

反正感谢您在@steven penny帮助我 – therealprashant 2014-11-25 08:25:00

+0

我已经尝试了解密s值的链接。我现在已经找到了如何解密s值的方法。请告诉我如何做到这一点。任何链接或帮助谢谢 – therealprashant 2014-11-27 05:28:52