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: 32
Rejestracja: 10 sty 2011, 13:15
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

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

Post autor: nycko »

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
ODPOWIEDZ

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 16 gości