KeyError: 'sig': youtube-dl unable to download Vevo videos due to the "use_cipher_signature" key being set to true. #897

Closed
awojnowski opened this Issue Jun 21, 2013 · 45 comments

Comments

Projects
None yet
@awojnowski
Contributor

awojnowski commented Jun 21, 2013

I've created a more appropriately named issue for this, rather than "youtube-dl not working on debian" which is located here: #896

Looks like YouTube has enabled a key named use_cipher_signature on Vevo videos. This renames the sig key to s and hereby renders downloading non-functional.

Here's an example dictionary from the get_video_info page:

abd: "1"
account_playback_token: "poyxkFr1W4-YfgWPDtHeBzvXPI58MTM3MTg1OTUyMkAxMzcxNzczMTIy"
ad3_module: "https%3A%2F%2Fs.ytimg.com%2Fyts%2Fswfbin%2Fad3-vflBxhR8I.swf"
ad_age: "22"
ad_channel_code_instream: "afv_instream%2CVertical_3%2CVertical_35%2CVertical_590%2CVertical_1038%2Cyt_mpvid_AATfntGrPhU4NwOT%2Cyt_cid_10481%2Cytdevice_1%2Cytps_default%2Cytel_vevo"
ad_channel_code_overlay: "invideo_overlay_480x70_cat10%2Cafv_overlay%2CVertical_3%2CVertical_35%2CVertical_590%2CVertical_1038%2Cyt_mpvid_AATfntGrPhU4NwOT%2Cyt_cid_10481%2Cytdevice_1%2Cytps_default%2Cytel_vevo"
ad_device: "1"
ad_eurl: "http%3A%2F%2Fwww.youtube.com%2Fvideo%2F_mDxcDjg9P4"
ad_flags: "0"
ad_gender: "m"
ad_host: "ca-host-pub-4404692103537709"
ad_host_tier: "3816642"
ad_language_iso639_2: "eng"
ad_logging_flag: "1"
ad_preroll: "1"
ad_slots: "0"
ad_tag: "https%3A%2F%2Fad.doubleclick.net%2FN4061%2Fpfadx%2Fcom.ytpwatch.music%2Fmain_10481%3Bsz%3DWIDTHxHEIGHT%3Bkvid%3D_mDxcDjg9P4%3Bkpu%3DVampireWeekendVEVO%3Bkpeid%3DUGzhBmck61sa3eGxp9xI8A%3Bkpid%3D10481%3Bu%3D_mDxcDjg9P4%7C10481%3Bmpvid%3DAATfntGrPhU4NwOT%3Bssl%3D1%3Bplat%3Dpc%3Bafct%3Dsite_content%3Bafv%3D1%3Bk21%3D1%3Bk5%3D3_35_590_1038%3Bkage%3D22%3Bkar%3D3%3Bkauth%3D1%3Bkclt%3D1%3Bkcr%3Dus%3Bkga%3D1001%3Bkgender%3Dm%3Bkgg%3D1%3Bklg%3Den%3Bkmsrd%3D1%3Bko%3Dp%3Bkr%3DF%3Bkvz%3D204%3Blongads%3D1%3Bnlfb%3D1%3Bshortform%3D1%3Btves%3D1%3Byt_vrallowed%3D1%3Bytcat%3D10%3Bytdevice%3D1%3Bytexp%3D933401%2C924601%2C911403%2C914072%2C916612%2C919515%3Bytps%3Ddefault%3B%21c%3D10481%3Bk2%3D3%3Bk2%3D35%3Bk2%3D590%3Bk2%3D1038%3Bplist%3DqKGim1Ko9jzaberx_jkpwvWzAjfplYC-%3Bplist%3DdsN_UvDrZNR9Ul4BKdziobk1pP3eSb_7%3Bkvlg%3Den%3B"
ad_video_pub_id: "ca-pub-6219811747049371"
adaptive_fmts: "size%3D1920x1080%26index%3D710-1353%26bitrate%3D4250913%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858664428918%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D137%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D78394435%26init%3D0-709%26s%3D5F4AC6B01E8EDA78AD6DDC986BD24277BBD0D51A.C78E7A9FAF88BDCD0C34CA900740242BF6C62BC0BCBCB%26itag%3D137%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.640028%2522%2Csize%3D1280x720%26index%3D708-1351%26bitrate%3D2208984%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858655897457%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D136%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D41003588%26init%3D0-707%26s%3D7AF583FCD45C84EE35A96F26C1C6554D08BA4769.7F3932C9A1F76BB96EE32B26CF4BCA9DEF53022C22323%26itag%3D136%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.4d401f%2522%2Csize%3D854x480%26index%3D708-1351%26bitrate%3D1115124%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858652668051%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D135%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D20755745%26init%3D0-707%26s%3D724F8E68999FDEF47B6161C4365364390D5CA516.1C8C404E58753683E30457984DD802E919AC3EB4EBCBC%26itag%3D135%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.4d401e%2522%2Csize%3D640x360%26index%3D708-1351%26bitrate%3D487381%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858649563700%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D134%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D8799865%26init%3D0-707%26s%3DC458114A4CE11412D220A362DAEED7DFAE94B427.B2BBAE5E3A5A2C9BED71F59D5363D2DA365E1ED5ED4D4%26itag%3D134%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.4d401e%2522%2Csize%3D426x240%26index%3D672-1315%26bitrate%3D295536%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858653737502%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D133%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D8559178%26init%3D0-671%26s%3D03305650A960282C6715356ADA8305E04574C629.B7163B22577A227E832749346313D4CAE6DF75F65F9F9%26itag%3D133%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.4d4015%2522%2Csize%3D256x144%26index%3D671-1314%26bitrate%3D102197%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858649563321%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D160%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D3081725%26init%3D0-670%26s%3DE00041EAD9E36D89DC2C5578E45FBD8F5177B999.451C173D9EC2E8662ACAA5C84371B97FE9A0F42442C2C%26itag%3D160%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.42c00b%2522%2Cindex%3D593-936%26bitrate%3D48560%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858694727294%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D139%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D1499983%26init%3D0-592%26s%3DE99A7AFA32F40F10632CCE8CF6ED65718018C0F8.8FF162C8E65D3882A48C7F838510F6F524F1468868787%26itag%3D139%26type%3Daudio%252Fmp4%253B%2Bcodecs%253D%2522mp4a.40.5%2522%2Cindex%3D592-935%26bitrate%3D128027%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858654788608%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D140%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D4003812%26init%3D0-591%26s%3D56E418DBE5B8B9161E9E1A93A5B2BE37F51D2DC1.A65A3D725E377939F7E1CA8FC68F96CEC21CEB9CB9696%26itag%3D140%26type%3Daudio%252Fmp4%253B%2Bcodecs%253D%2522mp4a.40.2%2522%2Cindex%3D592-935%26bitrate%3D255948%26url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fkey%253Dyt1%2526id%253Dfe60f17038e0f4fe%2526gir%253Dyes%2526sver%253D3%2526burst%253D40%2526newshard%253Dyes%2526source%253Dyoutube%2526lmt%253D1368858647350176%2526gcr%253Dca%2526ip%253D24.79.200.138%2526itag%253D141%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526ms%253Dau%2526factor%253D1.25%2526ipbits%253D8%2526mv%253Dm%2526mt%253D1371773066%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526upn%253D67LTq3O752g%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526sparams%253Dalgorithm%25252Cburst%25252Cclen%25252Ccp%25252Cfactor%25252Cgcr%25252Cgir%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Clmt%25252Csource%25252Cupn%25252Cexpire%2526clen%253D8036654%26init%3D0-591%26s%3D019E8DCB366EF3649A93A137996784E2B8A44551.4AAFE1002EE7364B58E742B326DDF1985C69182282828%26itag%3D141%26type%3Daudio%252Fmp4%253B%2Bcodecs%253D%2522mp4a.40.2%2522"
adsense_video_doc_id: "yt__mDxcDjg9P4"
aftv: "True"
afv: "True"
afv_ad_tag: "http%3A%2F%2Fgoogleads.g.doubleclick.net%2Fpagead%2Fads%3Fcust_gender%3D1%26video_cpm%3D2500000%26loeid%3D933401%252C924601%252C911403%252C914072%252C916612%252C919515%26description_url%3Dhttp%253A%252F%252Fwww.youtube.com%252Fvideo%252F_mDxcDjg9P4%26ad_type%3Dvideo%26host%3Dca-host-pub-4404692103537709%26ht_id%3D3816642%26client%3Dca-pub-6219811747049371%26max_ad_duration%3D15000%26ytdevice%3D1%26hl%3Den%26cust_age%3D1001%26channel%3Dafv_instream%252BVertical_3%252BVertical_35%252BVertical_590%252BVertical_1038%252Byt_mpvid_AATfntGrPhU4NwOT%252Byt_cid_10481%252Bytdevice_1%252Bytps_default%252Bytel_vevo"
afv_ad_tag_restricted_to_instream: "http%3A%2F%2Fgoogleads.g.doubleclick.net%2Fpagead%2Fads%3Fcust_gender%3D1%26video_cpm%3D2500000%26loeid%3D933401%252C924601%252C911403%252C914072%252C916612%252C919515%26description_url%3Dhttp%253A%252F%252Fwww.youtube.com%252Fvideo%252F_mDxcDjg9P4%26ad_type%3Dvideo%26host%3Dca-host-pub-4404692103537709%26ht_id%3D3816642%26client%3Dca-pub-6219811747049371%26max_ad_duration%3D15000%26ytdevice%3D1%26hl%3Den%26cust_age%3D1001%26channel%3Dafv_instream%252BVertical_3%252BVertical_35%252BVertical_590%252BVertical_1038%252Byt_mpvid_AATfntGrPhU4NwOT%252Byt_cid_10481%252Bytdevice_1%252Bytps_default%252Bytel_vevo"
afv_instream_max: "15000"
afv_video_min_cpm: "2500000"
aid: "P-lsVYxidw4"
allow_embed: "1"
allow_ratings: "1"
allowed_ads: "%5B0%2C+1%2C+2%2C+4%2C+6%2C+8%2C+9%2C+10%5D"
as_launched_in_country: "1"
author: "VampireWeekendVEVO"
avg_rating: "4.93621582991"
baseUrl: "https%3A%2F%2Fgoogleads.g.doubleclick.net%2Fpagead%2Fviewthroughconversion%2F962985656%2F"
c: "WEB"
cafe_experiment_id: ""
cbr: "Safari"
cbrver: "6.0.5"
cid: "10481"
content_owner_name: "vevo"
cos: "Mac"
cosver: "10_8_4"
cust_age: "1001"
cust_gender: "1"
dash: "1"
dashmpd: "http%3A%2F%2Fwww.youtube.com%2Fapi%2Fmanifest%2Fdash%2Fid%2Ffe60f17038e0f4fe%2Fsparams%2Fas%252Ccp%252Cid%252Cip%252Cipbits%252Csource%252Cexpire%2Fsver%2F3%2Fexpire%2F1371798511%2Fas%2Ffmp4_audio_clear%252Cwebm_audio_clear%252Cfmp4_sd_hd_clear%252Cwebm_sd_hd_clear%2Fsource%2Fyoutube%2Fupn%2FnJj_S-0SvBY%2Fcp%2FU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2Fipbits%2F8%2Fkey%2Fyt1%2Fip%2F24.79.200.138%2Fsignature%2F1377DE3D637BEB0C2F31B167D93C6A513A98C98F.895E9E3380EBBC4CA2EE60F652DA062C5E06C71B%2Ffexp%2F933401%252C924601%252C911403%252C914072%252C916612%252C919515%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C900816%252C909421%252C912711%252C935102"
dclk: "True"
disable_non_adsense_ssl_companions: "True"
endscreen_module: "https%3A%2F%2Fs.ytimg.com%2Fyts%2Fswfbin%2Fendscreen-vflQhqnfl.swf"
eventLabel: "vevo"
fexp: "933401%2C924601%2C911403%2C914072%2C916612%2C919515%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935102"
fmt_list: "46%2F1920x1080%2F99%2F0%2F0%2C37%2F1920x1080%2F9%2F0%2F115%2C45%2F1280x720%2F99%2F0%2F0%2C22%2F1280x720%2F9%2F0%2F115%2C44%2F854x480%2F99%2F0%2F0%2C35%2F854x480%2F9%2F0%2F115%2C43%2F640x360%2F99%2F0%2F0%2C34%2F640x360%2F9%2F0%2F115%2C18%2F640x360%2F9%2F0%2F115%2C5%2F320x240%2F7%2F0%2F0%2C36%2F320x240%2F99%2F0%2F0%2C17%2F176x144%2F99%2F0%2F0"
focEnabled: "1"
ftoken: "XcjIy6hrKYIWf4cj7zNaSpMCaRZ8MTM3MTg1OTUyMkAxMzcxNzczMTIy"
fw: "1"
gut_tag: "%2F4061%2Fytpwatch%2Fmain_10481"
has_cc: "False"
host_language: "en"
idpj: "-7"
inactive_skippable_threshold: "600000"
instream: "True"
invideo: "True"
iurlmaxres: "https%3A%2F%2Fi1.ytimg.com%2Fvi%2F_mDxcDjg9P4%2Fmaxresdefault.jpg"
iurlsd: "https%3A%2F%2Fi1.ytimg.com%2Fvi%2F_mDxcDjg9P4%2Fsddefault.jpg"
keywords: "yt%3Acrop%3D16%3A9%2CVampire%2CWeekend%2CStep%2C%28Official%2CLyrics%2CVideo%29%2CXL%2CRecordings%2CAlternative"
ldpj: "-8"
length_seconds: "253"
loeid: "933401%2C924601%2C911403%2C914072%2C916612%2C919515"
logwatch: "1"
loudness: "-16.6989974976"
midroll_freqcap: "420"
mpvid: "AATfntGrPhU4NwOT"
muted: "0"
no_get_video_log: "1"
oid: "yZJtHRi2SvzOOKZfbA-GRA"
playerStyle: "default"
plid: "AATfntGrRNrO1u3W"
pltype: "content"
prefetch_ad_live_stream: "True"
ptchn: "VampireWeekendVEVO"
ptk: "vevo"
pyv_in_related_cafe_experiment_id: ""
rmktEnabled: "1"
rmktPingThreshold: "0"
sendtmp: "1"
sffb: "True"
share_icons: "https%3A%2F%2Fs.ytimg.com%2Fyts%2Fswfbin%2Fsharing-vflF4tO1T.swf"
shortform: "True"
status: "ok"
storyboard_spec: "https%3A%2F%2Fi1.ytimg.com%2Fsb%2F_mDxcDjg9P4%2Fstoryboard3_L%24L%2F%24N.jpg%7C48%2327%23100%2310%2310%230%23default%23wD419h0s3FkgY1dMqP1wOvNpDT8%7C80%2345%23127%2310%2310%232000%23M%24M%23S-ltJPt-zA3netrdeKhN5I1FP7c%7C160%2390%23127%235%235%232000%23M%24M%232psHNkzHg6HCSTKWVbEBlzEdEX4"
thumbnail_url: "https%3A%2F%2Fi1.ytimg.com%2Fvi%2F_mDxcDjg9P4%2Fdefault.jpg"
timestamp: "1371773122"
title: "Vampire+Weekend+-+Step+%28Official+Lyrics+Video%29"
tmi: "1"
token: "vjVQa1PpcFOjUMTcLbKKUXWZzmiAx7MzMiKYXPSrQpM%3D"
tpas_ad_type_id: "1"
tpas_partner_id: "40185"
tpas_video_id: "GBH481300007"
track_embed: "1"
trueview: "True"
uid: "UGzhBmck61sa3eGxp9xI8A"
url_encoded_fmt_stream_map: "url%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D46%2526mv%253Dm%26itag%3D46%26s%3D1E7E233C5022902B9BDF56464492BEF5CFAEF867.9163CBC8081021E8AF14A434BBFC32A70195DB0BB0C0C%26quality%3Dhd1080%26fallback_host%3Dtc.v17.cache1.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D37%2526mv%253Dm%26itag%3D37%26s%3D0BDFBA4BB740858591217427C08EA03DBB625AC4.9D00400D2C562794FB2780560F3202CEF4908C80C8585%26quality%3Dhd1080%26fallback_host%3Dtc.v17.cache3.c.youtube.com%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.64001F%252C%2Bmp4a.40.2%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D45%2526mv%253Dm%26itag%3D45%26s%3DE9357ACE87230121CEBB390CDB7EF1FCBC5E5529.7019BC4D6F118F82C6C9C3782703442C6008ACC2CC7C7%26quality%3Dhd720%26fallback_host%3Dtc.v10.cache5.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D22%2526mv%253Dm%26itag%3D22%26s%3D853B396EEBD8A3D1F6EBBB94DFCEFE29811B0AD0.863D9CE31A45501EC4262E7755EF2EF7C7AE3A25A2222%26quality%3Dhd720%26fallback_host%3Dtc.v2.cache7.c.youtube.com%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.64001F%252C%2Bmp4a.40.2%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D44%2526mv%253Dm%26itag%3D44%26s%3D17C105BC257F3D5CD9C1F0DB6F0DE2EF59B14D55.5A2CC93C00FFDD7686EC17428FD59CC845BE02C82C3C3%26quality%3Dlarge%26fallback_host%3Dtc.v15.cache7.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526factor%253D1.25%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dalgorithm%25252Cburst%25252Ccp%25252Cfactor%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526burst%253D40%2526newshard%253Dyes%2526gcr%253Dca%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D35%2526mv%253Dm%26itag%3D35%26s%3DCF9F7217E4DB557C7A76C81507AE2F31A43EDE85.D93922F7B87C710FA21D03ADCF2B287CF62C06CC6C3C3%26quality%3Dlarge%26fallback_host%3Dtc.v13.cache3.c.youtube.com%26type%3Dvideo%252Fx-flv%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D43%2526mv%253Dm%26itag%3D43%26s%3D386FE6CEBB64B0FA7299740486F07D6323137551.6F5ED041DEABCE2E3F86AE909413FE19A26A2AD9AD3D3%26quality%3Dmedium%26fallback_host%3Dtc.v12.cache2.c.youtube.com%26type%3Dvideo%252Fwebm%253B%2Bcodecs%253D%2522vp8.0%252C%2Bvorbis%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526factor%253D1.25%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dalgorithm%25252Cburst%25252Ccp%25252Cfactor%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526burst%253D40%2526newshard%253Dyes%2526gcr%253Dca%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D34%2526mv%253Dm%26itag%3D34%26s%3DFD64D080A7AFF5CBF9BAD14E1D437AA40CF3B722.8074CDC9F84F36F84403C191426506B9DD72E44444A4A%26quality%3Dmedium%26fallback_host%3Dtc.v1.cache3.c.youtube.com%26type%3Dvideo%252Fx-flv%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526ratebypass%253Dyes%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dcp%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Cratebypass%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526gcr%253Dca%2526newshard%253Dyes%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D18%2526mv%253Dm%26itag%3D18%26s%3D437BE1D85EDD08281CA91ED2EC4C130E08F0AA49.44CA032AB317B60C102FAB52B45781957C72099B99B9B%26quality%3Dmedium%26fallback_host%3Dtc.v7.cache2.c.youtube.com%26type%3Dvideo%252Fmp4%253B%2Bcodecs%253D%2522avc1.42001E%252C%2Bmp4a.40.2%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526factor%253D1.25%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dalgorithm%25252Cburst%25252Ccp%25252Cfactor%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526burst%253D40%2526newshard%253Dyes%2526gcr%253Dca%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D5%2526mv%253Dm%26itag%3D5%26s%3DD958CE9C82452469FF367D8C3CCEF17420432F84.087F7D0F3C07763DA9E4196A8C3C5575DB5623D83D8D8%26quality%3Dsmall%26fallback_host%3Dtc.v20.cache4.c.youtube.com%26type%3Dvideo%252Fx-flv%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526factor%253D1.25%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dalgorithm%25252Cburst%25252Ccp%25252Cfactor%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526burst%253D40%2526newshard%253Dyes%2526gcr%253Dca%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D36%2526mv%253Dm%26itag%3D36%26s%3D5968C2E609F436552D71A359DA1FA5A87F679CAC.EEBDA900885C6562274B24E3D09C1CC8D5840F2DF2525%26quality%3Dsmall%26fallback_host%3Dtc.v21.cache7.c.youtube.com%26type%3Dvideo%252F3gpp%253B%2Bcodecs%253D%2522mp4v.20.3%252C%2Bmp4a.40.2%2522%2Curl%3Dhttp%253A%252F%252Fr1---sn-ni5f-ttje.c.youtube.com%252Fvideoplayback%253Fms%253Dau%2526factor%253D1.25%2526id%253Dfe60f17038e0f4fe%2526sparams%253Dalgorithm%25252Cburst%25252Ccp%25252Cfactor%25252Cgcr%25252Cid%25252Cip%25252Cipbits%25252Citag%25252Csource%25252Cupn%25252Cexpire%2526fexp%253D933401%25252C924601%25252C911403%25252C914072%25252C916612%25252C919515%25252C932700%25252C911929%25252C921047%25252C928201%25252C901208%25252C929123%25252C929915%25252C929906%25252C929907%25252C929125%25252C925714%25252C929919%25252C931202%25252C912512%25252C912515%25252C912521%25252C906838%25252C904488%25252C906840%25252C931910%25252C931913%25252C932227%25252C904830%25252C919373%25252C933701%25252C904122%25252C900816%25252C909421%25252C912711%25252C935102%2526mt%253D1371773066%2526sver%253D3%2526expire%253D1371798511%2526algorithm%253Dthrottle-factor%2526burst%253D40%2526newshard%253Dyes%2526gcr%253Dca%2526source%253Dyoutube%2526upn%253Di2a9VeWOzdo%2526cp%253DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%2526ipbits%253D8%2526key%253Dyt1%2526ip%253D24.79.200.138%2526itag%253D17%2526mv%253Dm%26itag%3D17%26s%3DD66299F83034F8E269CC758AE78752E70A936CAC.0CE19AD6933BCC1BB20E17D426900CE572977A42A4949%26quality%3Dsmall%26fallback_host%3Dtc.v22.cache8.c.youtube.com%26type%3Dvideo%252F3gpp%253B%2Bcodecs%253D%2522mp4v.20.3%252C%2Bmp4a.40.2%2522"
use_cipher_signature: "True"
user_age: "22"
user_gender: "m"
vid: "_mDxcDjg9P4"
video_id: "_mDxcDjg9P4"
video_verticals: "%5B35%2C+3%2C+1038%5D"
view_count: "2773025"
vq: "auto"
watch_ajax_token: "azghq5Kqc8JFTANZQgZHLisxO-x8MTM3MTg1OTUyMkAxMzcxNzczMTIy"
watermark: "%2Chttps%3A%2F%2Fs.ytimg.com%2Fyts%2Fimg%2Fwatermark%2Fyoutube_watermark-vflHX6b6E.png%2Chttps%3A%2F%2Fs.ytimg.com%2Fyts%2Fimg%2Fwatermark%2Fyoutube_hd_watermark-vflAzLcD6.png"
ytfocEnabled: "1"

Here's an example from the url_encoded_fmt_stream_map:

fallback_host: "tc.v17.cache1.c.youtube.com"
itag: "46"
quality: "hd1080"
s: "1E7E233C5022902B9BDF56464492BEF5CFAEF867.9163CBC8081021E8AF14A434BBFC32A70195DB0BB0C0C"
type: "video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22"
url: "http%3A%2F%2Fr1---sn-ni5f-ttje.c.youtube.com%2Fvideoplayback%3Fms%3Dau%26ratebypass%3Dyes%26id%3Dfe60f17038e0f4fe%26sparams%3Dcp%252Cgcr%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26fexp%3D933401%252C924601%252C911403%252C914072%252C916612%252C919515%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C900816%252C909421%252C912711%252C935102%26mt%3D1371773066%26sver%3D3%26expire%3D1371798511%26gcr%3Dca%26newshard%3Dyes%26source%3Dyoutube%26upn%3Di2a9VeWOzdo%26cp%3DU0hWRldUVl9GS0NONl9PTlpGOmRxZmpRTkRreWJw%26ipbits%3D8%26key%3Dyt1%26ip%3D24.79.200.138%26itag%3D46%26mv%3Dm"

Any idea what type of encryption/cipher they have used on the signature?

@phihag

This comment has been minimized.

Show comment
Hide comment
@phihag

phihag Jun 21, 2013

Collaborator

To be able to effectively solve this, we need:

  • name of the player version and how to get it (HTML5 would probably to easiest)
  • Example video, if possible one that's available globally. http://www.youtube.com/watch?v=fBt4VdlZLNI seems to be one, but is blocked (at least in Germany).
  • get_video_info / url_encoded_fmt_stream_map
  • Final URL
Collaborator

phihag commented Jun 21, 2013

To be able to effectively solve this, we need:

  • name of the player version and how to get it (HTML5 would probably to easiest)
  • Example video, if possible one that's available globally. http://www.youtube.com/watch?v=fBt4VdlZLNI seems to be one, but is blocked (at least in Germany).
  • get_video_info / url_encoded_fmt_stream_map
  • Final URL
@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

From the watch?v=fBt4VdlZLNI page, I went an took one of the videoplayback URLs from the Network Inspector and it was so:

http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?algorithm=throttle-factor&burst=40&clen=3582627&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&cpn=ZAWFmFnq7NPSLdej&expire=1371802472&factor=1.25&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&gcr=ca&gir=yes&id=7c1b7855d9592cd2&ip=24.79.200.138&ipbits=8&itag=140&keepalive=yes&key=yt1&lmt=1361246140814831&ms=au&mt=1371776424&mv=m&newshard=yes&range=950272-1187839&ratebypass=yes&signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE&source=youtube&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&sver=3&upn=qKpBsC6cACI

With a signature of:

931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

And an itag of 140.

In the page source, the place where the URL with itag 140 is is in the adaptive_fmts section. Here is the contents of that section:

type=video%2Fmp4%3B+codecs%3D%22avc1.640028%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D82245785%26sver%3D3%26gcr%3Dca%26itag%3D137%26algorithm%3Dthrottle-factor%26lmt%3D1361246259614020%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=137\u0026size=1920x1080\u0026s=B8B28B2724302729D02FA198CD0575454F92D1761DB.2390D0A8203F6DBD9C29C984045B08672AC9F712712\u0026init=0-709\u0026bitrate=3512033\u0026index=710-1281,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401f%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D39772168%26sver%3D3%26gcr%3Dca%26itag%3D136%26algorithm%3Dthrottle-factor%26lmt%3D1361246188097957%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=136\u0026size=1280x720\u0026s=CD84D8783B96FAEED8B343C605C5D009A750F7D5415.E18FB3154AC69999A62CC714D32463B92270E75F75F\u0026init=0-707\u0026bitrate=1753339\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401e%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D20421006%26sver%3D3%26gcr%3Dca%26itag%3D135%26algorithm%3Dthrottle-factor%26lmt%3D1361246166067130%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=135\u0026size=854x480\u0026s=9843845A86DDF7D060D5295D7D5DF10D6BE0904C010.FB0E11BD30CCC66CACB71044021885B21064F63B63B\u0026init=0-707\u0026bitrate=939044\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401e%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D10288813%26sver%3D3%26gcr%3Dca%26itag%3D134%26algorithm%3Dthrottle-factor%26lmt%3D1361246166066873%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=134\u0026size=640x360\u0026s=A163169A62102DC5AC5E35D2B2F3A9424E7F00C3851.D89FEC2B3C86F369B58CC88DF6A1A37A3EA2452E52E\u0026init=0-707\u0026bitrate=470690\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d4015%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D7650798%26sver%3D3%26gcr%3Dca%26itag%3D133%26algorithm%3Dthrottle-factor%26lmt%3D1361246165945413%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=133\u0026size=426x240\u0026s=ED18D158204A7BE590538C9DEE3DDB037D3BC090176.0B7678078C0C391C9D2037F4732E348EE7F02332332\u0026init=0-671\u0026bitrate=279200\u0026index=672-1243,type=video%2Fmp4%3B+codecs%3D%22avc1.42c00b%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D2750788%26sver%3D3%26gcr%3Dca%26itag%3D160%26algorithm%3Dthrottle-factor%26lmt%3D1361246130680674%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=160\u0026size=256x144\u0026s=2D33D3B0B1F56EEDFE207DEF12FD44540A81C5291EC.DF095C163B4ADBAF8655DA00B5DE54088CB992B52B5\u0026init=0-670\u0026bitrate=99450\u0026index=671-1242,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.5%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D1342256%26sver%3D3%26gcr%3Dca%26itag%3D139%26algorithm%3Dthrottle-factor%26lmt%3D1361246274719763%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=139\u0026s=D42942DA47503850F59572CEE6C9A305C25864273A0.AEF1CBC79E5585A4D001C5700B4BE9E5D370688B88B\u0026init=0-591\u0026bitrate=48613\u0026index=592-899,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.2%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D3582627%26sver%3D3%26gcr%3Dca%26itag%3D140%26algorithm%3Dthrottle-factor%26lmt%3D1361246140814831%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=140\u0026s=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135\u0026init=0-591\u0026bitrate=127978\u0026index=592-899,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.2%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D7191194%26sver%3D3%26gcr%3Dca%26itag%3D141%26algorithm%3Dthrottle-factor%26lmt%3D1361246293890033%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=141\u0026s=07DC7D001572F35495D23061C8F4A1777B42A796766.8A79BE9FC399CE68B9087A71E2194DB0BE286757757\u0026init=0-591\u0026bitrate=255788\u0026index=592-899

Specifically, the dictionary with the matching itag is as follows:

type=audio/mp4; codecs="mp4a.40.2"
url=http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?gir=yes&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&key=yt1&ip=24.79.200.138&mt=1371776424&ms=au&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&source=youtube&mv=m&upn=qKpBsC6cACI&id=7c1b7855d9592cd2&clen=3582627&sver=3&gcr=ca&itag=140&algorithm=throttle-factor&lmt=1361246140814831&factor=1.25&ipbits=8&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&newshard=yes&expire=1371802472&burst=40
itag=140
s=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135
init=0-591
bitrate=127978
index=592-899

Taking from that dictionary, a created URL would look like so:

http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?gir=yes&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&key=yt1&ip=24.79.200.138&mt=1371776424&ms=au&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&source=youtube&mv=m&upn=qKpBsC6cACI&id=7c1b7855d9592cd2&clen=3582627&sver=3&gcr=ca&itag=140&algorithm=throttle-factor&lmt=1361246140814831&factor=1.25&ipbits=8&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&newshard=yes&expire=1371802472&burst=40&signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135&ratebypass=yes

The URL that was playing and the URL that is in the page source have the following differences (playing URL on top, page source on bottom):

cpn=ZAWFmFnq7NPSLdej
keepalive=yes
range=950272-1187839
signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135

So it looks like the URL in the page source doesn't have cpn, keepalive, or range. However, this doesn't make a difference since on my computer, all I have to do is swap the non-working signature for the working one, and the URL will return content.

In conclusion, here's the signature comparison with the working one on top and the non-working one on the bottom:

signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135
Contributor

awojnowski commented Jun 21, 2013

From the watch?v=fBt4VdlZLNI page, I went an took one of the videoplayback URLs from the Network Inspector and it was so:

http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?algorithm=throttle-factor&burst=40&clen=3582627&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&cpn=ZAWFmFnq7NPSLdej&expire=1371802472&factor=1.25&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&gcr=ca&gir=yes&id=7c1b7855d9592cd2&ip=24.79.200.138&ipbits=8&itag=140&keepalive=yes&key=yt1&lmt=1361246140814831&ms=au&mt=1371776424&mv=m&newshard=yes&range=950272-1187839&ratebypass=yes&signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE&source=youtube&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&sver=3&upn=qKpBsC6cACI

With a signature of:

931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

And an itag of 140.

In the page source, the place where the URL with itag 140 is is in the adaptive_fmts section. Here is the contents of that section:

type=video%2Fmp4%3B+codecs%3D%22avc1.640028%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D82245785%26sver%3D3%26gcr%3Dca%26itag%3D137%26algorithm%3Dthrottle-factor%26lmt%3D1361246259614020%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=137\u0026size=1920x1080\u0026s=B8B28B2724302729D02FA198CD0575454F92D1761DB.2390D0A8203F6DBD9C29C984045B08672AC9F712712\u0026init=0-709\u0026bitrate=3512033\u0026index=710-1281,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401f%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D39772168%26sver%3D3%26gcr%3Dca%26itag%3D136%26algorithm%3Dthrottle-factor%26lmt%3D1361246188097957%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=136\u0026size=1280x720\u0026s=CD84D8783B96FAEED8B343C605C5D009A750F7D5415.E18FB3154AC69999A62CC714D32463B92270E75F75F\u0026init=0-707\u0026bitrate=1753339\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401e%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D20421006%26sver%3D3%26gcr%3Dca%26itag%3D135%26algorithm%3Dthrottle-factor%26lmt%3D1361246166067130%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=135\u0026size=854x480\u0026s=9843845A86DDF7D060D5295D7D5DF10D6BE0904C010.FB0E11BD30CCC66CACB71044021885B21064F63B63B\u0026init=0-707\u0026bitrate=939044\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d401e%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D10288813%26sver%3D3%26gcr%3Dca%26itag%3D134%26algorithm%3Dthrottle-factor%26lmt%3D1361246166066873%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=134\u0026size=640x360\u0026s=A163169A62102DC5AC5E35D2B2F3A9424E7F00C3851.D89FEC2B3C86F369B58CC88DF6A1A37A3EA2452E52E\u0026init=0-707\u0026bitrate=470690\u0026index=708-1279,type=video%2Fmp4%3B+codecs%3D%22avc1.4d4015%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D7650798%26sver%3D3%26gcr%3Dca%26itag%3D133%26algorithm%3Dthrottle-factor%26lmt%3D1361246165945413%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=133\u0026size=426x240\u0026s=ED18D158204A7BE590538C9DEE3DDB037D3BC090176.0B7678078C0C391C9D2037F4732E348EE7F02332332\u0026init=0-671\u0026bitrate=279200\u0026index=672-1243,type=video%2Fmp4%3B+codecs%3D%22avc1.42c00b%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D2750788%26sver%3D3%26gcr%3Dca%26itag%3D160%26algorithm%3Dthrottle-factor%26lmt%3D1361246130680674%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=160\u0026size=256x144\u0026s=2D33D3B0B1F56EEDFE207DEF12FD44540A81C5291EC.DF095C163B4ADBAF8655DA00B5DE54088CB992B52B5\u0026init=0-670\u0026bitrate=99450\u0026index=671-1242,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.5%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D1342256%26sver%3D3%26gcr%3Dca%26itag%3D139%26algorithm%3Dthrottle-factor%26lmt%3D1361246274719763%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=139\u0026s=D42942DA47503850F59572CEE6C9A305C25864273A0.AEF1CBC79E5585A4D001C5700B4BE9E5D370688B88B\u0026init=0-591\u0026bitrate=48613\u0026index=592-899,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.2%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D3582627%26sver%3D3%26gcr%3Dca%26itag%3D140%26algorithm%3Dthrottle-factor%26lmt%3D1361246140814831%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=140\u0026s=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135\u0026init=0-591\u0026bitrate=127978\u0026index=592-899,type=audio%2Fmp4%3B+codecs%3D%22mp4a.40.2%22\u0026url=http%3A%2F%2Fr7---sn-ni5f-ttjl.c.youtube.com%2Fvideoplayback%3Fgir%3Dyes%26fexp%3D900362%252C932700%252C911929%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C932216%252C909421%252C912711%252C935000%252C935102%26key%3Dyt1%26ip%3D24.79.200.138%26mt%3D1371776424%26ms%3Dau%26sparams%3Dalgorithm%252Cburst%252Cclen%252Ccp%252Cfactor%252Cgcr%252Cgir%252Cid%252Cip%252Cipbits%252Citag%252Clmt%252Csource%252Cupn%252Cexpire%26source%3Dyoutube%26mv%3Dm%26upn%3DqKpBsC6cACI%26id%3D7c1b7855d9592cd2%26clen%3D7191194%26sver%3D3%26gcr%3Dca%26itag%3D141%26algorithm%3Dthrottle-factor%26lmt%3D1361246293890033%26factor%3D1.25%26ipbits%3D8%26cp%3DU0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl%26newshard%3Dyes%26expire%3D1371802472%26burst%3D40\u0026itag=141\u0026s=07DC7D001572F35495D23061C8F4A1777B42A796766.8A79BE9FC399CE68B9087A71E2194DB0BE286757757\u0026init=0-591\u0026bitrate=255788\u0026index=592-899

Specifically, the dictionary with the matching itag is as follows:

type=audio/mp4; codecs="mp4a.40.2"
url=http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?gir=yes&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&key=yt1&ip=24.79.200.138&mt=1371776424&ms=au&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&source=youtube&mv=m&upn=qKpBsC6cACI&id=7c1b7855d9592cd2&clen=3582627&sver=3&gcr=ca&itag=140&algorithm=throttle-factor&lmt=1361246140814831&factor=1.25&ipbits=8&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&newshard=yes&expire=1371802472&burst=40
itag=140
s=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135
init=0-591
bitrate=127978
index=592-899

Taking from that dictionary, a created URL would look like so:

http://r7---sn-ni5f-ttjl.c.youtube.com/videoplayback?gir=yes&fexp=900362%2C932700%2C911929%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C932216%2C909421%2C912711%2C935000%2C935102&key=yt1&ip=24.79.200.138&mt=1371776424&ms=au&sparams=algorithm%2Cburst%2Cclen%2Ccp%2Cfactor%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Csource%2Cupn%2Cexpire&source=youtube&mv=m&upn=qKpBsC6cACI&id=7c1b7855d9592cd2&clen=3582627&sver=3&gcr=ca&itag=140&algorithm=throttle-factor&lmt=1361246140814831&factor=1.25&ipbits=8&cp=U0hWRlhLUF9MTENONl9QRVRFOkx3cDFuTjF5MHBl&newshard=yes&expire=1371802472&burst=40&signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135&ratebypass=yes

The URL that was playing and the URL that is in the page source have the following differences (playing URL on top, page source on bottom):

cpn=ZAWFmFnq7NPSLdej
keepalive=yes
range=950272-1187839
signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135

So it looks like the URL in the page source doesn't have cpn, keepalive, or range. However, this doesn't make a difference since on my computer, all I have to do is swap the non-working signature for the working one, and the URL will return content.

In conclusion, here's the signature comparison with the working one on top and the non-working one on the bottom:

signature=931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

signature=5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135
@mikeygao

This comment has been minimized.

Show comment
Hide comment
@phihag

This comment has been minimized.

Show comment
Hide comment
@phihag

phihag Jun 21, 2013

Collaborator

@mikeygao We released the new version before becoming aware of Youtube's change, and this issue is still marked open, so no, it hasn't been solved yet.

Collaborator

phihag commented Jun 21, 2013

@mikeygao We released the new version before becoming aware of Youtube's change, and this issue is still marked open, so no, it hasn't been solved yet.

@johnthughes

This comment has been minimized.

Show comment
Hide comment
@johnthughes

johnthughes Jun 21, 2013

Video available outside of US that appears to suffer from this. Is vevo tagged and throws the KeyError:sig error.

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

Hope it is helpful.

Can also provide output of error, but you seem to have it covered above.

Video available outside of US that appears to suffer from this. Is vevo tagged and throws the KeyError:sig error.

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

Hope it is helpful.

Can also provide output of error, but you seem to have it covered above.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 21, 2013

Collaborator

I've some updates about it:

  • They can be downloaded!!!: https://github.com/jaimeMF/youtube-dl/tree/youtube_fix_vevo_897. There is an url in the ['args']['dashmpd'] field in the ytplayer.config that points to a xml file that contains the urls, but...
  • The "bad news" are that the video and the audio have to be downloaded separetely, but they can be joined with ffmepg.

And example of the xml file with the urls is in : https://gist.github.com/jaimeMF/5830327

Collaborator

jaimeMF commented Jun 21, 2013

I've some updates about it:

  • They can be downloaded!!!: https://github.com/jaimeMF/youtube-dl/tree/youtube_fix_vevo_897. There is an url in the ['args']['dashmpd'] field in the ytplayer.config that points to a xml file that contains the urls, but...
  • The "bad news" are that the video and the audio have to be downloaded separetely, but they can be joined with ffmepg.

And example of the xml file with the urls is in : https://gist.github.com/jaimeMF/5830327

@strex

This comment has been minimized.

Show comment
Hide comment
@strex

strex Jun 21, 2013

It seems you can still download the old formats, but you have to decrypt the signature (s=) first.
I found a addon for google chrome which is working with vevo videos.
It decrypts the singatures using a javascript function.

I dont know much about javascript, but I am sure it is possible to extract the method from it.
Here is the relevant file: http://pastebin.com/xtAzQnL2

strex commented Jun 21, 2013

It seems you can still download the old formats, but you have to decrypt the signature (s=) first.
I found a addon for google chrome which is working with vevo videos.
It decrypts the singatures using a javascript function.

I dont know much about javascript, but I am sure it is possible to extract the method from it.
Here is the relevant file: http://pastebin.com/xtAzQnL2

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 21, 2013

Collaborator

@strex We need to know where that javascript code comes from, otherwise we can have license issues.

Collaborator

jaimeMF commented Jun 21, 2013

@strex We need to know where that javascript code comes from, otherwise we can have license issues.

@strex

This comment has been minimized.

Show comment
Hide comment
@strex

strex Jun 21, 2013

Hmm, yes than we can't use this.
Its from: http://www.overbits.net/chrome/youtube/
I cant find a license on their website.

strex commented Jun 21, 2013

Hmm, yes than we can't use this.
Its from: http://www.overbits.net/chrome/youtube/
I cant find a license on their website.

@FiloSottile

This comment has been minimized.

Show comment
Hide comment
@FiloSottile

FiloSottile Jun 21, 2013

Collaborator

We can break it by pure analysis with enough samples

Original 931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

Reversed     EAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3 5 2DED67691 5 9AF3461781E75122AE13 9

Result   5AE EAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3 E 2DED67691 9 9AF3461781E75122AE13 5135

Anyone volunteering to take about ten pairs? (Not much time ATM)

Collaborator

FiloSottile commented Jun 21, 2013

We can break it by pure analysis with enough samples

Original 931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE

Reversed     EAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3 5 2DED67691 5 9AF3461781E75122AE13 9

Result   5AE EAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3 E 2DED67691 9 9AF3461781E75122AE13 5135

Anyone volunteering to take about ten pairs? (Not much time ATM)

@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

Running the original signature noted above through the method named "k" from that JavaScript code (located here: http://pastebin.com/xtAzQnL2) seems to return the reversed signature. Curiously it doesn't seem to work on any other videos though (trying to find why).

Contributor

awojnowski commented Jun 21, 2013

Running the original signature noted above through the method named "k" from that JavaScript code (located here: http://pastebin.com/xtAzQnL2) seems to return the reversed signature. Curiously it doesn't seem to work on any other videos though (trying to find why).

@strex

This comment has been minimized.

Show comment
Hide comment
@strex

strex Jun 21, 2013

It seems there is a bug.
The script only works when the encrypted signature is 87 chars long.

strex commented Jun 21, 2013

It seems there is a bug.
The script only works when the encrypted signature is 87 chars long.

@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

Here's another cracked signature pair:

Original: 7C03C0B9B947D9DCCB27CD2D1144BA8F91B7462B430.8CFE5FA73DDE66DCA33BF9F902E09B160BC42924924
Cracked: 32924CB061B90E209F9FB43ACD66EDD77AF5EFC8.034B2647B19F8AB4411D2DC72BCCD9D749B9B0C3

Looks like the signature is less than 87 most of the times on the get_video_info page whereas it is generally 87 characters long on the actual watch?v= page.

Edit:

And another pair:

Original: 38A48AA6FAC88C2240DEBE5F74F4E62DC1F0828E990.53B824774161BD7CE735CA84963AA17B002D1901901
Cracked: 3091D200B71AA36948AC517EC7DB161377428B35.099E8280F1CD26E4F47F5EBED0422C88CAF6AA84
Contributor

awojnowski commented Jun 21, 2013

Here's another cracked signature pair:

Original: 7C03C0B9B947D9DCCB27CD2D1144BA8F91B7462B430.8CFE5FA73DDE66DCA33BF9F902E09B160BC42924924
Cracked: 32924CB061B90E209F9FB43ACD66EDD77AF5EFC8.034B2647B19F8AB4411D2DC72BCCD9D749B9B0C3

Looks like the signature is less than 87 most of the times on the get_video_info page whereas it is generally 87 characters long on the actual watch?v= page.

Edit:

And another pair:

Original: 38A48AA6FAC88C2240DEBE5F74F4E62DC1F0828E990.53B824774161BD7CE735CA84963AA17B002D1901901
Cracked: 3091D200B71AA36948AC517EC7DB161377428B35.099E8280F1CD26E4F47F5EBED0422C88CAF6AA84
@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

Signatures on the get_video_info page appear to be uniformly 86 characters in length. Example:

3D7331C0A7A4F82B69824DAD3A5F729FA7A24E6C.E0E928EF47336123334E1627E4FCDF447974B23D3FD3F

From that JavaScript code, here is the method to crack the 87 character signature:

var q = r.substr(44, 40).split("").reverse().join("");
var p = r.substr(3, 40).split("").reverse().join("");
r = q.substr(21, 1) + q.substr(1, 20) + q.substr(0, 1) + q.substr(22, 9) + r.substr(0, 1) + q.substr(32, 8) + r.substr(43, 1) + p

Contrasting that with the method to crack the 86 character signature (which doesn't work right now):

r = r.substr(2, 15) + r.substr(0, 1) + r.substr(18, 23) + r.substr(79, 1) + r.substr(42, 1) + r.substr(43, 36) + r.substr(82, 1) + r.substr(80, 2) + r.substr(41, 1)

Looks like we need an example of a cracked 86 character long signature.

Edit: It appears as if the signature lengths on the get_video_info page actually fluctuate. I've seen 81, 86, and 87. The cracking method doesn't seem to work for it either.

Contributor

awojnowski commented Jun 21, 2013

Signatures on the get_video_info page appear to be uniformly 86 characters in length. Example:

3D7331C0A7A4F82B69824DAD3A5F729FA7A24E6C.E0E928EF47336123334E1627E4FCDF447974B23D3FD3F

From that JavaScript code, here is the method to crack the 87 character signature:

var q = r.substr(44, 40).split("").reverse().join("");
var p = r.substr(3, 40).split("").reverse().join("");
r = q.substr(21, 1) + q.substr(1, 20) + q.substr(0, 1) + q.substr(22, 9) + r.substr(0, 1) + q.substr(32, 8) + r.substr(43, 1) + p

Contrasting that with the method to crack the 86 character signature (which doesn't work right now):

r = r.substr(2, 15) + r.substr(0, 1) + r.substr(18, 23) + r.substr(79, 1) + r.substr(42, 1) + r.substr(43, 36) + r.substr(82, 1) + r.substr(80, 2) + r.substr(41, 1)

Looks like we need an example of a cracked 86 character long signature.

Edit: It appears as if the signature lengths on the get_video_info page actually fluctuate. I've seen 81, 86, and 87. The cracking method doesn't seem to work for it either.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 21, 2013

Collaborator

@speedyapocalypse I have also seen sizes of 84, 85 and 91, also the length of the two parts of the key (after and before the points) don't have always the same length. Although the scheme of the signature is the same for all the formats in the same request, but it's useless if we don't know how to decrypt the key.
Anyway, here's the code for getting the key (for sizes 43 and 43 of the subparts only) :

#!/usr/bin/env python
def k(s):
    (a,b) = s.split('.')
    b = ''.join([b[:8],a[0],b[9:18],b[-4],b[19:39], b[18]])[0:40]
    a = a[-40:]
    s_dec = '.'.join((a,b))[::-1]
    return s_dec

def comp(s_1, s_2):
    print(k(s_1))
    print(s_2)
    print(k(s_1) == s_2)

comp('5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135',
    '931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE')

comp('7C03C0B9B947D9DCCB27CD2D1144BA8F91B7462B430.8CFE5FA73DDE66DCA33BF9F902E09B160BC42924924',
    '32924CB061B90E209F9FB43ACD66EDD77AF5EFC8.034B2647B19F8AB4411D2DC72BCCD9D749B9B0C3')

comp('38A48AA6FAC88C2240DEBE5F74F4E62DC1F0828E990.53B824774161BD7CE735CA84963AA17B002D1901901',
    '3091D200B71AA36948AC517EC7DB161377428B35.099E8280F1CD26E4F47F5EBED0422C88CAF6AA84')
Collaborator

jaimeMF commented Jun 21, 2013

@speedyapocalypse I have also seen sizes of 84, 85 and 91, also the length of the two parts of the key (after and before the points) don't have always the same length. Although the scheme of the signature is the same for all the formats in the same request, but it's useless if we don't know how to decrypt the key.
Anyway, here's the code for getting the key (for sizes 43 and 43 of the subparts only) :

#!/usr/bin/env python
def k(s):
    (a,b) = s.split('.')
    b = ''.join([b[:8],a[0],b[9:18],b[-4],b[19:39], b[18]])[0:40]
    a = a[-40:]
    s_dec = '.'.join((a,b))[::-1]
    return s_dec

def comp(s_1, s_2):
    print(k(s_1))
    print(s_2)
    print(k(s_1) == s_2)

comp('5AEEAE0EC39677BC65FD9021CCD115F1F2DBD5A59E4.C0B243A3E2DED6769199AF3461781E75122AE135135',
    '931EA22157E1871643FA9519676DED253A342B0C.4E95A5DBD2F1F511DCC1209DF56CB77693CE0EAE')

comp('7C03C0B9B947D9DCCB27CD2D1144BA8F91B7462B430.8CFE5FA73DDE66DCA33BF9F902E09B160BC42924924',
    '32924CB061B90E209F9FB43ACD66EDD77AF5EFC8.034B2647B19F8AB4411D2DC72BCCD9D749B9B0C3')

comp('38A48AA6FAC88C2240DEBE5F74F4E62DC1F0828E990.53B824774161BD7CE735CA84963AA17B002D1901901',
    '3091D200B71AA36948AC517EC7DB161377428B35.099E8280F1CD26E4F47F5EBED0422C88CAF6AA84')
@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

@jaimeMF It looks like they use a different cipher for 87 character long signatures (and presumably all others) when they are returned through the get_video_info page as opposed to the watch?v= page. The algorithm you posted works just fine on the actual watch?v= page whereas it does not work for 87 character long signatures returned through the get_video_info page.

Looks like we need an example of a working signature from the get_video_info page and it's encrypted counterpart, unless we just want to use the watch?v= page to find the URLs.

Contributor

awojnowski commented Jun 21, 2013

@jaimeMF It looks like they use a different cipher for 87 character long signatures (and presumably all others) when they are returned through the get_video_info page as opposed to the watch?v= page. The algorithm you posted works just fine on the actual watch?v= page whereas it does not work for 87 character long signatures returned through the get_video_info page.

Looks like we need an example of a working signature from the get_video_info page and it's encrypted counterpart, unless we just want to use the watch?v= page to find the URLs.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 21, 2013

Collaborator

@speedyapocalypse I know, I have tried to use it with the ones in get_video_info, but since they are not allways the same size, it's useless. Also, I haven't been able to get a counterpart of the one on get_video_info, when I run wireshark I don't see any call to that page, do you see it?
Also, do you know how to extract the urls from the watch?v= page?

Collaborator

jaimeMF commented Jun 21, 2013

@speedyapocalypse I know, I have tried to use it with the ones in get_video_info, but since they are not allways the same size, it's useless. Also, I haven't been able to get a counterpart of the one on get_video_info, when I run wireshark I don't see any call to that page, do you see it?
Also, do you know how to extract the urls from the watch?v= page?

@awojnowski

This comment has been minimized.

Show comment
Hide comment
@awojnowski

awojnowski Jun 21, 2013

Contributor

@jaimeMF For sure. Here's the idea behind it (I have some written in JavaScript but I presume you'd be looking for Python so I'll let you write/interpret it):

In the page source they have something that looks like so:

"url_encoded_fmt_stream_map":"blablabla"

So basically just use regex or whatnot to find the contents of the url_encoded_fmt_steam_map. From there, you can split via the , character. Then just iterate through these like you would for the get_video_info page.

Contributor

awojnowski commented Jun 21, 2013

@jaimeMF For sure. Here's the idea behind it (I have some written in JavaScript but I presume you'd be looking for Python so I'll let you write/interpret it):

In the page source they have something that looks like so:

"url_encoded_fmt_stream_map":"blablabla"

So basically just use regex or whatnot to find the contents of the url_encoded_fmt_steam_map. From there, you can split via the , character. Then just iterate through these like you would for the get_video_info page.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 21, 2013

Collaborator

@speedyapocalypse That's great, I have been able to use it to download the failing videos!, see https://github.com/jaimeMF/youtube-dl/compare/vevo_fix, if you could test it, I would really thank you (once more :)). Now the videos are downloaded normally, not like in my previous attempt.

Collaborator

jaimeMF commented Jun 21, 2013

@speedyapocalypse That's great, I have been able to use it to download the failing videos!, see https://github.com/jaimeMF/youtube-dl/compare/vevo_fix, if you could test it, I would really thank you (once more :)). Now the videos are downloaded normally, not like in my previous attempt.

@jaimeMF jaimeMF referenced this issue Jun 21, 2013

Merged

YoutubeIE: Detect new Vevo style videos #900

1 of 3 tasks complete
@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 21, 2013

Can somebody explain a little bit technology they use? The get_video_info will give encrypted signature. when dl or mplayer try to get the file from server, it has to decrypt signature and send out as &signature=decrypted.
If this is true, we can always find the input and output pair for youtube player or browser which are able to play file by capture all the package on LAN. But what is the point to do encryption if this is true?

Can somebody explain a little bit technology they use? The get_video_info will give encrypted signature. when dl or mplayer try to get the file from server, it has to decrypt signature and send out as &signature=decrypted.
If this is true, we can always find the input and output pair for youtube player or browser which are able to play file by capture all the package on LAN. But what is the point to do encryption if this is true?

@cinereous

This comment has been minimized.

Show comment
Hide comment
@cinereous

cinereous Jun 22, 2013

I used jaimMF's changes, and things seem to be working: (As an aside; Can someone explain how I could have just fetched his changes? I just copied and pasted into youtube_dl/InfoExtractors.py on master, and then did a make; I didn't see his branch available with git branch -r... (I'm totally a user/n00b. ;p))

(Not A Vevo video) This video doesn't work unpatched; works with YoutubeIE: Detect New Vevo Style Videos:
http://www.youtube.com/watch?v=1ltcDfZMA3U

(Vevo) THIS video works without any patches, and I couldn't begin to understand why:
http://www.youtube.com/watch?v=OhhOU5FUPBE

(Vevo) This video didn't work unpatched, works with jaimeMF's patch:
http://www.youtube.com/watch?v=UxxajLWwzqY

jaimeMF: Thanks for the fix, mate.

I used jaimMF's changes, and things seem to be working: (As an aside; Can someone explain how I could have just fetched his changes? I just copied and pasted into youtube_dl/InfoExtractors.py on master, and then did a make; I didn't see his branch available with git branch -r... (I'm totally a user/n00b. ;p))

(Not A Vevo video) This video doesn't work unpatched; works with YoutubeIE: Detect New Vevo Style Videos:
http://www.youtube.com/watch?v=1ltcDfZMA3U

(Vevo) THIS video works without any patches, and I couldn't begin to understand why:
http://www.youtube.com/watch?v=OhhOU5FUPBE

(Vevo) This video didn't work unpatched, works with jaimeMF's patch:
http://www.youtube.com/watch?v=UxxajLWwzqY

jaimeMF: Thanks for the fix, mate.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 22, 2013

Collaborator

@cinereous There's a branch on https://github.com/jaimeMF/youtube-dl called vevo_fix, you can run

git checkout -b jaimeMF-vevo_fix master
git pull git@github.com:jaimeMF/youtube-dl.git vevo_fix

to get the changes.

Collaborator

jaimeMF commented Jun 22, 2013

@cinereous There's a branch on https://github.com/jaimeMF/youtube-dl called vevo_fix, you can run

git checkout -b jaimeMF-vevo_fix master
git pull git@github.com:jaimeMF/youtube-dl.git vevo_fix

to get the changes.

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 22, 2013

Collaborator

@cinereous Thanks for trying it, but does the first video you provide (http://www.youtube.com/watch?v=1ltcDfZMA3U) works with my patch?, I cannot download it, answer it in #900, please.

Collaborator

jaimeMF commented Jun 22, 2013

@cinereous Thanks for trying it, but does the first video you provide (http://www.youtube.com/watch?v=1ltcDfZMA3U) works with my patch?, I cannot download it, answer it in #900, please.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 22, 2013

Seems your patch only for 43 + . + 43 = 87 length sig. But I found with vevo is 81. Does vevo has different s length? Are you working on that now? thank very much for your excellent work.

type=video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22&url=http%3A%2F%2Fr5---sn-tt17rn7k.c.youtube.com%2Fvideoplayback%3Fgcr%3Dca%26ratebypass%3Dyes%26itag%3D45%26ip%3D69.172.116.161%26key%3Dyt1%26upn%3Dw0JQNyT_3cQ%26ipbits%3D8%26cp%3DU0hWRlhLT19HTkNONl9QRVNJOkNwWlNVV010QjQw%26ms%3Dau%26source%3Dyoutube%26sparams%3Dcp%252Cgcr%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26mv%3Dm%26id%3Da51a5e11d326990d%26mt%3D1371778233%26expire%3D1371801824%26newshard%3Dyes%26fexp%3D900225%252C933202%252C900339%252C916625%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C909421%252C912711%252C935000%252C935102%26sver%3D3&itag=45&s=D19E615C9D3008E2D9310FCC44EECBEFAE323BD4.9DFD98C3092E2FC1C7549BCEC7A0FD73342C9D89&quality=hd720&fallback_host=tc.v5.cache3.c.youtube.com

Seems your patch only for 43 + . + 43 = 87 length sig. But I found with vevo is 81. Does vevo has different s length? Are you working on that now? thank very much for your excellent work.

type=video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22&url=http%3A%2F%2Fr5---sn-tt17rn7k.c.youtube.com%2Fvideoplayback%3Fgcr%3Dca%26ratebypass%3Dyes%26itag%3D45%26ip%3D69.172.116.161%26key%3Dyt1%26upn%3Dw0JQNyT_3cQ%26ipbits%3D8%26cp%3DU0hWRlhLT19HTkNONl9QRVNJOkNwWlNVV010QjQw%26ms%3Dau%26source%3Dyoutube%26sparams%3Dcp%252Cgcr%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26mv%3Dm%26id%3Da51a5e11d326990d%26mt%3D1371778233%26expire%3D1371801824%26newshard%3Dyes%26fexp%3D900225%252C933202%252C900339%252C916625%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C909421%252C912711%252C935000%252C935102%26sver%3D3&itag=45&s=D19E615C9D3008E2D9310FCC44EECBEFAE323BD4.9DFD98C3092E2FC1C7549BCEC7A0FD73342C9D89&quality=hd720&fallback_host=tc.v5.cache3.c.youtube.com

@jaimeMF

This comment has been minimized.

Show comment
Hide comment
@jaimeMF

jaimeMF Jun 22, 2013

Collaborator

Without a link to the original video there's little we can do, for the videos I have tried the signature in the video webpage is always of size 87, see this comment above for more info.

Collaborator

jaimeMF commented Jun 22, 2013

Without a link to the original video there's little we can do, for the videos I have tried the signature in the video webpage is always of size 87, see this comment above for more info.

@rg3

This comment has been minimized.

Show comment
Hide comment
@rg3

rg3 Jun 23, 2013

Owner

I edited the issue title to put the prominent error message in it.

Owner

rg3 commented Jun 23, 2013

I edited the issue title to put the prominent error message in it.

@ldo

This comment has been minimized.

Show comment
Hide comment
@ldo

ldo Jun 23, 2013

Here’s another one with the same issue, if it helps: http://www.youtube.com/watch?v=iW1W34A-n4I

ldo commented Jun 23, 2013

Here’s another one with the same issue, if it helps: http://www.youtube.com/watch?v=iW1W34A-n4I

@phihag

This comment has been minimized.

Show comment
Hide comment
@phihag

phihag Jun 24, 2013

Collaborator

This is now implemented in youtube-dl. Type

sudo youtube-dl -U

to update.

Collaborator

phihag commented Jun 24, 2013

This is now implemented in youtube-dl. Type

sudo youtube-dl -U

to update.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 26, 2013

HI, there,
Is this function being committed to youtube-dl already?

On Wed, Jun 26, 2013 at 6:09 AM, mix1009 notifications@github.com wrote:

Below function should decrypt signature of any length.

def decrypt_signature(s):
arr = list(s)

arr[0], arr[52] = arr[52%len(arr)], arr[0]
arr.reverse()
arr = arr[3:]
arr[0], arr[21] = arr[21%len(arr)], arr[0]
arr.reverse()
arr = arr[3:]
arr.reverse()

return "".join(arr)


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20037522
.

HI, there,
Is this function being committed to youtube-dl already?

On Wed, Jun 26, 2013 at 6:09 AM, mix1009 notifications@github.com wrote:

Below function should decrypt signature of any length.

def decrypt_signature(s):
arr = list(s)

arr[0], arr[52] = arr[52%len(arr)], arr[0]
arr.reverse()
arr = arr[3:]
arr[0], arr[21] = arr[21%len(arr)], arr[0]
arr.reverse()
arr = arr[3:]
arr.reverse()

return "".join(arr)


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20037522
.

@FiloSottile

This comment has been minimized.

Show comment
Hide comment
@FiloSottile

FiloSottile Jun 26, 2013

Collaborator

Yes, simply update youtube-dl to the latest version.
There's a remaining issue for which you might have to try to download a
video twice, but they should all work.

Collaborator

FiloSottile commented Jun 26, 2013

Yes, simply update youtube-dl to the latest version.
There's a remaining issue for which you might have to try to download a
video twice, but they should all work.

@MrMetric

This comment has been minimized.

Show comment
Hide comment
@MrMetric

MrMetric Jun 27, 2013

I'm still getting an error with this video:

$ youtube-dl -v -t 8iLCKBYSeOs
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-t', '8iLCKBYSeOs']
[debug] youtube-dl version 2013.06.33
[debug] Python version 2.7.4 - Linux-3.8.0-25-generic-x86_64-with-Ubuntu-13.04-raring
[debug] Proxy map: {}
[youtube] Setting language
[youtube] 8iLCKBYSeOs: Downloading video webpage
[youtube] 8iLCKBYSeOs: Downloading video info webpage
[youtube] 8iLCKBYSeOs: Extracting video information
[youtube] 8iLCKBYSeOs: Encrypted signatures detected.
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
ERROR: unable to download video
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 567, in download
    videos = self.extract_info(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 320, in extract_info
    return self.process_ie_result(ie_result, download=download)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 402, in process_ie_result
    for r in ie_result['entries']
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 349, in process_ie_result
    self.process_info(ie_result)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 544, in process_info
    raise UnavailableVideoError()
UnavailableVideoError

Trying multiple times does not help

I'm still getting an error with this video:

$ youtube-dl -v -t 8iLCKBYSeOs
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-t', '8iLCKBYSeOs']
[debug] youtube-dl version 2013.06.33
[debug] Python version 2.7.4 - Linux-3.8.0-25-generic-x86_64-with-Ubuntu-13.04-raring
[debug] Proxy map: {}
[youtube] Setting language
[youtube] 8iLCKBYSeOs: Downloading video webpage
[youtube] 8iLCKBYSeOs: Downloading video info webpage
[youtube] 8iLCKBYSeOs: Extracting video information
[youtube] 8iLCKBYSeOs: Encrypted signatures detected.
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
[youtube] encrypted signature length 86
ERROR: unable to download video
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 567, in download
    videos = self.extract_info(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 320, in extract_info
    return self.process_ie_result(ie_result, download=download)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 402, in process_ie_result
    for r in ie_result['entries']
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 349, in process_ie_result
    self.process_info(ie_result)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 544, in process_info
    raise UnavailableVideoError()
UnavailableVideoError

Trying multiple times does not help

@FiloSottile

This comment has been minimized.

Show comment
Hide comment
@FiloSottile

FiloSottile Jun 27, 2013

Collaborator

They changed it. Again.

I've fixed it in HEAD, update from git or wait some minutes that I make a release.

Collaborator

FiloSottile commented Jun 27, 2013

They changed it. Again.

I've fixed it in HEAD, update from git or wait some minutes that I make a release.

@phihag

This comment has been minimized.

Show comment
Hide comment
@phihag

phihag Jun 27, 2013

Collaborator

@iloveportalz0r Your URL works fien for me in youtube-dl v2013.06.34 (note that -t is the default by now). Type

sudo youtube-dl -U

to update.

Collaborator

phihag commented Jun 27, 2013

@iloveportalz0r Your URL works fien for me in youtube-dl v2013.06.34 (note that -t is the default by now). Type

sudo youtube-dl -U

to update.

@MrMetric

This comment has been minimized.

Show comment
Hide comment
@MrMetric

MrMetric Jun 27, 2013

Ah, it works now. Thanks!

Ah, it works now. Thanks!

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 27, 2013

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them? Thanks
very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&
fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&
signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&
fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&
signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them? Thanks
very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&
fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&
signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&
fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&
signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 27, 2013

Another url
http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?id=b781ff66887b1b90&newshard=yes&fexp=900148%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&cp=U0hWR1NUTl9IS0NONl9LTlJCOnlrTUFPYkh5bC10&algorithm=throttle-factor&key=yt1&ip=199.182.204.251&sver=3&factor=1.25&mv=m&ipbits=8&mt=1372365645&source=youtube&upn=DblqhRhqceY&ms=au&burst=40&expire=1372390131&itag=17&gcr=ca&ratebypass=yes&signature=F0880F2B965BFD9199E1AF25A65B635F077FBCAA.C022EC2904CFC3DF604FAA2A105A520B2F40924D

On Thu, Jun 27, 2013 at 3:17 PM, Yan Gao ygao.dsp@gmail.com wrote:

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them?
Thanks very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&

fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&

signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&

fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&

signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

Another url
http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?id=b781ff66887b1b90&newshard=yes&fexp=900148%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&cp=U0hWR1NUTl9IS0NONl9LTlJCOnlrTUFPYkh5bC10&algorithm=throttle-factor&key=yt1&ip=199.182.204.251&sver=3&factor=1.25&mv=m&ipbits=8&mt=1372365645&source=youtube&upn=DblqhRhqceY&ms=au&burst=40&expire=1372390131&itag=17&gcr=ca&ratebypass=yes&signature=F0880F2B965BFD9199E1AF25A65B635F077FBCAA.C022EC2904CFC3DF604FAA2A105A520B2F40924D

On Thu, Jun 27, 2013 at 3:17 PM, Yan Gao ygao.dsp@gmail.com wrote:

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them?
Thanks very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&

fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&

signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&

fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&

signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 27, 2013

I am very sorry for this long message. But I really need your help. Below
is two url one is from youtube-dl output and it works even I hardcode into
my code. Another is generate from my code from android. Didn't see much
different except expr's length.

work:
./youtube-dl -v -f 18 -g -s https://www.youtube.com/watch?v=8UVNT4wvIGY

"http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
mv=m&
ipbits=8&
ratebypass=yes&
gcr=ca&
ms=au&
itag=18&
key=yt1&
source=youtube&

fexp=903802%2C912510%2C906434%2C929404%2C916613%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C932211%2C919008%2C900816%2C926403%2C909421%2C912711%2C935000&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
mt=1372367009&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmk1T0tOUnd0QlB0&
upn=0dbWkkuy4jI&
newshard=yes&
sver=3&
ip=69.172.92.164&
id=f1454d4f8c2f2066&
signature=2F6B60747173EDCE619C9E1002ED3C400302D0C0.AA927EE054BC0A1EC8DF5C6A78798E6E8885E2D4"

doesn't work
http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
sver=3&
source=youtube&
mt=1372367860&
ms=au&
id=f1454d4f8c2f2066&
ratebypass=yes&
mv=m&
newshard=yes&
itag=18&
gcr=ca&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmFZLWRtaHNxVkRs&
upn=GNtCXL08XU0&

fexp=906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ipbits=8&
ip=69.172.92.164&
key=yt1&
signature=8112B5484FDE0CB1DC5063DCAF0EA42B948100C.8DB3596F33F8DEB1DED3BC8B6829ED09576149BE1

On Thu, Jun 27, 2013 at 4:48 PM, Yan Gao ygao.dsp@gmail.com wrote:

Another url

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?id=b781ff66887b1b90&newshard=yes&fexp=900148%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&cp=U0hWR1NUTl9IS0NONl9LTlJCOnlrTUFPYkh5bC10&algorithm=throttle-factor&key=yt1&ip=199.182.204.251&sver=3&factor=1.25&mv=m&ipbits=8&mt=1372365645&source=youtube&upn=DblqhRhqceY&ms=au&burst=40&expire=1372390131&itag=17&gcr=ca&ratebypass=yes&signature=F0880F2B965BFD9199E1AF25A65B635F077FBCAA.C022EC2904CFC3DF604FAA2A105A520B2F40924D

On Thu, Jun 27, 2013 at 3:17 PM, Yan Gao ygao.dsp@gmail.com wrote:

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them?
Thanks very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&

fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&

signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&

fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&

signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

I am very sorry for this long message. But I really need your help. Below
is two url one is from youtube-dl output and it works even I hardcode into
my code. Another is generate from my code from android. Didn't see much
different except expr's length.

work:
./youtube-dl -v -f 18 -g -s https://www.youtube.com/watch?v=8UVNT4wvIGY

"http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
mv=m&
ipbits=8&
ratebypass=yes&
gcr=ca&
ms=au&
itag=18&
key=yt1&
source=youtube&

fexp=903802%2C912510%2C906434%2C929404%2C916613%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C932211%2C919008%2C900816%2C926403%2C909421%2C912711%2C935000&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
mt=1372367009&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmk1T0tOUnd0QlB0&
upn=0dbWkkuy4jI&
newshard=yes&
sver=3&
ip=69.172.92.164&
id=f1454d4f8c2f2066&
signature=2F6B60747173EDCE619C9E1002ED3C400302D0C0.AA927EE054BC0A1EC8DF5C6A78798E6E8885E2D4"

doesn't work
http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
sver=3&
source=youtube&
mt=1372367860&
ms=au&
id=f1454d4f8c2f2066&
ratebypass=yes&
mv=m&
newshard=yes&
itag=18&
gcr=ca&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmFZLWRtaHNxVkRs&
upn=GNtCXL08XU0&

fexp=906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ipbits=8&
ip=69.172.92.164&
key=yt1&
signature=8112B5484FDE0CB1DC5063DCAF0EA42B948100C.8DB3596F33F8DEB1DED3BC8B6829ED09576149BE1

On Thu, Jun 27, 2013 at 4:48 PM, Yan Gao ygao.dsp@gmail.com wrote:

Another url

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?id=b781ff66887b1b90&newshard=yes&fexp=900148%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&cp=U0hWR1NUTl9IS0NONl9LTlJCOnlrTUFPYkh5bC10&algorithm=throttle-factor&key=yt1&ip=199.182.204.251&sver=3&factor=1.25&mv=m&ipbits=8&mt=1372365645&source=youtube&upn=DblqhRhqceY&ms=au&burst=40&expire=1372390131&itag=17&gcr=ca&ratebypass=yes&signature=F0880F2B965BFD9199E1AF25A65B635F077FBCAA.C022EC2904CFC3DF604FAA2A105A520B2F40924D

On Thu, Jun 27, 2013 at 3:17 PM, Yan Gao ygao.dsp@gmail.com wrote:

Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:

Could you please take a look at to see what difference between them?
Thanks very much!

Youtube-dl:

http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&

fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&

signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB

Anroid:

http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&

fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&

sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&

signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852

On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:

Ah, it works now. Thanks!


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20146801
.

@phihag

This comment has been minimized.

Show comment
Hide comment
@phihag

phihag Jun 27, 2013

Collaborator

@mikeygao Do I understand your message correctly in youtube-dl is working fine, but you have trouble in another application which tries to download from the URLs generated by youtube-dl? If so, then that's probably the problem, as content provider often tie the URL to a specific IP address, session (identified by cookies. see --cookies), user agent, or even other headers.

You can try reproducing the whole URL generation code in your android app, or just run youtube-dl from your app.

Collaborator

phihag commented Jun 27, 2013

@mikeygao Do I understand your message correctly in youtube-dl is working fine, but you have trouble in another application which tries to download from the URLs generated by youtube-dl? If so, then that's probably the problem, as content provider often tie the URL to a specific IP address, session (identified by cookies. see --cookies), user agent, or even other headers.

You can try reproducing the whole URL generation code in your android app, or just run youtube-dl from your app.

@FiloSottile

This comment has been minimized.

Show comment
Hide comment
@FiloSottile

FiloSottile Jun 27, 2013

Collaborator

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda

Collaborator

FiloSottile commented Jun 27, 2013

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 28, 2013

Thanks for replay. Yes, I am doing a youtube like app on android
application to watch video instead of download it. I worked just fine
before vevo signature get encrypted. Now thanks for youtube-dl, it works!
So I write a similar function in java.

On Thu, Jun 27, 2013 at 6:35 PM, Filippo Valsorda
notifications@github.comwrote:

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20159752
.

Thanks for replay. Yes, I am doing a youtube like app on android
application to watch video instead of download it. I worked just fine
before vevo signature get encrypted. Now thanks for youtube-dl, it works!
So I write a similar function in java.

On Thu, Jun 27, 2013 at 6:35 PM, Filippo Valsorda
notifications@github.comwrote:

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20159752
.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 28, 2013

I do exactly the same as you said to get s and decrypting it. It looks for
sig and s instead if not found the first. The decrypt function tested
compare to youtube-dl's with input and output is right.

On Thu, Jun 27, 2013 at 8:59 PM, Yan Gao ygao.dsp@gmail.com wrote:

Thanks for replay. Yes, I am doing a youtube like app on android
application to watch video instead of download it. I worked just fine
before vevo signature get encrypted. Now thanks for youtube-dl, it works!
So I write a similar function in java.

On Thu, Jun 27, 2013 at 6:35 PM, Filippo Valsorda <
notifications@github.com> wrote:

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20159752
.

I do exactly the same as you said to get s and decrypting it. It looks for
sig and s instead if not found the first. The decrypt function tested
compare to youtube-dl's with input and output is right.

On Thu, Jun 27, 2013 at 8:59 PM, Yan Gao ygao.dsp@gmail.com wrote:

Thanks for replay. Yes, I am doing a youtube like app on android
application to watch video instead of download it. I worked just fine
before vevo signature get encrypted. Now thanks for youtube-dl, it works!
So I write a similar function in java.

On Thu, Jun 27, 2013 at 6:35 PM, Filippo Valsorda <
notifications@github.com> wrote:

I get that he is trying to emulate YouTube-dl behavior.

Are you sure that you are taking the "s" parameter from the
url_encoded_streams (or something like that) field in the web page
(watch?v=) and decrypting it as we do in _decrypt_signature?

Filippo Valsorda


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20159752
.

@netllama

This comment has been minimized.

Show comment
Hide comment
@netllama

netllama Jun 28, 2013

@mikeygao could you possibly submit a new issue to discuss this? You're hijiacking someone else's bug, which isn't nice. I doubt that the majority of the others monitoring this issue want to be spammed with monitoring emails discussing your development problems.

@mikeygao could you possibly submit a new issue to discuss this? You're hijiacking someone else's bug, which isn't nice. I doubt that the majority of the others monitoring this issue want to be spammed with monitoring emails discussing your development problems.

@mikeygao

This comment has been minimized.

Show comment
Hide comment
@mikeygao

mikeygao Jun 28, 2013

I am sorry about that. That is true. I will do that.

On Thu, Jun 27, 2013 at 9:06 PM, Lonni J Friedman
notifications@github.comwrote:

@mikeygao https://github.com/mikeygao could you possibly submit a new
issue to discuss this? You're hijiacking someone else's bug, which isn't
nice. I doubt that the majority of the others monitoring this issue want to
be spammed with monitoring emails discussing your development problems.


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20165000
.

I am sorry about that. That is true. I will do that.

On Thu, Jun 27, 2013 at 9:06 PM, Lonni J Friedman
notifications@github.comwrote:

@mikeygao https://github.com/mikeygao could you possibly submit a new
issue to discuss this? You're hijiacking someone else's bug, which isn't
nice. I doubt that the majority of the others monitoring this issue want to
be spammed with monitoring emails discussing your development problems.


Reply to this email directly or view it on GitHubhttps://github.com/rg3/youtube-dl/issues/897#issuecomment-20165000
.

@sumoanand

This comment has been minimized.

Show comment
Hide comment
@sumoanand

sumoanand Jul 29, 2013

thanks, it works now.

thanks, it works now.

@Thomas-RV

This comment has been minimized.

Show comment
Hide comment
@Thomas-RV

Thomas-RV Nov 5, 2014

Read some Javascript functions in some Youtube Html pages for encoding the video signature from the "url_encoded_fmt_stream_map" value.
Guess, for a proper and stable solution you will have to parse that huge Javascript file, referenced after tag "js": in the player-config section of the Html and apply a Javascript engine to evaluate the signature.

Read some Javascript functions in some Youtube Html pages for encoding the video signature from the "url_encoded_fmt_stream_map" value.
Guess, for a proper and stable solution you will have to parse that huge Javascript file, referenced after tag "js": in the player-config section of the Html and apply a Javascript engine to evaluate the signature.

@maniek1310 maniek1310 referenced this issue in HaarigerHarald/android-youtubeExtractor Sep 20, 2016

Open

Don't generate download lnk #17

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