129 lines
No EOL
5.4 KiB
Markdown
129 lines
No EOL
5.4 KiB
Markdown
# Visitas al repo :3
|
|
|
|

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