TwitchToYoutube/README.md
Fijxu 70512cf59c Removido el script de legado y otras cosas
- Se movio el script que usa curl y jq al branch de `legacy`
2022-11-23 18:53:13 -03:00

5.9 KiB

TwitchToYoutube

Utilidad hecha en bash para subir streams de twitch directamente a youtube. Usando streamlink, youtubeuploader, 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 [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 y SECRETO 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 campo twitchauth del archivo config.sh y en clientid 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

  1. Descargar la ultima versión de youtubeuploader

  2. Descomprimir el archivo descargado

tar -xzvf youtubeuploader_22.04_Linux_x86_64.tar.gz
  1. Mover el binario (youtubeuploader) a la carpeta ~/.local/bin
mv youtubeuploader ~/.local/bin
  1. 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)

  1. 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)

  2. 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
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. 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.

Autor y repo original

jenslys/autovod