5.4 KiB
Visitas al repo :3
TwitchToYoutube
Utilidad hecha en bash para subir streams de twitch directamente a youtube. Usando streamlink, youtubeuploader, tmux, xh y 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:
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.
- 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
ySECRETO DE CLIENTE
por los valores que guardaron
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 campotwitchauth
del archivo.env
y enclientid
ponen el id de cliente que usaron antes tal que quede algo así dentro del archivo:
#!/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
-
Descargar la ultima versión de youtubeuploader
-
Descomprimir el archivo descargado
tar -xzvf youtubeuploader_22.04_Linux_x86_64.tar.gz
- Mover el binario (youtubeuploader) a la carpeta
~/.local/bin
mv youtubeuploader ~/.local/bin
- 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):
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)
-
Seguir estas instrucciones. (Si piensas que esto necesita documentación o más información en español dentro de este repositorio, abre una Incidencia/Issue)
-
Una vez ya tengas el archivo
client_secrets.json
guardarlo en la misma carpeta donde se encuentratwtoyt.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
youtubeuploader -filename tuVideo.mp4
- Se les va a generar un archivo
request.token
en el directorio actual, guárdenlo en la carpeta donde se ubicantwtoyt.sh
yconfig.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.
chmod +x twtoyt.sh
Y ahora lo tienes que hacer, es crear varias copias del mismo archivo twtoyt.sh
dentro de la carpeta canales con un nombre cualquiera y ejecutar el script start.sh con:
./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.