En este caso se trata de una aplicación que hace tiempo venía trabajando y quedó en el baúl de los proyectos olvidados. Es un descargador de videos de varias plataformas como:
- YouTube
- Facebook
- Instagram
- Dailymotion
- Vimeo
- Tiktok (por el momento no funciona)
Además de descargar el video, también podemos convertirlo a audio (.MP3) donde según el titulo del video, si este es una canción busca automáticamente las etiquetas Titulo, Autor, etc etc y las inserta dentro del mp3 como así también su imagen de portada, sólo que ésta es la que vemos en la previa del video.
En el caso de los videos también se pueden descargar o insertar dentro del video los subtítulos, si es que los tiene. La aplicación está pensada especialmente para descargar «listas de reproducción» de YouTube, donde podemos descargar muchos videos simultáneos.
Su funcionamiento es sencillo, sólo tienen que copiar el link del video, puede ser la url que está en la barra de navegación o en alguna parte del menú según la plataforma puede decir «copiar link», «compartir» etc etc. y luego lo pegan en la aplicación.
En cuanto a la programación lo voy a dejar con muchas cosas pendientes, por el momento perdí interés en este proyecto, aclaro que es muy muy complicado de entender o depurar ya que al ser asíncrono es una telaraña que va y viene. Si bien traté de utilizar Apis documentadas y Apis indocumentadas, en algunos casos YouTube especialmente en lo que es música, codifica sus link de video y no logré decodificar este algoritmo, por lo que recurrí al uso del control webbrowser para que haga el trabajo y mediante JavaScript obtener este link decodificado. Ahora bien como el webbrowser tiene algunos cuelgues y no quería que interfiriera con el UI de la aplicación después de varios intentos lo mejor que conseguí es ponerlo en otro ejecutable «YTBrowser.exe» y manejarlo como una aplicación de consola para que no ralentice la app principal, además en el caso de Instagram es necesario loguearse para poder obtener los link así que se muestra el webbrowser con la página de login de Instagram. También se utilizó otra aplicación de consola «FFMPEG» para la conversión de mp4 a mp3 e inserción de subtítulos a los videos.
No sé cuánto pueda durar funcionando esta app sin actualizaciones ya que todas las plataformas cambian constantemente, como ser el caso de TikTok que mientras lo programaba ya había cambiado sus link y paso a codificarlos, pero esta vez de una forma mucho más compleja que por momento no supe cómo resolver.
Así que espero que la disfruten mientras dura.