Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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 #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
#!/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
#!/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)
robinoman gamingonlinux wargaming gogcom
Offline
Chodzi Ci o te serwisy:
twitch:chapter twitch:clips twitch:profile twitch:stream twitch:video twitch:videos:all twitch:videos:highlights twitch:videos:past-broadcasts twitch:videos:uploads twitch:vod
Jeśli tak, to twoje rękodzieło artystyczne ma potężną konkurencję:
https://rg3.github.io/youtube-dl/supportedsites.html
Przy okazji, mpv wszystko, co pobiera netu, pobiera przy pomocy youtube-dl.
xD
Ostatnio edytowany przez Jacekalex (2017-04-09 17:11:37)
Offline
youtube-dl nie przeglądałem pod kątem twitcha. Możliwe, że wynalazłem koło na nowo :)
Chodziło mi o to, że mam kilku streamerów, których czasami oglądam, a że nie chce mi się odpalać X-ów kiedy robię w konsoli, to napisałem coś dla siebie. Mam w pliku kilku ulubionych, skrypt sam generuje na jego podstawie menu, w razie czego sprawdza czy streamują, na życzenie odpala.
Jak spodoba mi się ktoś nowy, to go do ulubionych dopiszę w 3s. Z palca bez dopisywania też podejrzę jak uruchomię z dodatkowymi argumentami, np. twitch jacekalex 720p.
Może komuś się przyda, jak nie całość, to fragmenty.
Offline
mpv http://twitch.tv/gogcom
załapał od razu, bez streamlinka.
Playing: http://twitch.tv/gamingonlinux [ytdl_hook] ERROR: gamingonlinux is offline
Playing: http://twitch.tv/wargaming [ytdl_hook] ERROR: wargaming is offline
Playing: http://twitch.tv/robinoman [ytdl_hook] ERROR: robinoman is offline
jak widać, na razie 25% sukcesu, ale youtube-dl daje radę ;)
Offline
faktycznie, właśnie przeglądam mana, może się nad tym pochylę.
zastanawiam się tylko, w jaki sposób streamlink pobiera i wyświetla dane dot. jakości transmisji.
Dla przykładu:
streamlink www.twitch.tv/gogcom
podaje
[cli][info] Found matching plugin twitch for URL www.twitch.tv/gogcom Available streams: audio, mobile (worst), low, medium, high, source (best)
Ale już dla:
streamlink www.twitch.tv/orzanel
[cli][info] Found matching plugin twitch for URL www.twitch.tv/orzanel Available streams: 720p60_alt, audio_only, 160p (worst), 360p, 480p, 720p, 720p60 (best)
Streamlink mi to poda, więc nawet jak na sztywno mam w configu jakość na medium, to po takim komunikacie z palca uruchomię sobie np. w 720p dla drugiego streama.
Co za tym idzie, czy youtube-dl jest w stanie podać mi obsługiwane jakości - jak to zgłębię to faktycznie się streamlinka pozbędę ze skryptu.
Offline
youtube-dl --list-formats http://twitch.tv/orzanel [twitch:stream] orzanel: Downloading stream JSON [twitch:stream] orzanel: Downloading channel access token [twitch:stream] orzanel: Downloading m3u8 information [info] Available formats for 25006248464: format code extension resolution note meta mp4 multiple Quality selection URL audio_only mp4 audio only 135k , mp4a.40.2 160p mp4 284x160 331k , avc1.77.31, mp4a.40.2 360p mp4 640x360 720k , avc1.77.31, mp4a.40.2 480p mp4 852x480 1402k , avc1.77.31, mp4a.40.2 720p mp4 1280x720 2347k , avc1.77.31, mp4a.40.2 720p60 mp4 1280x720 3397k , avc1.77.31, mp4a.40.2 720p60__source_ mp4 1280x720 5647k , avc1.4D4029, mp4a.40.2 (best)
Wybór formatu?
np:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio'
Sznurek:
https://askubuntu.com/questions/486297/how-to-selec … om-youtube-dl
Tu masz dyskusję, jak to zaimplementować w konfigu mpv:
https://github.com/mpv-player/mpv/issues/1321
Ja mam tak:
grep ytdl-format /etc/mpv/config ytdl-format=bestvideo[height<=?1080][vcodec=mp4]+bestaudio/best
Pozdro
Ostatnio edytowany przez Jacekalex (2017-04-09 18:01:43)
Offline
Jacekalex napisał(-a):
Kod:
youtube-dl --list-formats http://twitch.tv/orzanel [twitch:stream] orzanel: Downloading stream JSON [twitch:stream] orzanel: Downloading channel access token [twitch:stream] orzanel: Downloading m3u8 information [info] Available formats for 25006248464: format code extension resolution note meta mp4 multiple Quality selection URL audio_only mp4 audio only 135k , mp4a.40.2 160p mp4 284x160 331k , avc1.77.31, mp4a.40.2 360p mp4 640x360 720k , avc1.77.31, mp4a.40.2 480p mp4 852x480 1402k , avc1.77.31, mp4a.40.2 720p mp4 1280x720 2347k , avc1.77.31, mp4a.40.2 720p60 mp4 1280x720 3397k , avc1.77.31, mp4a.40.2 720p60__source_ mp4 1280x720 5647k , avc1.4D4029, mp4a.40.2 (best)
Dzięki za naprowadzenie. Nie przyszło mi do głowy, żeby przez youtube-dl to przepuścić, pomimo tego, że do YT używam.
Przegrepować tylko i można się ze streamlinkiem żegnać. Dzięki.
Jacekalex napisał(-a):
Wybór formatu?
np:Kod:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio'Sznurek:
https://askubuntu.com/questions/486297/how-to-selec … om-youtube-dl
Tu masz dyskusję, jak to zaimplementować w konfigu mpv:
https://github.com/mpv-player/mpv/issues/1321
Ja mam tak:Kod:
grep ytdl-format /etc/mpv/config ytdl-format=bestvideo[height<=?1080][vcodec=mp4]+bestaudio/bestPozdro
Tak to znałem, używam w mpv.conf, w profilach
[yt-term] ytdl-format=bestvideo[height<=?720]+bestaudio/best vo=drm hwdec=vaapi
Sęk w tym, że nawyków dot. youtuba nie przeniosłem na twitcha. Jeszcze raz dzięki na naprowadzenie.
A streamlinka wywalę... jak znajdę czas :)
Pozdrawiam
Offline
Strony: 1