Foro de elhacker.net

Programación => Java => Mensaje iniciado por: konarr en 23 Junio 2012, 03:11 am



Título: Descargar videos de Youtube en Java.
Publicado por: konarr en 23 Junio 2012, 03:11 am
nas,  como se manifiesta en el titulo de post quiero descargar videos de youtube utilizando Java.

Lo que quiero hacer es resivir como parametro la url del video de Youtube y descargar el video, el siguiente paso es convertir ese video a un formato de audio, y por ultimo poder seleccionar un directorio donde almacenar los archivos. Todo esto por consola.

Buscando he encontrado harta basura, lo mas rescatable es la propia Guía del desarrollador: Java, donde menciona la API de Youtube Guía del desarrollador: Java (http://Guía del desarrollador: Java), el problema es que enseñan a como subir videos de Youtube a tu sitio web, autentificacion, algunas cosas con los metadatos, etc. . Pero en ningun momento se menciona como descargar los videos.

¿Alguna idea de como hacerlo?


Título: Re: Descargar videos de Youtube en Java.
Publicado por: Nortis en 23 Junio 2012, 05:45 am
Lo único que se me ocurre para lo de descargar el video de youtube es mirar código abierto de programas que lo hagan. Como Jdownload (uri para decargar el código abierto: http://es.jdownloader.com/articles/codigo-fuente.html (http://es.jdownloader.com/articles/codigo-fuente.html)), que ademas esta hecho en java. Estaría bien si lo haces que documentaras y lo subas al foro. Siento no poder ayudarte más.

Suerte.


Título: Re: Descargar videos de Youtube en Java.
Publicado por: ~ Yoya ~ en 23 Junio 2012, 06:39 am
Muchos o mayormente lo que hacen es descargar el video y utilizando ffmpeg extraen el audio del video.

Saludos.


Título: Re: Descargar videos de Youtube en Java.
Publicado por: konarr en 23 Junio 2012, 21:19 pm
Gracias por las respuestas :)
@Nortis, estuve mirando el code de JDownload pero no pude entender como hace las descargas.
@Yoya tienes razón muchos utilizan ffmpeg para convertir.

Encontré un programa open source que es justo lo que quiero, se llama youtube-dl http://rg3.github.com/youtube-dl/documentation.html (http://rg3.github.com/youtube-dl/documentation.html) esta escrito en Python. Viendo el código fuente al parecer no interactua con la API de Youtube, mas bien hace una descarga 'directa', ademas no solo corre para Youtube, tambien lo hace con :

    YouTube.com.
    YouTube.com playlists (playlist URLs in "view_play_list" form).
    metacafe.com.
    Google Video.
    Google Video searches ("gvsearch" keyword).
    Yahoo! video.
    Yahoo! video searches ("ybsearch" keyword).
    vimeo.
entre otros.

utiliza las librerias :
Código
  1. import cookielib
  2. import datetime
  3. import getpass
  4. import gzip
  5. import htmlentitydefs
  6. import HTMLParser
  7. import httplib
  8. import locale
  9. import math
  10. import netrc
  11. import optparse
  12. import os
  13. import os.path
  14. import re
  15. import shlex
  16. import socket
  17. import string
  18. import subprocess
  19. import sys
  20. import time
  21. import urllib
  22. import urllib2
  23. import warnings
  24. import zlib
acá dejo el code completo  http://pastebin.com/5fyHbuWi (http://pastebin.com/5fyHbuWi)

uhmm alguna idea de como hacer esta descarga 'directa' en Java ?


Título: Re: Descargar videos de Youtube en Java.
Publicado por: adwind en 24 Junio 2012, 22:18 pm
A principios de año hice uno en java :) el cual le implemente 7 conexiones por video para acelerar la descarga :p. mira te daré una pista
:)

Busca en google "descargar videos de youtube manualmente",  ahi mencionan como hacerlo,




Título: Re: Descargar videos de Youtube en Java.
Publicado por: konarr en 25 Junio 2012, 00:33 am
@adwind Ya he buscando lo que mencionas, tanto por url, código fuente, cache del navegador, etc, pero no logro encontrar ningún metodo que aun este vigente.

Cuéntanos mas de tu programa :)


Título: Re: Descargar videos de Youtube en Java.
Publicado por: konarr en 28 Junio 2012, 23:43 pm
Tengo como leer el codigo fuente de una pagina, los datos los almaceno en un buffer y después el contenido del buffer se pasa a texto y se imprime.
Pero sigo con la gran interrogante ¿ como descargar los videos, alguna idea ?