Nie jesteś zalogowany na forum.

#1 2017-04-09 15:35:40

nycko
Użytkownik
Data rejestracji: 2015-10-31
Liczba postów: 32
WWW

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

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)

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


if [[ "$1" && "$2" ]]; then
	mpv --vo=${vo} --opengl-backend=${backend} --hwdec=${hwdec} "$(streamlink ${TWITCH}/${1} ${2} --stream-url)"
else
	#main menu, etc.
	d=0 # if 0 print list
	twitchlist
	clear
	while [ ${d} -lt 999 ]; do
		for (( c=1; c<=$((n-1)); c++))
		do
			echo -e "${RESET}${c}. Uruchom ${YELLOW}${list[${c}]}${RESET}"
		done
		echo -e "v. VOD"
		echo -e "m. Konto streamera z poza listy"
		echo -e "x. Wyjście"
		
		read -r d
		num=$(echo "${d}" | grep -E "^\-?[0-9]+$") # czy $d jest liczbą
		
		#clear
		case "${d}" in
			"v")	echo "VOD_ID: (twitch.tv/videos/VOD_ID)"
				read -r vod_id
				run_vod "${vod_id}"
				d=0 ;;
			"m")	echo "Konto streamera:"
				read -r name
				run "${name}"
				d=0 ;; # if 0 print list
			"x")	clear
				d=999 ;; # if 999 end script
			*)	if [[ "${num}" -gt 0 && ${d} -lt ${n} ]]; then
					run "${list[${d}]}"
				else
					d=0 # if 0 print list
				fi ;;
		esac
	done
fi

twitch.conf

#!/bin/bash
# Plik konfiguracyjny

# Ścieżka do pliku z ulubionymi streamami
LIST="${HOME}/bin/twitch-list"

# ustawienia twitcha
TWITCH="www.twitch.tv"
TWITCH_QUALITY="720p,720p30,720p60"

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

# Kolory czcionek
YELLOW="\033[38;5;11m"
RED="\033[38;5;1m"

RESET="$(tput sgr0)"	#przywraca do czcionki pierwotnej

twitch.func

#!/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
}

# uruchamianie wybranego streamu
run ()
{
        clear
        echo -e "${YELLOW}Sprawdzanie dostępności streamu ${1} ${RESET}" 
        if [ -n $(streamlink ${TWITCH}/${1} | grep -E "error|hosting") ]; then
                    mpv --vo=${vo} --opengl-backend=${backend} --hwdec=${hwdec} "$(streamlink ${TWITCH}/${1} ${TWITCH_QUALITY} --stream-url)"
        else
                    echo -e "${RED}$(streamlink ${TWITCH}/${1} | grep -E 'error|hosting|Available')" 
                    echo -e "${1} nie streamuje. Wróć później ${RESET}" 
        fi
}

run_vod () 
{
        mpv --vo=${vo} --opengl-backend=${backend} --hwdec=${hwdec} "$(streamlink ${TWITCH}/videos/$1 ${TWITCH_QUALITY} --stream-url)"
}

TUTAJ wersja 1plikowa, en

przykładowy twitch-list (lista ulubionych streamerów)

robinoman
gamingonlinux
wargaming
gogcom

Ostatnio edytowany przez nycko (2018-03-24 13:10:37)

Offline

Stopka

Napędzają nas PacmanVPS i MegiTeam

Forum oparte na FluxBB