.env | ||
.gitignore | ||
benchmark.md | ||
jtc | ||
README-en.md | ||
README.md | ||
twtoyt-curl-jq.sh | ||
twtoyt-xh-jtc.sh |
TwitchToYoutube
Utilidad hecha en bash para subir streams de twitch directamente a youtube. Usando streamlink, youtubeuploader, cURL/xh y jq/jtc
⚠️ Nota Importante: Este script tiene 2 versiones, una que funciona con cURL y jq y otra que utiliza xh y jtc.
La mejor es la version que utiliza xh y jtc por ser mas eficiente y rápido. Vee aquí
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 [INCOMPLETO]
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
El resto de esta guía esta separada en diferentes partes:
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 archivoconfig.sh
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. Ahora puedes ejecutar este comando dentro de la carpeta donde descargaste el programa para que no tenga ningún problema al tratar de ejecutarlo:
chmod +x twtoyt.sh
También puedes crear diferentes copias de este mismo archivo con diferentes nombres de canales.
Es necesario modificar la variable TWITCH_USER
dentro del archivo, 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.
Y finalmente ejecútalo con este comando.
./twtoyt.sh
Para dejarlo en segundo plano, puedes usar tmux
, un programa bastante util para dejar corriendo programas en segundo plano de manera manual.