prosty skrypt basha do obsługi ulubionych streamów z twitcha

Miejsce, w którym użytkownicy forum mogą zaprezentować swoje własne projekty programistyczne.
nycko
Sędziwy Jeż
Sędziwy Jeż
Posty: 31
Rejestracja: 10 sty 2011, 13:15
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Kontaktowanie:

prosty skrypt basha do obsługi ulubionych streamów z twitcha

Postautor: nycko » 09 kwie 2017, 16:40

Skrypt obudowany wokół programów streamlink i mpv, więc są one niezbędne do działania. Może się komuś przydać

Podzielony na 3 główne pliki, żeby łatwiej było się rozeznać + 4-ty z listą ulubionych streamerów

główny plik (twitch)

Kod: Zaznacz cały

#!/bin/bash
. twitch.conf   #plik konfiguracyjny
. twitch.func   #funkcje użyte


#sprawdza czy jakiś argument jest podawany do skryptu (np. twitch nazwa_streamu jakosc_streamu). Jeśli tak to uruchamia stream od razu
if [ -n "$1" ]; then
   streamlink --player="mpv --vo=$vo --hwdec=$hwdec" $TWITCH/$1 $2
else
   #menu główne.
   d=0
   next=no
   twitchlist
   while [ $d -lt 999 ]; do
      echo "#############################################################################"
      echo -e "$CLEAR 1. $RED Sprawdź dostępne streamy $CLEAR"
      echo "#############################################################################"
      for (( c=2; c<=$[n-1]; c++))
      do
         echo -e "$CLEAR$c. Uruchom $YELLOW${list[$c]}$CLEAR"
      done
      echo -e "x. Zakończ"
      
      read d
      num=`echo "$d" | grep -E ^\-?[0-9]+$`
      if [ "$num" != '' ]; then
         next=yes
      fi
      
      clear
      case "$d" in
         "1")   check ;;
         "x")   d=999 ;;
         *)   if [ "$next" = "yes" ] && [ $d -lt $n ]; then
                  run ${list[$d]}
               else
                  d=0
               fi ;;
      esac
   done
fi


twitch.conf

Kod: Zaznacz cały

#!/bin/bash
# Plik konfiguracyjny

# Ścieżka do pliku z ulubionymi streamami
LIST="/home/user/bin/twitch-list"

# ustawienia twitcha
TWITCH="www.twitch.tv"
TWITCH_QUALITY="medium"

# ustawienia mpv
vo=drm   #sterownik wideo (man mpv)
hwdec=vaapi   #sprzętowe dekodowanie (man mpv)

# Kolory czcionek
BLACK="\033[0;30m"
GREEN="\033[0;32m"
BLUE="\033[38;5;75m"
YELLOW="\033[38;5;11m"
RED="\033[38;5;1m"
GRAY="\033[38;5;7m"
ORANGE="\033[38;5;214m"

#
CLEAR="$(tput sgr0)"   #przywraca do czcionki pierwotnej
BOLD="$(tput bold)"


twitch.func

Kod: Zaznacz cały

#!/bin/bash

# Parsowanie listy ulubionych do tabeli
twitchlist ()
{
   n=2
   while IFS='' read -r line || [[ -n "$line" ]]; do
               list[$n]+=$line
               n=$[n+1]
   done < $LIST
}

# sprawdzanie statusu streamów
check ()
{
   echo -e "$RED Sprawdzanie dostępnych streamów: $CLEAR"
   
   i=2
   while [ $i -lt $n ]; do
      echo -e "$YELLOW ${list[$i]} $CLEAR"
      streamlink $TWITCH/${list[$i]}
      i=$[i+1]
   done
}

# uruchamianie wybranego streamu
run ()
{
   echo -e "$BLUE Uruchamiam $1 stream $CLEAR"
   streamlink --player="mpv --vo=$vo --hwdec=$hwdec" $TWITCH/$1 $TWITCH_QUALITY
}


np. twitch-list (lista ulubionych streamerów)

Kod: Zaznacz cały

robinoman
gamingonlinux
wargaming
gogcom

Wróć do „Nasza twórczość”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość