# Visitas al repo :3 ![caca](https://count.ayaya.beauty/get/@:twtoyt) # TwitchToYoutube Utilidad hecha en bash para subir streams de twitch directamente a youtube. Usando [streamlink](https://github.com/streamlink/streamlink), [youtubeuploader](https://github.com/porjo/youtubeuploader), [tmux](https://github.com/tmux/tmux), [xh](https://github.com/ducaale/xh) y [jtc](https://github.com/ldn-softdev/jtc) *Lo recomendado para usar este programa es tener un servidor o una PC que tenga un internet estable y este encendido 24/7.* ## Funciones - Subir streams de forma continua y directa a Youtube (Si el VOD es borrado, estará subido). - Inserta el Titulo, el nombre del streamer y la fecha del stream dentro del titulo de youtube, Incluyendo la hora exacta en la que se empezó stream dentro de la descripción. - Detecta el stream de forma automática (usando la API de twitch), de forma que si el streamer empieza stream, lo detectara y empezara a subirlo a YouTube ### Como usarlo [Sujeto a cambios] ***IMPORTANTE: Este código solo funciona para Linux o Unix-Like OS como BSD*** Clonar el repo con: ```sh git clone https://git.zzls.xyz/Fijxu/TwitchToYoutube ``` O descargando el .zip desde aca -> https://git.zzls.xyz/Fijxu/TwitchToYoutube/archive/main.zip Luego descomprimes el .zip donde quieras ### Crear una Aplicación de twitch - Primero tienen que ingresar a la [pagina de devs de twitch](https://dev.twitch.tv/). - Darle a `Ingresar con Twitch` arriba a la derecha. - Luego de aceptar denle a `Tu consola`. - Click a `Registrar tu aplicación`. - En url tienen que poner `http://localhost`, el resto no es importante - Le dan a `Crear` - Después al botón junto con la aplicación que dice `Administrar` - Guardan el campo que dice `ID de cliente` y crean un nuevo secreto de cliente, esté también lo guardan para los siguientes pasos. ### Conseguir los tokens de twitch - Con los tokens que guardamos antes, ejecutar este comando remplazando `ID DE CLIENTE` y `SECRETO DE CLIENTE` por los valores que guardaron ```sh curl --request POST 'https://id.twitch.tv/oauth2/token' \ --header 'Content-Type: application/json' \ --data-raw '{ "client_id":"ID DE CLIENTE", "client_secret":"SECRETO DE CLIENTE", "grant_type":"client_credentials" }' ``` - Les va a responder algo como `{"access_token":"TOKEN",...}`, ese access_token es el que tienen que poner en el campo `twitchauth` del archivo `.env` y en `clientid` ponen el id de cliente que usaron antes tal que quede algo así dentro del archivo: ```bash #!/bin/bash # Autorización de twitch (https://dev.twitch.tv/docs/authentication) export twitchauth="u7vgESCjSchPAQHxFpMDhHD76iIAMr" # ID del cliente de twitch export clientid="hIvIJE6G1vQQhIIYfCg5hiw1wyXCXB" ``` ### Configurar youtubeuploader 1. Descargar la ultima versión de [youtubeuploader](https://github.com/porjo/youtubeuploader) 2. **Descomprimir el archivo descargado** ```sh tar -xzvf youtubeuploader_22.04_Linux_x86_64.tar.gz ``` 3. **Mover el binario (youtubeuploader) a la carpeta `~/.local/bin`** ```sh mv youtubeuploader ~/.local/bin ``` 4. Abre otra consola y asegúrate de que youtubeuploader se pueda ejecutar correctamente con el comando `youtubeuploader` en la consola, si dice que el comando es desconocido, copia esto dentro de el archivo `.bashrc` o `.zshrc` que se encuentra en el directorio home (/home/TUNOMBREDEUSUARIO): ```bash if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi ``` (**Que hacen estas lineas?**: Si el directorio `~/.local/bin` existe, lo cargara en la variable `$PATH` y eso hará que los programas que estén dentro de esa carpeta puedan ser usados solo con usar el nombre del programa en la consola) 5. Seguir [estas](https://github.com/porjo/youtubeuploader#Youtube-API) instrucciones. (Si piensas que esto necesita documentación o más información en español dentro de este repositorio, abre una Incidencia/Issue) 6. Una vez ya tengas el archivo `client_secrets.json` guardarlo en la misma carpeta donde se encuentra `twtoyt.sh` - La herramienta `youtubeuploader` no esta del todo pulida y para que funcione tienen que primero intentar subir un video a youtube con ella. Se les abre el navegador y tienen que autorizar a la aplicación con la **misma** cuenta que agregaron en el paso anterior (el video se sube en privado por defecto) - Para eso, ejecuten este comando, cambien `tuVideo` por el nombre del video que quieran subir ```sh youtubeuploader -filename tuVideo.mp4 ``` - Se les va a generar un archivo `request.token` en el directorio actual, guárdenlo en la carpeta donde se ubican `twtoyt.sh` y `config.sh`. ### Ejecutar Con esto ya deberían de tener todo lo necesario para correr el script. Ejecuta este comando de abajo para darle permisos al script para que se pueda ejecutar. ```sh chmod +x twtoyt.sh ``` Y ahora lo tienes que hacer, es crear varias copias del mismo archivo `twtoyt.sh` dentro de la carpeta [canales](./canales/) con un nombre cualquiera y ejecutar el script [start.sh](./start.sh) con: ```sh ./start.sh ``` **Es necesario modificar la variable `TWITCH_USER` dentro de las copias del script `twtoyt.sh`, ahí se coloca el nombre del streamer de twitch y este se usara para el titulo y el nombre de la playlist** **Luego cambia la descripción dentro de la variable `VIDEO_DESCRIPTION` si es que lo consideras necesario.** #### Autor y repo original [jenslys/autovod](https://github.com/jenslys/autovod/)