TwitchToYoutube/README.md

129 lines
No EOL
5.4 KiB
Markdown

# 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/)