{"id":206,"date":"2024-09-02T20:06:16","date_gmt":"2024-09-02T18:06:16","guid":{"rendered":"https:\/\/www.ea1fsc.es\/?p=206"},"modified":"2025-09-25T22:44:38","modified_gmt":"2025-09-25T20:44:38","slug":"primera-version-del-multi_downloader-ya-publicada-v0-1","status":"publish","type":"post","link":"https:\/\/www.ea1fsc.es\/es_es\/primera-version-del-multi_downloader-ya-publicada-v0-1\/","title":{"rendered":"\u00a1Primera versi\u00f3n del multi_downloader publicada (v0.1)!"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\"><em>Descripci\u00f3n del proyecto<\/em><\/h2>\n\n\n\n<p>Como aparece en <a href=\"https:\/\/www.ea1fsc.es\/index.php\/proyectos-y-aplicaciones\/\" data-type=\"page\" data-id=\"107\">Proyectos y aplicaciones<\/a>, el \u00abMulti Downloader\u00bb es un programa en Python que permite la descarga de archivos desde m\u00faltiples fuentes: YouTube, Instagram, X (antes Twitter) y dem\u00e1s.<\/p>\n\n\n\n<p>Est\u00e1 integrado en Python (de momento en la versi\u00f3n 3.12.4), por lo que en principio es ejecutable en cualquier tipo de SO (Windows, MacOS o Linux).<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><em>Caracter\u00edsticas de la v0.1<\/em><\/h2>\n\n\n\n<p>En esta primera versi\u00f3n publicada, ya se puede descargar desde YouTube en tres formatos distintos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u00eddeo (sin audio asociado) en varios formatos.<\/li>\n\n\n\n<li>Audio en varios formatos.<\/li>\n\n\n\n<li>V\u00eddeo + audio (en formato mp4 o webm).<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-left\">\u00bfPor qu\u00e9 esta diferencia de formatos? YouTube funciona con el llamado DASH (<em>Dynamic Adaptive Streaming over HTTPS<\/em>) o en espa\u00f1ol, Streaming Adaptativo Din\u00e1mico sobre HTTPS. Esto significa que YouTube tiene almacenados varios archivos (o <em>streams<\/em>) del mismo elemento tanto de audio como de v\u00eddeo, y puede combinarlos en funci\u00f3n de la conexi\u00f3n de Internet del usuario, ofreciendo as\u00ed siempre la mejor fluided a la hora de ver v\u00eddeos en la plataforma.<\/p>\n\n\n\n<p>Sin embargo, YouTube s\u00ed que tiene algunos archivos donde el v\u00eddeo y el audio est\u00e1n juntos, es el llamado <em>progressive stream<\/em>.<\/p>\n\n\n\n<p>Esta primera parte del programa permite la descarga de los v\u00eddeos de YouTube en los siguientes formatos mediante los siguientes pasos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Introducci\u00f3n del enlace y b\u00fasqueda del elemento.<\/li>\n\n\n\n<li>Muestra de los datos para confirmar que el URL introducido es el deseado.<\/li>\n\n\n\n<li>Elecci\u00f3n del tipo de elemento que quiere descargarse (v\u00eddeo, audio o v\u00eddeo + audio)<\/li>\n\n\n\n<li>Elecci\u00f3n del <em>stream<\/em> deseado para descargar.<\/li>\n\n\n\n<li>Selecci\u00f3n de la ubicaci\u00f3n de descarga (por defecto, la carpeta &#8216;Descargas&#8217; del dispositivo).<\/li>\n\n\n\n<li>Selecci\u00f3n del nombre del archivo (por defecto, el t\u00edtulo del v\u00eddeo&#8217;).<\/li>\n<\/ol>\n\n\n\n<p>Este \u00abyoutube_downloader\u00bb est\u00e1 basado en la librer\u00eda <strong>pytube<\/strong> (<a href=\"https:\/\/pytube.io\/en\/latest\/\" data-type=\"link\" data-id=\"https:\/\/pytube.io\/en\/latest\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/pytube.io\/en\/latest\/<\/a>), aunque debido a un error en la \u00faltima versi\u00f3n de dicha librer\u00eda que impide la descarga se est\u00e1 utilizando <strong>pytubefix<\/strong> (<a href=\"https:\/\/pytubefix.readthedocs.io\/en\/latest\/\" data-type=\"link\" data-id=\"https:\/\/pytubefix.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/pytubefix.readthedocs.io\/en\/latest\/<\/a>) hasta que la original vuelva a funcionar.<\/p>\n\n\n\n<p>El c\u00f3digo de la aplicaci\u00f3n est\u00e1 disponible en GitHub.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"https:\/\/github.com\/ea1fsc\/multi_downloader\" target=\"_blank\" rel=\"noreferrer noopener\">\u00a1Accede al c\u00f3digo en GitHub!<\/a><\/div>\n<\/div>\n\n\n\n<p>Si alguien quiere colaborar en el proyecto programando, probando el c\u00f3digo y reportando los posibles fallos o sugiriendo futuras caracter\u00edsticas, estar\u00e9 encantado de recibir la ayuda. Solo debes ponerte en contacto conmigo a trav\u00e9s de mis redes sociales, publicando algo en el repositorio o a trav\u00e9s de email a la direcci\u00f3n <a href=\"mailto:contact@ea1fsc.es\">contact@ea1fsc.es<\/a>.<\/p>\n\n\n\n<p>Muchas gracias y hasta la pr\u00f3xima, \u00a173s de Juanchi EA1FSC!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descripci\u00f3n del proyecto Como aparece en Proyectos y aplicaciones, el \u00abMulti Downloader\u00bb es un programa en Python que permite la descarga de archivos desde m\u00faltiples fuentes: YouTube, Instagram, X (antes Twitter) y dem\u00e1s. Est\u00e1 integrado en Python (de momento en la versi\u00f3n 3.12.4), por lo que en principio es ejecutable en cualquier tipo de SO [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,22],"tags":[8,9,10],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-multi-downloader","category-proyectos-y-aplicaciones","tag-codigo-abierto","tag-programacion","tag-python"],"_links":{"self":[{"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":1,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":503,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/posts\/206\/revisions\/503"}],"wp:attachment":[{"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ea1fsc.es\/es_es\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}