Program działajacy z operą


(Sefira) #1

poszukuję programu który pozwalał na zgrywanie filmików min,z you tube z użyciem przeglądarki opera.Nie znam nazwy ale wiem że program ten integrował sie z przeglądarka a po instalacji wyglądało to tak że na pasku przeglądarki opera ,po lewej stronie było niebieskie kółeczko które po kliknięciu dawało opcję zgrania filmiku.Ten program miał być dla tych którzy nie używaja mozilli i nie mogą skorzystać z takiej opcji z real playerem.Proszę o pomoc


(Freeq52) #2

Jest rozszerzenie:


(Łukash) #3

Może skrypcik :wink:

// ==UserScript==

// @name easy-youtube-video-downloader-opera

// @namespace yourvideofile.com

// @include http://youtube.com/watch*

// @include http://*.youtube.com/watch*

// @Credit Ionut Alex Chitu

// ==/UserScript==


(function () {

	var FORMAT_LABELS = { '5': 'FLV 240p', '18': 'MP4 360p', '22': 'MP4 720p (HD)', '34': 'FLV 360p', '35': 'FLV 480p', '37': 'MP4 1080p (HD)', '38': 'MP4 Original (HD)', '43': 'WebM 480p', '45': 'WebM 720p (HD)' };

	var FORMAT_EXTENSIONS = { '5': 'flv', '18': 'mp4', '22': 'mp4', '34': 'flv', '35': 'flv', '37': 'mp4', '38': 'mp4', '43': 'webm', '45': 'webm' };

	var FORMAT_LIST = ['5', '18', '34', '35', '22', '37', '38'];

	var DOWNLOAD_LINK_MESSAGES = { 'en': 'Download As :' };

	var DOWNLOAD_TOOLTIP_MESSAGES = { 'en': 'Download current video' };

	var DOWNLOAD_LINK_MESSAGE = 'Download As';

	var DOWNLOAD_TOOLTIP_MESSAGE = 'Download this video';

	var DOWNLOAD_YOUTUBE_SPAN_ID = 'download-youtube-video';

	var DOWNLOAD_YOUTUBE_FMT_ID = 'download-youtube-video-fmt';

	var DOWNLOAD_YOUTUBE_BUTTON_ID = 'download-youtube-video-button';


	var videoId, videoTicket, videoFormats, videoTitle;

	var pagetop = document.getElementById('watch-pagetop-section');

	if(pagetop) { // new UI

		if(pagetop.addEventListener) {

			pagetop.addEventListener('DOMNodeInserted', run, false);

		} else {

			// TODO: alternative to DOMNodeInserted

		}

	} else {

		window.addEventListener('DOMContentLoaded', run, false);


	}


	function run() {

		// download-youtube-video is a container for the download button

		if(document.getElementById(DOWNLOAD_YOUTUBE_SPAN_ID)) return;


		// obtain video ID, temporary ticket, formats map 

		var videoPlayer = document.getElementById('watch-player');

		if(videoPlayer != null) {

			var flashValues = videoPlayer.innerHTML;

			var videoIdMatches = flashValues.match(/\&video_id=([^(\&|$)]*)/);

			videoId = (videoIdMatches != null) ? videoIdMatches[1] : null;

			var videoTicketMatches = flashValues.match(/\&t=([^(\&|$)]*)/);

			videoTicket = (videoTicketMatches != null) ? videoTicketMatches[1] : null;

			var videoFormatsMatches = flashValues.match(/\&fmt_url_map=([^(\&|$)]*)/);

			videoFormats = (videoFormatsMatches != null) ? videoFormatsMatches[1] : null;

		}


		if(videoId == null || videoTicket == null) { // new UI

			var args = null;

			try {

				args = unsafeWindow.yt.getConfig("SWF_CONFIG").args;

			}

			catch(e) {

				try {

					args = window.yt.getConfig("SWF_CONFIG").args;

				}

				catch(f) {

				}

			}

			if(args) {

				videoId = args["video_id"];

				videoTicket = args["t"];

				videoFormats = args["fmt_stream_map"];

			}

		}


		if(videoId == null || videoTicket == null) { // HTML5

			var args = null;

			try {

				args = unsafeWindow.yt.getConfig("PLAYER_CONFIG").args;

			}

			catch(e) {

				try {

					args = window.yt.getConfig("PLAYER_CONFIG").args;

				}

				catch(f) {

					return;

				}

			}

			if(args) {

				videoId = args["video_id"];

				videoTicket = args["t"];

				videoFormats = args["fmt_stream_map"];

			}

			if(videoId == null || videoTicket == null) return;

		}


		// video title

		videoTitle = document.title;

		videoTitle = videoTitle.replace(/^YouTube \- /i, '').replace(/[#"\?:\*]/g, '').replace(/[&\|\\\/]/g, '_').replace(/'/g, '\'').replace(/^\s+|\s+$/g, '').replace(/\.+$/g, '');

		if(videoTitle == '') {

			videoTitle = 'video';

		}


		// parse fmt_url_map

		var videoURL = new Array();

		var isFinalURL = new Array();

		var sep1 = "%2C", sep2 = "%7C";

		if(videoFormats.indexOf(",") > -1) { // new UI

			sep1 = ",";

			sep2 = "|";

		}

		var videoFormatsGroup = videoFormats.split(sep1);

		for(var i = 0; i < videoFormatsGroup.length; i++) {

			var videoFormatsElem = videoFormatsGroup[i].split(sep2);

			videoURL[videoFormatsElem[0]] = unescape(videoFormatsElem[1]);

			isFinalURL[videoFormatsElem[0]] = true;

		}

		if(videoURL['18'] == undefined) {

			// add standard MP4 format (fmt18), even if it's not included

			videoURL['18'] = 'http://www.youtube.com/get_video?fmt=18&video_id=' + videoId + '&t=' + videoTicket + '&asv=3';

			isFinalURL[videoFormatsElem[0]] = false;

		}


		var downloadCodeList = [];

		for(var i = 0; i < FORMAT_LIST.length; i++) {

			var format = FORMAT_LIST[i];

			// don't add lower quality FLV versions to prevent clutter

			if(format == '5' && (videoURL['34'] != undefined || videoURL['35'] != undefined)) continue;

			// if (format=='34' && videoURL['35']!=undefined) continue;   

			if(videoURL[format] != undefined && FORMAT_LABELS[format] != undefined) {

				downloadCodeList.push({ url: videoURL[format] + '&title=' + videoTitle, isFinalURL: isFinalURL[format], format: format, label: FORMAT_LABELS[format] });

			}

		}


		// adjustments for localized interfaces  

		var uiLanguage = document.documentElement.getAttribute('lang');

		if(uiLanguage == 'fr' || uiLanguage == 'de' || uiLanguage == 'hu' || uiLanguage == 'pt' || uiLanguage == 'es' || uiLanguage == 'ro' || uiLanguage == 'sr' || uiLanguage == 'bg' || uiLanguage == 'it' || uiLanguage == 'fi' || uiLanguage == 'nl' || uiLanguage == 'pl' || uiLanguage == 'ru' || uiLanguage == 'sk' || uiLanguage == 'sl' || uiLanguage == 'el' || uiLanguage == 'ja') {

			var shareButton = document.getElementById('watch-share');

			if(shareButton) {

				var spanElements = shareButton.getElementsByTagName('span');

				if(spanElements) {

					spanElements[0].style.display = 'none';

				}

			}

		}

		if(uiLanguage == 'ru' || uiLanguage == 'es' || uiLanguage == 'ro' || uiLanguage == 'uk' || uiLanguage == 'bg' || uiLanguage == 'lt' || uiLanguage == 'it' || uiLanguage == 'nl' || uiLanguage == 'el') {

			var likeButton = document.getElementById('watch-like');

			if(likeButton) {

				var spanElements = likeButton.getElementsByTagName('span');

				if(spanElements) {

					spanElements[0].style.display = 'none';

				}

			}

		}

		if(DOWNLOAD_LINK_MESSAGES[uiLanguage] != null) {

			DOWNLOAD_LINK_MESSAGE = DOWNLOAD_LINK_MESSAGES[uiLanguage];

		}

		if(DOWNLOAD_TOOLTIP_MESSAGES[uiLanguage] != null) {

			DOWNLOAD_TOOLTIP_MESSAGE = DOWNLOAD_TOOLTIP_MESSAGES[uiLanguage];

		}


		// generate download code

		var downloadCode = '' + " " + DOWNLOAD_LINK_MESSAGE + '';

		downloadCode += '
  • '; for(var i = 0; i < downloadCodeList.length; i++) { downloadCode += '
  • [' + downloadCodeList[i].label + ']('%20+%20downloadCodeList%5Bi%5D.url%20+%20')'; } i++; downloadCode += '
  • ' + "MP3" + ''; downloadCode += '
    '; downloadCode = '' + downloadCode + ''; // add the button var containerSpan = document.createElement('span'); containerSpan.id = DOWNLOAD_YOUTUBE_SPAN_ID; var flagButton = document.getElementById('watch-flag'); if(flagButton && flagButton.parentNode) { containerSpan.innerHTML = downloadCode + '   '; flagButton.parentNode.insertBefore(containerSpan, flagButton); } else { var actionsDiv = document.getElementById('watch-actions-right'); if(actionsDiv == null) return; containerSpan.innerHTML = '  ' + downloadCode; actionsDiv.appendChild(containerSpan); } if(typeof GM_xmlhttpRequest == 'function') { for(var i = 0; i < downloadCodeList.length; i++) { if(downloadCodeList[i].format == '18') { var downloadFMT = document.getElementById(DOWNLOAD_YOUTUBE_FMT_ID + downloadCodeList[i].format); if(downloadFMT == null) break; var url = downloadFMT.parentNode.getAttribute('href'); var loop = i; // workaround from http://wiki.greasespot.net/Greasemonkey\_access\_violation setTimeout( function () { try { var xhr = GM_xmlhttpRequest({ method: 'HEAD', url: url, onreadystatechange: function (response) { if(response.readyState == 2 || response.readyState == 3) { xhr.abort(); } else if(response.readyState == 4) { if(response.status == '404') { downloadFMT.parentNode.parentNode.removeChild(downloadFMT.parentNode); } else if(response.finalUrl != url) { downloadCodeList[loop].url = response.finalUrl + '&title=' + videoTitle; var span = document.getElementById(DOWNLOAD_YOUTUBE_FMT_ID + downloadCodeList[loop].format); span.parentNode.setAttribute('href', downloadCodeList[loop].url); } } } }) } catch(e) { } }, 0); break; } } } } })();[/code]

Zapisz jako > wszystkie pliki > dlyt.js

Lub ExtendTube mnóstwo opcji ,np start filmików w najwyższej rozdzielczość ,przycisk pobierania włączasz w preferencjach rozszerzenia > Interface > Enable download.


(Sefira) #4

dzięki za odzew ale mnie chodzi o ten konkretny program,nawet ściągnęłam go z tej strony ale teraz nie pamiętam nazwy