Na samym wstępie muszę wspomnieć, że laik jestem i wszystko co robię to na zasadzie dopasowania znalezionych skryptów w sieci pod siebie ( ten prościutki to akurat sam napisałem ). Mam właśnie taki prościutki skrypcik
i wszystko w zasadzie działa dobrze, ale jak to ze streamem bywa ma przerwę, błąd itp. a wtedy całość się wywala i nie działa.
Jeśli to możliwe to prosiłbym o wskazanie co trzeba dopisać aby po błędzie i zakończeniu działania odtwarzacza, ponownie się połączył i tak za każdym razem po zaniku sygnału lub innym błędzie.
Próbowałem z pętlą while, ale owszem działa tylko uruchamia się w nieskończoność (pewnie trzeba jakiś warunek dopisać, ale póki co to czarna magia dla mnie).
Za wszelką pomoc będę bardzo wdzięczny.
#!/bin/bash
i=1
max=5 # max ilość regeneracji
STACJA=1 # od którego strumienia zacząć?
PIDM="" # numer procesu mpv...
while ((i <= ${max}))
do
if [ -z "$PIDM" ] ; then
if [[ $STACJA -eq 0 ]]; then
mpv https://stream.wzielonej.pl/radio/8000/0
STACJA=1
elif [[ $STACJA -eq 1 ]]; then
mpv https://stream.wzielonej.pl/radio/8000/1
STACJA=2
elif [[ $STACJA -eq 2 ]]; then
mpv https://stream.wzielonej.pl/radio/8000/2
STACJA=0
fi
# sleep 1
PIDM=`pgrep -f https://stream.wzielonej.pl/radio/8000/`
((i++))
fi
done
Aby zakończyć odtwarzanie trzeba zabić najpierw skrypt a następnie strumień mpv.
Np: