Ir para conteúdo
  • Cadastre-se

Baixar videos do youtube usando o Safari


Moreno

Posts Recomendados

  • Respostas 12
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Top Postadores Neste Tópico

Imagens Postadas

Para vídeos do YouTube eu uso o Get Tube, não é extensão, é um App... mas em breve deve surgir uns helpers aí para o Safari.

atualmente eu faço o download manualmente usando o Safari e o monitor de atividade do Safari, seguindo uma dica do site oficial do Perian.

Link para o comentário
Compartilhar em outros sites

Valeu pelas dicas!

Tinha visto aquele processo pelo monitor de atividades, mas queria uma coisa mais "clique aqui e pronto" sem precisar abrir uma janela separada e depois ter que renomear. Vou dar uma olhada se da pra fazer esse processo pelo automator (preguiça é f*$@).

Se alguém souber de alguma extensão, bota ai!

Link para o comentário
Compartilhar em outros sites

Valeu pelas dicas!

Tinha visto aquele processo pelo monitor de atividades, mas queria uma coisa mais "clique aqui e pronto" sem precisar abrir uma janela separada e depois ter que renomear. Vou dar uma olhada se da pra fazer esse processo pelo automator (preguiça é f*$@).

Se alguém souber de alguma extensão, bota ai!

Extensão - You Tube Video Downloader - Ela adiciona na própria página do YT um link com escolhas de formatos para download, inclusive com versões dos videos em MP4.

FLW

Link para o comentário
Compartilhar em outros sites

Tem dois modos: o primeiro é instalar o Safaristand, você ganha um botão na barra de navegação que permite salvar os FLV depois de carregados. O chato é que exige o SIMBL.

O segundo dá um pouquinho mais de trabalho mas adiciona um botão de download no site do YouTube, independente do navegador. É só instalar o Glimmerblocker, criar um novo filtro, e nesse filtro criar uma regra com o seguinte:

Aba Rule Type, action WHITELIST URL, host IS www.youtube.com, path STARTS WITH /watch, query IGNORE

Depois na aba javascript você cola esse código:

// ==UserScript==
// @name Download YouTube Videos as MP4
// @description Adds an option to download YouTube videos.
// @namespace http://googlesystem.blogspot.com
// @include http://*.youtube.com/watch*
// @match http://*.youtube.com/watch*
// @source http://userscripts.org/scripts/show/25105
// @author Ionut Alex Chitu
// @version 1.0.5
// @date 2010-08-02
// @license MIT License
// ==/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'};
  var DOWNLOAD_TOOLTIP_MESSAGES={'en':'Download this video'};
  var DOWNLOAD_LINK_MESSAGE='Download';
  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 {
	run();
  } 

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){
		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') {
  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') {
  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='<span class="yt-uix-button-content">'+DOWNLOAD_LINK_MESSAGE+'</span>';				 
  downloadCode+='  <img class="yt-uix-button-arrow" src="" alt="" /> <ul style="display:none;" class="yt-uix-button-menu">';
  for (var i=0;i<downloadCodeList.length;i++) {
	downloadCode+='<li><a style="text-decoration:none;" href="'+downloadCodeList[i].url+'"><span class="yt-uix-button-menu-item" loop="'+i+'" id="'+(DOWNLOAD_YOUTUBE_FMT_ID+downloadCodeList[i].format)+'">'+downloadCodeList[i].label+'</span></a></li>';
  }
  downloadCode+='</ul>';
  downloadCode='<button id="'+DOWNLOAD_YOUTUBE_BUTTON_ID+'" data-button-listener="" data-tooltip-timer="271" class="yt-uix-button yt-uix-tooltip" data-tooltip="'+DOWNLOAD_TOOLTIP_MESSAGE+'" onclick="return false;" type="button">'+downloadCode+'</button>';   

  // 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;
	   }		 
	} 
 } 

   for (var i=0;i<downloadCodeList.length;i++) {
	var downloadFMT=document.getElementById(DOWNLOAD_YOUTUBE_FMT_ID+downloadCodeList[i].format);	
	if (downloadFMT.addEventListener) {
	  downloadFMT.addEventListener('click', downloadVideo, false);
	} else if (downloadFMT.attachEvent) { // IE
	  downloadFMT.attachEvent('onclick', downloadVideo);
	}
  }

  function downloadVideo(e) {
	if(!e) var e = window.event; // IE
	var elem = (e.target)?e.target:e.srcElement;
	e.returnValue = false;	
	if (e.preventDefault) {
	  e.preventDefault();
	}
	var loop = elem.getAttribute('loop');
	if (typeof GM_download == 'function') {
	  GM_download(downloadCodeList[loop].url, videoTitle+'.'+FORMAT_EXTENSIONS[downloadCodeList[loop].format]);
	} else {
	  location.href=downloadCodeList[loop].url;
	}
  }


  }

})();

No canto inferior, perto dos botões Cancel e Save, tem um menu drop-down. Escolha ˜just before </body>"

Pronto, botão download no youtube em qualquer navegador. Você pode usar isso para adicionar outros javascripts sem precisar de greasemonkey ou greasekit. A desvantagem é que nem todos os scripts funcionam perfeitamente por esse método, é preciso testar.

Editado por Fabio Romeo
Link para o comentário
Compartilhar em outros sites

  • 6 meses depois...

Valeu pelas dicas!

Tinha visto aquele processo pelo monitor de atividades, mas queria uma coisa mais "clique aqui e pronto" sem precisar abrir uma janela separada e depois ter que renomear. Vou dar uma olhada se da pra fazer esse processo pelo automator (preguiça é f*$@).

Se alguém souber de alguma extensão, bota ai!

MOreno faz o seguinte :

1: abre o safari !

2: aperte command , option e a tecla "A" . vc vai abrir o monitor de atividade do safari

3: entre no youtube, escolha um video,coloque ele para carregar de preferencia um video grande pois ocupa bom espaco em memoria

4: volte ao monitor de atividade e procure um arquivo que vai estar carregando, vai estar em MB o arquivo é o video vc busca, clica duas vezes e ele vai baixar em FLV . eu uso este metodo para baixar alguns arquivos ( videos ) que sao bloqueados por alguns sites.

Outra opcao é vc colocar o aplicativo realplayer sp ( http://www.baixaki.com.br/mac/download/realplayer-sp.htm ) ele separa o video, depois vc resolve se vai baixar ele , e converte depois !! pratico com limitacoes

post-16356-0-51519700-1299937599_thumb.p

Editado por Wolverine
Link para o comentário
Compartilhar em outros sites

MOreno faz o seguinte :

1: abre o safari !

2: aperte command , option e a tecla "A" . vc vai abrir o monitor de atividade do safari

3: entre no youtube, escolha um video,coloque ele para carregar de preferencia um video grande pois ocupa bom espaco em memoria

4: volte ao monitor de atividade e procure um arquivo que vai estar carregando, vai estar em MB o arquivo é o video vc busca, clica duas vezes e ele vai baixar em FLV . eu uso este metodo para baixar alguns arquivos ( videos ) que sao bloqueados por alguns sites.

Outra opcao é vc colocar o aplicativo realplayer sp ( http://www.baixaki.com.br/mac/download/realplayer-sp.htm ) ele separa o video, depois vc resolve se vai baixar ele , e converte depois !! pratico com limitacoes

veja !!

post-16356-0-06564700-1299937861_thumb.p

Link para o comentário
Compartilhar em outros sites

Moreno a solução dos teus problemas chama-se Cosmopod, se vc tiver disposto a pagar, claro!

http://cocoamug.com/cosmopod/

click no botão e ele além de baixar já converte pro formato do iPhone e joga no iTunes... melhor impossível!!!

Detalhe: o video não precisa ser somente do youtube... bastou o video rodar no safari e pronto!!

Enjoy!

Editado por inox
Link para o comentário
Compartilhar em outros sites

Seguinte,

Alguém sabe alguma extensão (estilo download helper, do Firefox) para baixar videos do youtube?

Edit: esqueci de colocar, extensão para Safari. :P

Simples, va a www.keepvid.com e siga as instruções do site.

Pro: e rapido, fácil e te da opções no formato da exportação.

Contra: só funciona online.

Editado por 5215CD
Link para o comentário
Compartilhar em outros sites

  • 5 meses depois...

E ae pessoal! Alguém está conseguindo utilizar o Atividade para download dos videos?

Tentei e não consegui, toda vez que dou um duplo clique, ao invés de começar a fazer download o video é aberto em uma nova aba.

Alguém sabe se ainda funciona ou é só no meu !!!

Link para o comentário
Compartilhar em outros sites

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

Visitante
Responder este tópico…

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Limpar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.



  • Estatísticas do Fórum

    • Total de Tópicos
      56k
    • Total de Posts
      465.5k
×
×
  • Criar Novo...