Skip to content

Instantly share code, notes, and snippets.

@miminashi
Created February 26, 2012 18:03
Show Gist options
  • Save miminashi/1918026 to your computer and use it in GitHub Desktop.
Save miminashi/1918026 to your computer and use it in GitHub Desktop.
youtubeのflvのURLひっこぬくRubyスクリプト書いてみた
#coding: utf-8
require 'uri'
require 'open-uri'
require 'json'
require 'pp'
#url = 'http://www.youtube.com/watch?v=PwluBRxGAeI&feature=g-vrec&context=G2ab931cRVAAAAAAAAAw'
#watch_url = 'http://www.youtube.com/watch_video?v=PwluBRxGAeI'
print 'video url: '
url = gets.chop
page_body = open(url)
json_string = ''
page_body.each do |line|
if line =~ /yt.playerConfig\ =\ /
#puts line
json_string = line.gsub(/yt.playerConfig\ =\ /, '').gsub(/;$/, '')
end
end
player_config = JSON.parse(json_string)
url_encoded_fmt_stream_map = player_config['args']['url_encoded_fmt_stream_map']
#URI.decode(url_encoded_fmt_stream_map).split('url=')
flv_url = URI.decode(url_encoded_fmt_stream_map).gsub(/^url=/, '').split(',url=')[3]
flv_uri = URI.parse(flv_url)
flv_uri.query = flv_uri.query.split('&')[0..-5].join('&')
puts flv_uri.to_s
@miminashi
Copy link
Author

解析に使ったメモ

http://keanwortd.o-oi.net/Entry/166/

yt.playerConfig =

http://www.youtube.com/watch?v=PwluBRxGAeI

096e051c4601e2&quality=small&fallback_host=tc.v11.cache5.c.youtube.com&type=video/x-flv&itag=5"
miminashi-macbookpro:~/projects/webvj$ ruby downlo

http://o-o.preferred.nrt19s03.v3.lscache7.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Cratebypass%2Ccp

http://o-o.preferred.nrt19s03.v11.lscache5.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp

from flash's request
o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&algorithm=throttle-factor&itag=34&ip=61.0.0.0&burst=40&sver=3&signature=496E4FEC83D7F9BC0D4F002BF7736C9DDEB8718C.871699AC5C54D3FC8FC142FA92F7D065731D3DFA&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOi0xX29hSDZ1Yi1Z&id=3f096e051c4601e2&cm2=1

http://o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?
sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp
&algorithm=throttle-factor
&itag=34
&ip=61.0.0.0
&burst=40
&sver=3
&signature=496E4FEC83D7F9BC0D4F002BF7736C9DDEB8718C.871699AC5C54D3FC8FC142FA92F7D065731D3DFA
&source=youtube
&expire=1330302548
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSRVNLUF9JUkNOMl9LRVRGOi0xX29hSDZ1Yi1Z&id=3f096e051c4601e2
&cm2=1

from JSON
http://o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=903103%2C906505&algorithm=throttle-factor&itag=34&ip=61.0.0.0&burst=40&sver=3&signature=5D509F68ABEB165C53333ADE22DC90D3A4CA4183.635CF286BA7BEF432170095BD2D86A3DA0E3841D&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOk9IczNJYjFVM0tN&id=3f096e051c4601e2&quality=medium&fallback_host=tc.v5.cache4.c.youtube.com&type=video/x-flv&itag=34

http://o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=903103%2C906505&algorithm=throttle-factor&itag=34&ip=61.0.0.0&burst=40&sver=3&signature=5D509F68ABEB165C53333ADE22DC90D3A4CA4183.635CF286BA7BEF432170095BD2D86A3DA0E3841D&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOk9IczNJYjFVM0tN&id=3f096e051c4601e2

http://o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?
sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=903103%2C906505
&algorithm=throttle-factor
&itag=34
&ip=61.0.0.0
&burst=40
&sver=3
&signature=5D509F68ABEB165C53333ADE22DC90D3A4CA4183.635CF286BA7BEF432170095BD2D86A3DA0E3841D
&source=youtube
&expire=1330302548
&key=yt1
&ipbits=8
&factor=1.25
&cp=U0hSRVNLUF9JUkNOMl9LRVRGOk9IczNJYjFVM0tN&id=3f096e051c4601e2
&quality=medium
&fallback_host=tc.v5.cache4.c.youtube.com
&type=video/x-flv
&itag=34

"url=http://o-o.preferred.nrt19s03.v3.lscache7.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Cratebypass%2Ccp&fexp=907605%2C914071%2C911612&itag=44&ip=61.0.0.0&signature=0FF2D142E220191F67D1AC78169721CD0178EF8E.633BFA5BE717E4E48602CAE1589D0DAAAFD55694&sver=3&ratebypass=yes&source=youtube&expire=1330302548&key=yt1&ipbits=8&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=large&fallback_host=tc.v3.cache7.c.youtube.com&type=video/webm;+codecs=\"vp8.0,+vorbis\"&itag=44,

url=http://o-o.preferred.nrt19s03.v13.lscache7.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=907605%2C914071%2C911612&algorithm=throttle-factor&itag=35&ip=61.0.0.0&burst=40&sver=3&signature=ACFFCB2654FCEB2CCE3BD737F31485126016BC2A.47FAC3687AD640BB849CAA5EDBC4472620BF3D59&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=large&fallback_host=tc.v13.cache7.c.youtube.com&type=video/x-flv&itag=35,

url=http://o-o.preferred.nrt19s03.v14.lscache8.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Cratebypass%2Ccp&fexp=907605%2C914071%2C911612&itag=43&ip=61.0.0.0&signature=12DF91D0DDD91DDA296420AB182B4FB3A372E349.D8231D6DB4FE66A846C79446E45149BDD997913A&sver=3&ratebypass=yes&source=youtube&expire=1330302548&key=yt1&ipbits=8&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=medium&fallback_host=tc.v14.cache8.c.youtube.com&type=video/webm;+codecs=\"vp8.0,+vorbis\"&itag=43,

url=http://o-o.preferred.nrt19s03.v5.lscache4.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=907605%2C914071%2C911612&algorithm=throttle-factor&itag=34&ip=61.0.0.0&burst=40&sver=3&signature=A88F06E616989C49D262BB3882A249FF57E600C3.D051E092E18938B28FBEFA71D5F934DE3A642D62&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=medium&fallback_host=tc.v5.cache4.c.youtube.com&type=video/x-flv&itag=34,

url=http://o-o.preferred.nrt19s03.v24.lscache3.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Cratebypass%2Ccp&fexp=907605%2C914071%2C911612&itag=18&ip=61.0.0.0&signature=8F4B5A0476278AA6C66A09A3618AD9D93D7D2BAC.A55AEF006A8C22132E340785ECDE3F09018A7127&sver=3&ratebypass=yes&source=youtube&expire=1330302548&key=yt1&ipbits=8&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=medium&fallback_host=tc.v24.cache3.c.youtube.com&type=video/mp4;+codecs=\"avc1.42001E,+mp4a.40.2\"&itag=18,

url=http://o-o.preferred.nrt19s03.v11.lscache5.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Csource%2Calgorithm%2Cburst%2Cfactor%2Ccp&fexp=907605%2C914071%2C911612&algorithm=throttle-factor&itag=5&ip=61.0.0.0&burst=40&sver=3&signature=56F3434C58FC95DE54F509521C0381F169855342.82586E68316AB593120032E18015E458EF33BD73&source=youtube&expire=1330302548&key=yt1&ipbits=8&factor=1.25&cp=U0hSRVNLUF9JUkNOMl9LRVRGOlZEWVdHbEhfSUs2&id=3f096e051c4601e2&quality=small&fallback_host=tc.v11.cache5.c.youtube.com&type=video/x-flv&itag=5"

@miminashi
Copy link
Author

2012/08/14時点でまだ使えるっぽい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment