lunes, 26 de noviembre de 2012

Descarga vídeos de yotutube con script Perl

Como sabemos no hace falta que un día nos den ganas de descargar un vídeo de youtube,si ya sabemos que es youtube por lo menos una vez en la vida hemos querido descargar un vídeo de youtube,esto incluso lo verifica google al estar en el segundo resultado de autocompletar,

Uno pone

Como

Y autocompleta

Como descargar musica

Como descargar videos de youtube

Así que no faltan programas para hacer esto,mas que nada para Windows,para Linux tenemos el magnifico minitube y si nos gusta la terminal tenemos youtube-dl,pero yo como soy usuario de Gentoo aparte de la filosofía de Arch (armelo usted mismo) también me voy a casi (programelo usted mismo) y como me dedico mas a la programación de sistemas operativos que a la web, no se me complica tanto hacer mis propios programas para usarlos,por ejemplo el script que les voy a mostrar a continuación



Funciona bajo programación de escritorio aunque usa Internet y podemos crearle una GUI para que sea fácil de usar.

Gracias a Yuji Shimada podemos descargar vídeos de youtube con perl usando el modulo WWW::YouTube::Download

La sintaxis que nos indica en cpan para usar este modulo es el siguiente:


 use WWW::YouTube::Download;
  
my $client = WWW::YouTube::Download->new;
$client->download($video_id);
  
my $video_url = $client->get_video_url($video_id); 
my $title     = $client->get_title($video_id);  # maybe encoded utf8 string.
my $fmt       = $client->get_fmt($video_id);    # maybe highest quality.
my $suffix    = $client->get_suffix($video_id);    # maybe highest quality file suffix


O también nos deja :


 $client->download($video_id);
  $client->download($video_id, {
      fmt      => 37,
      filename => 'sample.mp4', # save file name
  });
  $client->download($video_id, {
      filename => '{title}.{suffix}', # maybe `video_title.mp4`
  });
  $client->download($video_id, {
      cb => \&callback,
  });


Por ejemplo:

Vamos a descargar un vídeo,usando el modulo WWW::YouTube::Download yo hice un script usando las instrucciones de Yuji Shimada que queda así:

#!/usr/bin/env perl


use strict;
use warnings;
use utf8;
use WWW::YouTube::Download;

if ($ARGV[0]) {

my $client = WWW::YouTube::Download->new;


my $video = $ARGV[0];
my $video_id="$video"; 
$client->download($video_id, {
      filename => '{title}.{suffix}', 
    });
}

else {

print "\n[+] Sintax : $0 'video_id' \n\n";

}


Copien y peguen el script en un documento,luego pongan el nombre que gusten con extensión .pl.

Para bajar un vídeo ya solo se hace esto:


perl script url_del_video
Si lo ejecutan puede que de error de dependencias

Así que instalen el modulo

Con estos comandos:


su


cpan


install WWW::YouTube::Download

Vídeo de demostración de como descargo un video:




Y así se usa :D

Los vídeos se descargaran en la carpeta donde este el script,en .flv

No he encontrado documentación de como descargarlos en otro formato,pero pueden usar un convertidor.

Por ejemplo tbashconverter.sh


Enlace

Claro que este modulo no se puede usar solo así sino que se puede emplear de maneras sorprendentes,por ejemplo con una GUI en Gtk3 o Qt ,yo por ejemplo le añadí una tipo extensión al navegador que he estado presentando(simplePerlBrowser) :

No les doy el código,por eso del copyright de youtube(vídeos),ya que es muy simple de usar:

Añadí un algoritmo que detecta si entramos a youtube

Copia la Url y se la manda al modulo de youtube

En otras palabras,solo darle clic a descargar



Pero no se los puedo dar :(

Pero con los tutoriales de perl del sitio se podrán armar uno igual o mejor,ya que yo use simplePerlBrowser pero se puede crear una GUI desde 0 :D

Saludos y espero que les sirva el script para que bajen vídeos fácilmente desde linea de comandos :D




No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.