====== Bajar Videos de Youtube ====== {{:servicios:informaticos:logo_youtube.jpeg?200 |Logotipo de Youtube.com}} Para ciertas tipo de cosas nos gustaría disponer de un video y verlo cuando queramos y sin necesidad de disponer de una conexción permanente a internet. Gracias a un correo de mi amigo [[rene@viancos.cl|Réne]] como le digo con cariño, me decidí a poner un método que he probado y funciona sin problemas en mi máquina con Linux que pasaré a explicar para todos aquellos que usamos software libre como plataforma de uso diario. //Preferimos en nuestras explicaciones usar comandos//, hemos privilegiado el trabajo en consola o terminal. De ahora en adelante, usaremos una terminal y ejecutaremos los comandos que se encuentran destacados más abajo. ===== Download ===== Lo primero que debemos hacer es bajarnos una aplicación GPL que nos permite realizar ese trabajo desde [[http://rg3.github.io/youtube-dl/|youtube-dl]], una vez que hemos obtenido el scripting //youtube-dl// y hemos verificado su //MD5//, con lo siguiente: **Downloading:** $ wget http://www.youtube-dl.org/downloads/2014.10.30/youtube-dl **URL:** $ http://www.youtube-dl.org/downloads/2014.10.30/youtube-dl Y bajar la última versión disponible del programa. **md5** $ md5sum youtube-dl >> youtube-dl.md5 Nos deja el cálculo en el archivo //youtube.md5// y deberemos comprobarlo. **Comprobando** md5 de youtube-dl es a6e8aa6fda09a09cddf7586d6f7dac61 Una vez comprobado el calculo del **md5** que es muy importante para evitar bajar //binarios// mal formados o maliciosos, disponemos desde ahora con una aplicación para bajar los videos de youtube. ===== Instalando youtube-dl ===== Una vez que hemos bajado y comprobado el script a nuestra máquina lo que debemos hacer son algunos pasos simples para dejar esta aplicación disponible para ser usada en nuestro sistema y para ello haremos lo siguiente: **Cambiamos sus permisos** $ chmod +x youtube-dl --> Le damos permisos de ejecución. **Comprobamos** $ ls -lF youtube-dl -rwxr-xr-x 1 root root 64120 abr 18 01:42 youtube-dl **Movemos el binario** $ sudo mv youtube-dl /usr/local/bin/. Con lo anterior hemos dejado este binario en un sitio adecuado en nuestra máquina disponible para todos nuestros usuarios. **Comprobándolo** $ youtube-dl --version 2014.10.30 ===== Bajando un Video ===== Ahora lo que nos toca es simplemente usar la aplicación y verificar que funciona sin problemas. Hemos elegido un video que me gusta bastante, no sólo porque lo encuentro buenísimo, sino que por lo que representa, es //una persona simple pero con un talento extraordinario//. En este ejemplo seleccionamos la URL del video que requerimos, el cual normalmente tiene una URL específica. **Bajando el video** $ youtube-dl -tb http://www.youtube.com/watch?v=4BvBkTmDWBA **Explicando las Opciones** $ -t = Usa el título del archivo original. $ -b = Usa la mejor calidad disponible del video. **youtube-dl --help** Usage: youtube-dl [options] url... Options: -h, --help print this help text and exit -v, --version print program version and exit -i, --ignore-errors continue on download errors -r L, --rate-limit=L download rate limit (e.g. 50k or 44.6m) Authentication Options: -u UN, --username=UN account username -p PW, --password=PW account password -n, --netrc use .netrc authentication data Video Format Options: -f FMT, --format=FMT video format code -b, --best-quality download the best quality video possible -m, --mobile-version alias for -f 17 -d, --high-def alias for -f 22 Verbosity / Simulation Options: -q, --quiet activates quiet mode -s, --simulate do not download video -g, --get-url simulate, quiet but print URL -e, --get-title simulate, quiet but print title Filesystem Options: -t, --title use title in file name -l, --literal use literal title in file name -o TPL, --output=TPL output filename template -a F, --batch-file=F file containing URLs to download -w, --no-overwrites do not overwrite files -c, --continue resume partially downloaded files ===== Otra forma de bajar el Video ===== Hay una forma distinta de bajar el video pero no por eso reemplazará a la anterior, ya que podemos ejecutar el comando anterior en conexiones sin ambiente gráfico, la forma que indicaré ahora requiere disponer de conexción permanente y de ambiente X habilitado. Si tomamos el mismo video anterior, que nos ha servido de ejemplo, ponemos en nuestro browser http://www.youtube.com/watch?v=4BvBkTmDWBA&feature=fvsr Esto nos lleva al video buscado, pero //como bajarlo?//... http://www.bajaryoutube.com/watch?v=4BvBkTmDWBA&feature=fvsr Si nos damos cuenta, lo único que hemos agregado a la URL del video, es la palabra **bajar** delante de la palabra //youtube// en la URL, dándonos además ciertas alternativas de formato. ===== Mostrando el Video ===== {{ youtube>9A-HLSvtBWc?large }} Lo que quiero mostrar con esto, es la aplicación //youtube-dl//, la que nos ha permitido bajar a nuestra máquina este video y como podemos comprobar está en //alta calidad//. ===== Convirtiendo el formato del Video ===== Los formatos de videos pueden ser de varios tipos tales como //flv, wav, avi, mpg, dv, etc// y no podemos pretender disponer de todos los formatos o de tener que instalar una larga lista de plugins. Por lo anterior les dejo unas URL para que les sirva de guía para el uso de una extraordinaria herramienta Unix de conversión de formatos de videos el **ffmpeg**. - [[http://casidiablo.net/convertir-video-ffmpeg/|Convirtiendo a varios formatos de video]] - [[http://casidiablo.net/cambiar-resolucion-video-ffmpeg/|Cambiando la resolución de los videos]] - [[http://delectomorfo.blogspot.com/2008/09/cmo-usar-ffmpeg-para-crear-videos.html|Creando videos editables en Adobe Premiere Pro ]] Usando //Google// se pueden ver varias otras plublicaciones interesantes. En nuestro ejemplo deberemos realizar lo siguiente: $ ffmpeg -i video1.flv -async 1 -qscale 1 video1.mp4 Con esto hemos transformado el formato de **flv2mp4** ===== Bajando lotes de Videos ===== Bueno esto ya se ha convertido en un verdadero [[http://es.wikipedia.org/wiki/Vicio|vicio]], pero bueno.... dejemoslo así, pensemos que es un poco más inocente de la definición que hemos visto. Pero vamos a lo nuestro, veamos ahora cómo podemos bajar un lote archivos de distintos videos de (c) //YOUTUBE// (tm) (r). Lo primero que debemos hacer es crear un archivo de texto plano con un //listado// de las //URL's// donde se encuentran los videos que requerimos bajar. Para ello y como ejemplo usaremos esto: http://www.youtube.com/watch?v=3DWW7ESN5rMWQ http://www.youtube.com/watch?v=3DZlhlV3l0y2M http://www.youtube.com/watch?v=3DLKhIpHAXdqo http://www.youtube.com/watch?v=3DhQIrtsgGKss http://www.youtube.com/watch?v=3Dn6GqILj1DJU http://www.youtube.com/watch?v=3Dv1oEg-3zKPM http://www.youtube.com/watch?v=3DoppYNCktDtk Debo decir que aún cuando no estoy de acuerdo con la selección indicada, sólo la he usado como un ejemplo y con la cual hemos creado un listado en un archivo plano. **Bajando por lotes** $ youtube-dl -tba listado.txt Sin duda, todos los archivos bajados quedan en el directorio en donde se ejecuta el comando anterior.