Hi Leute,
ich versuche etwas besonderes umzusetzen. Ich will per Bash bestimmte Aktionen Vorbereiter before die Richtige Stream zur Verfugung Steht. Ich habe die Bash Script Fast Fertig. Das Problem Ist das Tvheadend bleibt dauerhaft in Erste Strem hangen (Linie 91 bzw 111) Wenn ich das aber peer Console Ausführe kann ich sehen das zu erst Erste Strem läuft und dann die Andere.
Bash
#!/bin/bash
function [definition='1','0']log[/definition](){
#echo $1
return
}
function StartContainer(){
ssh pve "qm start 201"
}
function StopContainer(){
ssh pve "qm shutdown 201"
}
function GetStatusContainer(){
local status=$(ssh pve "qm status 201")
echo $status;
}
function ClearStart(){
local tempVal=$(GetStatusContainer)
if [[ "$tempVal" == "status: running" ]]; then
[definition='1','0']log[/definition] "server is up"
StopContainer
fi
StartContainer
while ! ping -c 1 -n -w 1 192.168.10.214 &> /dev/null
do
sleep 1
done
sleep 10
}
function sendKodiInput(){
local command="Input.$1"
local fullCommand="{\"jsonrpc\": \"2.0\", \"method\": \"$command\", \"id\": 1}"
curl -X POST -H "Content-Type: application/json" -d "$fullCommand" http://192.168.10.214:8080/jsonrpc?awx &> /dev/null
sleep 1
}
function StartSerbiaPlugin(){
[definition='1','0']log[/definition] "Start serbia Plugin"
for i in {1..7}
do
sendKodiInput Down
done
sendKodiInput Right
sendKodiInput Down
sendKodiInput Select
}
function StartSerbiaList(){
for i in {0..3}
do
sendKodiInput Right
done
sendKodiInput Down
sendKodiInput Select
}
function RunBackgrund(){
local kanal=$1
ClearStart
echo "false" > ~/serbia.tmp
StartSerbiaPlugin
StartSerbiaList
case "$kanal" in
prva)
for i in {0..7}
do
sendKodiInput Down
done
sendKodiInput Select ;;
esac
}
function startLive(){
/usr/bin/ffmpeg -loglevel quiet -i rtmp://192.168.10.214/live/ -vcodec libx264 -acodec copy -f flv - | /usr/bin/ffmpeg -loglevel quiet -i - -vcodec copy -acodec copy -f mpegts pipe:1
}
function startWait(){
/usr/bin/ffmpeg -loglevel quiet -i /tv/Bitte_Warten.mp4 -vcodec libx264 -acodec copy -f flv - | /usr/bin/ffmpeg -loglevel quiet -i - -vcodec copy -acodec copy -f mpegts pipe:1
}
function killUP(){
if [[ "wait" == "$(<~/serbia.tmp)" ]]; then
echo "false" > ~/serbia.tmp
fi
StopContainer
rm ~/serbia.tmp
}
trap killUP SIGINT SIGTERM
echo "wait" > ~/serbia.tmp
RunBackgrund $1 &
while [[ "wait" == "$(<~/serbia.tmp)" ]]
do
startWait
done
startLive
Alles anzeigen
Viele Dank für hilfe