jueves, 26 de enero de 2017

Aprendiendo informatica: Ripear video de Dramafever

IMPORTANTE: DramaFever ha dejado de operar, con lo que este tutorial ya no tiene razón de ser. Sin embargo, dado que hay distintas webs compatibles con youtube-dl y con un funcionamiento similar no lo voy a eliminar para que quede como referencia.

Hace poco descubri una serie de capitulos cortos (15 minutos) llamada Thumping Spike, que tiene dos temporadas. Las raws de la primera se encuentran con bastante facilidad, pero las de la segunda no están por ninguna parte, asi que decidi ripearlas directamente desde la unica pagina que las tiene: Dramafever. Como no hay ninguna guia sobre como hacerlo, pues que mejor que hacerla yo.

Para ello necesitaremos dos programas: ffmpeg y youtube-dl. El primero es conocido por la mayoria de los que manejamos video. Es un codec muy utilizado, ya que es de codigo libre. El segundo es un programa que se encarga de descargar archivos que se emiten por streaming. Soporta muchas webs, asi que es buena opcion.

Para Linux tendremos que tener instalado python, un lenguaje de scripting y para Windows necesitaremos el Microsoft Visual C++ 2010 Redistributable Package (x86). Seguramente ya los tendremos instalados.

El primero, ffmpeg, lo descargamos desde su pagina web (http://ffmpeg.org). Alli vamos a Download y escogemos nuestro sistema operativo. En mi caso es Windows, asi que pongo el raton encima del logo y me aparece la opcion de Builds. Clic ahi. Ahora nos lleva a otra web (https://ffmpeg.zeranoe.com/builds/). Dado que es un proyecto libre es posible que esta web cambie mas adelante, yo lo hare tal y como esta ahora.

Ahora hay que seleccionar tres elementos: Version, arquitectura y enlazado (linking). En la parte de "Version" aparecen dos opciones: la version que están probando actualmente (y que puede tener algun fallo), que incluye la fecha y la version estable, que incluye el numero de version. Lo mas normal es escoger la version estable. La arquitectura depende de si vuestro sistema operativo es de 32 o 64 bits. Podeis entrar en las propiedades del sistema si no lo sabeis. En caso de que lo dudeis, usad la de 32. Por ultimo, hay que escoger entre tres opciones: static, shared y dev. Aunque la version static seguramente servirá, lo mejor es escoger shared. Lo descomprimimos donde queramos, pero no lo perdemos de vista. Yo lo descomprimire en C:\ffmpeg, para que lo veais en las capturas.

El youtube-dl lo descargamos desde un enlace en su pagina (https://rg3.github.io/youtube-dl/) que pone Windows Executable. Presionamos y guardamos el archivo en el directorio "bin" de la carpeta de ffmpeg. Es decir, yo lo guardo en C:\ffmpeg\bin.

Ahora ya podemos empezar a descargar. Abrimos una ventana de Simbolo de sistema y vamos a esa carpeta. Para los que no sepan hacerlo: tecleamos CD, un espacio y arrastramos la carpeta bin a esa ventana.

Ahi vamos a teclear lo siguiente:

youtube-dl --hls-prefer-ffmpeg ruta_del_episodio

Tenemos que indicarle que utilice ffmpeg, porque si no no funcionará. Es muy importante un detalle: si no podeis ver el video de Dramafever no podreis descargarlo. Necesitareis una VPN para ello o recibireis el siguiente mensaje de error:

C:\ffmpeg\bin>youtube-dl --hls-prefer-ffmpeg https://www.dramafever.com/es/drama/4894/12/Thumping_Spike_2/
[dramafever] Downloading main.js
[dramafever] Downloading Akamai AMP feed
ERROR: Currently unavailable in your country.

En mi caso, uso la VPN gratuita de VPNReactor, lo que me da media hora seguida de conexion bastante lenta. Para los capitulos de 15 minutos me es suficiente, pero para series mas largas no me serviria. Si usais esta VPN o teneis problemas os recomiendo que tecleeis lo siguiente en la ventana de simbolo de sistema antes de conectar:

PING dramafever-i.akamaihd.net

Esto asegura que no tendreis problemas a la hora de descargar.

Bueno, ahora vamos a descargar. En mi caso quiero descargar el capitulo 12 de la serie, asi que buscamos el capitulo en la web de Dramafever. Vamos a la ficha de Dramafever y vemos que la URL es https://www.dramafever.com/es/drama/4984/Thumping_Spike_2/. Para acceder al capitulo correspondiente tenemos que añadirlo a la direccion. Si buscamos el capitulo 12, la direccion será https://www.dramafever.com/es/drama/4984/12/Thumping_Spike_2/

Tecleamos lo que habiamos dicho y aparecen mas cosas en la pantalla. Os explico que es cada cosa con la siguiente captura:



Lo primero que vemos es que descarga unos archivos de Internet, que le indican los servidores desde los que se descargara. Lo siguiente, en la primera linea que pone Download, veremos el nombre que le pondra al archivo. En mi caso, Thumping Spike 2 4984.12-4984.12.mp4

Como podeis ver, la serie y el episodio son los correctos, y el formato es MP4. Todo va bien.

Lo siguiente son datos sobre la version de ffmpeg que hemos descargado y la configuracion que ha usado, asi como sus herramientas. Eso no necesitamos saberlo, asi que lo pasamos por alto.

Mas abajo podemos ver que pone Input #0 y una serie de datos. La duracion del video es lo unico que nos interesa. Mas adelante, vemos los datos del video y el audio. Podemos ver que el video lo descarga en formato h264 y lo codifica en h264 tambien, y el audio en aac asi que cuando queramos verlo tendremos que tener esos dos codecs instalados (si instalasteis algun pack de codecs ya los tendreis). Tambien podemos ver la resolucion, en mi caso 1280x720.

Por ultimo, en la ultima linea veremos el numero de frame que esta procesando, la cantidad de frames por segundo que tiene el video, el tamaño del archivo, el tiempo que ya ha transcurrido en la duracion del video, el bitrate y, sobre todo, la velocidad a la que esta descargando. En mi captura iba a 2.15 veces la velocidad normal del video. Si el video duraba 10 minutos, se tardarian menos de 5 en descargarlo. Si la velocidad fuera 0.5x, tardaría el doble. La velocidad va cambiando segun las condiciones de la red, así que no os preocupeis si varia.

Por ultimo, cuando acaba muestra un mensaje:

video:236451kB audio:8551kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.090638%
[ffmpeg] Downloaded 251109306 bytes
[download] 100% of 239.48MiB

Ahi podemos ver toda la informacion sobre que han ocupado el video y el audio, pero ¿por que pone algo de subtitulos?...

¡SORPRESA! ¡Tambien podemos extraer los subtitulos!

Veamos un par de comandos mas. Supongamos que queremos saber que subtitulos hay disponibles. Tecleamos

youtube-dl --list-subs ruta_del_episodio

y nos aparece (para el capitulo 14):

[dramafever] Downloading main.js
[dramafever] Downloading Akamai AMP feed
[dramafever] 4984.14: Downloading f4m manifest
[dramafever] 4984.14: Downloading m3u8 information
[dramafever] 4984.14: Downloading episode info JSON
Available subtitles for 4984.14:
Language   formats
Spanish    xml
English    srt, xml
Portuguese xml

Si queremos descargar todos los subtitulos, tecleamos

youtube-dl --all-subs ruta_del_episodio

y nos descargara todos los archivos por separado. En el caso de los subtitulos en formato XML podeis abrirlos con Subtitle Edit o Subtitle Workshop. Aegisub no los admite. A proposito, descargara tambien el video. Si quereis cancelar esa descarga, usad CTRL+C. Luego, borrad el archivo .PART.

Y ya si nos ponemos serios... ¿Podemos descargar toda la serie del tiron, subtitulos incluidos?

youtube-dl --playlist-start 1 --all-subs --hls-prefer-ffmpeg ruta_de_la_serie

Se pone --playlist-start 1 para que empiece por el capitulo numero 1, claro. Si la queremos sin subtitulos quitamos --all-subs.

Y bien, ¿que os ha parecido? Nada mal para un solo post.

Un saludo.

36 comentarios:

  1. Una pregunta acerswap, hay algo que nunca he entendido, se en que consiste ripear (o eso creo), pero nunca he terminado de entender que diferencia hay entre descargar el cap de dramafever ripeandolo como tu lo has hecho y descargar el capitulo como yo lo he hecho hasta ahora con Video DownloadHelper o tubeoffline.

    ResponderEliminar
    Respuestas
    1. Como yo lo he hecho y con VideoDownloaderHelper es mas o menos igual, lo descarga directamente del servidor original, aunque supongo que uno da mas opciones que el otro (por ejemplo los subtitulos).

      Tubeoffline usa su sistema de ripeado para bajarlo a su servidor y luego lo descargas desde el servidor de Tubeoffline.

      Tubeoffline a veces permite descargar videos que no puedes ver por el bloqueo regional, pero no funciona en todos los sitios.

      Eliminar
    2. Ok, entonces por lo que puedo ver la mayor ventaja que tiene hacerlo como tu la haces frente a como yo lo hago es que tienes la opción de poder descargarte todos los capitulos y subtitulos de golpe en cambio yo solo podría hacerlo uno a uno.

      Una pregunta más. ¿Al descargarlo como tu haces, la velocidad de bajada varia algo, es decir, descarga a máxima velocidad?

      Eliminar
    3. Lo que yo hago tiene ventajas e inconvenientes. Las ventajas son que puedo descargar capitulos sueltos o en bloque con subtitulos y a la calidad de video y audio que me de la gana, aunque vaya mas lenta la descarga. Con los otros sistemas pierdo opciones.

      La velocidad siempre es peor, porque entre un servidor a velocidades de conexion ultrarrapidas que posiblemente ya tenga el video en cache a bajarlo con velocidad de equipo domestico y unir los trozos en mi equipo va un mundo.

      ¿Quieres bajarlo para verlo y nada mas? Usa la web. ¿Quieres usar la mejor calidad y bajar todos los subs al mismo tiempo? Usa youtube-dl.

      Eliminar
    4. Ok, muchas gracias. Ya me hago un idea clara con todo lo que has dicho. Mañana (con la hora que es, mas bien hoy jeje) probare con una serie que quiero bajarme, lo unico que tendre que usar un proxy ya que no esta disponible en españa. Muchas gracias acer por resolver mis dudas :D

      Eliminar
    5. Una pregunta más. Me estoy descargando el capitulo 8 de My Shy Boss, pero no esta disponible para españa, como ya dije. Estoy usando la extension de firefox Kproxy, me esta descargando sin problemas, pero, si desconecto el kproxy en medio de la descarga, ¿esta se para?

      Eliminar
    6. Si, se para.

      Puedes bajarlo tambien a traves de TorrentKim: https://torrentkim5.net/bbs/s.php?k=내성적인+보스+e08&b=&q=

      Eliminar
    7. Ok, ya se que esta en torrentkim y en avistaz, el problema es que en avistaz (en torrent kim no se) con la version next los subs de dramafever salen desincronizados, y la idea de bajarmelo con tu metodo es para ahorrarme tener que sincronizarlos, que si bien lo hago en 2 minutos, si me ahorro ese tiempo y el mas que posible spoiler de la serie pues mejor jeje. Ahora, me ha pasado una cosa curiosa, la serie my shy boss (sensitive boss) no esta disponible en españa, pero he podido bajarme el capitulo sin activar el kproxy. ¿A sido un error del kproxy que ha seguido activado a pesar de que lo desconecté, o como es que he podido bajarmelo sin proxy y/o VPN? Mas tarde (o mañana) probare bajarme otro capitulo sin kproxy a ver si me sigue dejando o a sido algun error de algo.

      Por cierto, perdon por ser taaan pesado con las preguntitas, pero ya te dije en una ocasion por asia-team que soy muy curioso con estas cosas de la informatica jeje

      Eliminar
    8. Vale, ya he visto como funciona mas o menos esa "extension". Por lo visto hay una aplicacion que actua como proxy o como acceso a una VPN, no estoy seguro, y un boton en el navegador que permite controlarla.

      Extrañamente a mi, que no tengo instalada la aplicacion, tambien me permite bajarla. No se por que me lo permite, pero me deja.

      Eliminar
    9. Me ha vuelto a funcionar 0_0, no se si será algo temporal, pero ojala que no. Una última cosa, todo lo que has explicado arriba, ¿se puede hacer con alguna otra pagina (vease viki, youtube, vk, dailymotion, etc) o solo es admitido para dramafever?

      Eliminar
    10. Aqui tienes la lista completa.

      https://rg3.github.io/youtube-dl/supportedsites.html

      Eliminar
    11. Wow, soporta un motón de sitios, no pensé que soportase tantos. El proceso para descargar desde cualquier sitio será el mismo, ¿no? Con los subtítulos y todo.

      Eliminar
    12. Depende, con algunos te sirve el HLS integrado y con otros tendrás que usar el de FFMPEG. Con DramaFever hay que usar el ffmpeg o no funcionara. Con iqiyi no te hace falta ffmpeg.

      Eliminar
    13. Ok, ahora mismo estoy probando con streamcloud y es igual a dramafever, ahora eso si, la velocidad varia muchísimo, pero en mi caso para peor. Muchas gracias por responder a todas mis dudas acerswap, eres el mejor :D
      Un saludo

      Eliminar
    14. Una pregunta, solo por curiosidad, ando probando cosas (mas bien toqueteando, investigando jeje) y me ha venido una pregunta a la cabeza. Al igual que podemos esquivar el bloqueo geografico con un VPN o en mi caso con el Kproxy, ¿se podria hacer lo mismo para esquivar el bloqueo viki pass (los capitulos que no se pueden ver al no ser que pagues)?

      Quizas esto de esquivar el viki pass, no es cosa de los comandos, si no mas bien el programa en si, ¿o me equivoco?

      Un saludo:D

      Eliminar
    15. Te equivocas. Usar una VPN es meterte en otra red y salir a Internet desde ella. Si la red esta en otro sitio te saltas el bloqueo geografico. Lo que no puedes es saltarte el bloqueo para el acceso a usuarios de pago.

      Eliminar
    16. Me lo imaginaba. Aunque no lo habia pensado de esa forma, es cierto que acceso depende de los usuarios en sí no de la IP. Muchas gracias por responder. Seguire dandole vueltas en mi cabeza a esto, tengo curiosidad si existe alguna forma de acceder a esos capítulos (obviomente sin tener que llegar a hackeos de web y cosas de esas). Cuando se me mete algo en la cabeza pocas veces lo dejo escapar jeje

      Eliminar
    17. Mmm, no estoy seguro si esto era conocido, pero he probado a ver que pasaba y me he sorprendido. Me he descargado los subs y el capitulo de viki con un solo comando, en vez de hacerlo por separado. He puesto los comandos:

      youtube-dl --all-subs ruta_del_enlace_viki

      Y se me han descargado los subs y seguido automanticamente el capitulo de la serie. No se si esto lo sabías ya, o si lo has dicho en la explicacion (de ser asi no lo he pillado jeje)

      Eliminar
    18. Si, esta en la explicacion. Revisalo bien.

      Eliminar
    19. Anda, es verdad, con la de veces que me he leido el post y ni darme cuenta de esto "A proposito, descargara tambien el video." Madre mía que verde estoy jeje
      Bueno sabiendo que lo sabes entonces perfecto :D

      Creo que ya no me queda ni una duda sobre esto, y no tengo nada que aportar, asi que me ire a otra cosa =D

      Un saludo y gracias por este gran post, me ha ayudado mucho (a pesar de ser distraido a la hora de leer)

      PD: Siento ser tan pesado, la verdad es que estoy siendo cansino con este tema jeje.

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. madre mía... esi está peor que en chino... por algún lado encontré la forma de bajar los subs de viki y los videos aparte con WinX Youtube Downloader... no lo he probado con otros sitios del estilo de viki, pero al menos me he bajado series de hace mil años que quería ver, como ToGetHer...

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. hola muy interesante tu post, lo acabo de probar con todo lo que has publicaco y me sale un pequeño error, te adjunto una imagen, si puedes ayudarme a descargar los sub y los videos de ls listas de series de drmafever, estaría muy agradecido. quiero aprender bien este post.
    http://prntscr.com/jkei91

    ResponderEliminar
    Respuestas
    1. Ya lo han arreglado. Han debido hacer alguna actualizacion en DF con lo que el programa no descargaba bien.

      Actualiza youtube-dl con el comando

      youtube-dl -U

      y verás como ya te funciona.

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. lo intente pero me sale el siguiente error:
    Warning: could not send HEAD request to http://www.dramafever.com/es/drama/3985/1/warrior-baek-dong-soo/: >urlopen error [Errno 1101] getaddinfo failed>
    [generic] warrior-baek-dong-soo: Downloading webpage

    error: unable to download webpage: >urlopen error [errno 11001] getaddrinfo failed> ( caused by URLError(gaierror(1101, 'getaddrinfo failed'),))

    ResponderEliminar
    Respuestas
    1. Antes de nada, ¿estás en un país en el que DramaFever da servicio? ¿Has usado alguna VPN? ¿Te funciona abriéndolo desde el navegador?

      Eliminar
    2. si, puedo ver los capítulos en la pagina con normalidad y no he usado ninguna VPN

      Eliminar
  8. hola
    intento descargar este link
    youtube-dl --all-subs https://www.dramafever.com/es/drama/5225/4/100-days-my-prince/
    y me arroja el siguiente error.

    [dramafever] Downloading main.js
    [dramafever] 5225.4: Downloading video JSON
    [dramafever] 5225.4: Downloading stream JSON
    WARNING: Unable to download JSON metadata: HTTP Error 404: Not Found
    ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are us
    ing the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose f
    lag and include its complete output.

    ojalá y sepas como solucionarlo. gracias

    ResponderEliminar
    Respuestas
    1. Hola.

      Acabo de entrar en la web usando una VPN y aparece el siguiente mensaje: "Obten DramaFever Premium para ver este video".

      DramaFever es un servicio de pago, en el que tienen videos que pueden verse por cualquier usuario, registrado o no y otros en los que se requiere un pago. Por lo general, pasadas un par de semanas los desbloquean.

      En el caso de este video, por el momento solo está disponible para usuarios de pago, asi que no podrás descargarlo salvo que tengas una cuenta Premium. Deberás esperar o descargarlo desde otro sitio.

      Ten en cuenta que aunque no sea posible descargar el video siempre puedes descargar los subtitulos mediante paginas como DownSub y descargar el video desde otros sitios.

      Un saludo.

      Eliminar
  9. gracias, intentaré descargarlos y buscar el video por otro lado.

    ResponderEliminar
  10. youtube dl se me cierra no puedo tocar nada porue lo abro y se cierra sin poder hacer nada

    ResponderEliminar
    Respuestas
    1. Es un programa que se usa mediante un solo comando, es normal que si lo ejecutas se cierre.

      Eliminar