Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getBestQuality(videoID) {
- xhr=new XMLHttpRequest();
- var param_array = new Array('&el=detailpage');
- var txtDoc = "";
- for(var i = 0; i < param_array.length; ++i)
- {
- var param = param_array[i];
- var send_to_url = 'http://www.youtube.com/get_video_info?&video_id=' + videoID + param + '&ps=default&eurl=&gl=US&hl=en';
- xhr.open("GET", send_to_url, false);
- xhr.setRequestHeader("Accept-Encoding", "identity");
- xhr.setRequestHeader("Accept-Language", "en-us,en;q=0.5");
- xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
- xhr.setRequestHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.6) Gecko/20100627 Firefox/3.6.6");
- xhr.setRequestHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
- xhr.setRequestHeader("Connection", "close");
- xhr.send();
- txtDoc=xhr.responseText;
- if(txtDoc.indexOf('fmt_url_map'))
- {
- break;
- }
- if(txtDoc.indexOf('url_encoded_fmt_stream_map'))
- {
- break;
- }
- }
- xhr.destroy();
- var paare = txtDoc.split("&");
- var paar, name, wert;
- var params=new Array();
- for (var i = 0; i < paare.length; i++)
- {
- paar = paare[i].split("=");
- name = paar[0];
- wert = paar[1];
- params[name] = unescape(wert);
- }
- var url ="";
- if(params['fmt_url_map'])
- {
- var test = params['fmt_url_map'].split(",");
- for (var index = 0; index < test.length; index++)
- {
- var videoinfo = test[index].split("|");
- if (videoinfo[0] == '22')
- {
- url = videoinfo[1];
- alert(videoinfo[0]);
- alert("HD 720p");
- break;
- }
- }
- }
- url = params['url_encoded_fmt_stream_map'].replace("url=","");
- url = parser(url, '&url=', ',itag');
- url = url.replace("&sig", "&signature");
- if(params['url_encoded_fmt_stream_map'])
- {
- var test = params['url_encoded_fmt_stream_map'].split(",url=");
- for (var index = 0; index < test.length; index++)
- {
- var need_help = test[index].indexOf(',itag');
- if(need_help>0)
- {
- var helper = test[index].substr(0,need_help);
- alert('helper' + helper)
- test[index] = helper
- }
- var videoinfo = test[index].split("&itag=");
- videoinfo[0] = videoinfo[0].replace("url=","");
- if (videoinfo[1] == '22')
- {
- url = videoinfo[0];
- mode = "HD 720p"
- break;
- }
- if (videoinfo[1] == '18')
- {
- url = videoinfo[0];
- break;
- }
- if (videoinfo[1] == '5')
- {
- url = videoinfo[0];
- break;
- }
- }
- }
- url = url.replace(/\%3A/g,":");
- url = url.replace(/\%2F/g,"/");
- url = url.replace(/\%3F/g,"?");
- url = url.replace(/\%3D/g,"=");
- url = url.replace(/\%252C/g,",");
- url = url.replace(/\%26/g,"&");
- url = url.replace(/\%253/g,":");
- return url;
- }
Advertisement
Add Comment
Please, Sign In to add comment