bash - prosty skrypt do obsługi ulubionych streamerów z twitcha
: 09 kwietnia 2017, 16:43
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)
twitch.conf
twitch.func
np. twitch-list (lista ulubionych streamerów)
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
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)"
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
}
Kod: Zaznacz cały
robinoman
gamingonlinux
wargaming
gogcom