2023-11-01 07:20:12 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
cd "$(dirname "$(realpath "$BASH_SOURCE")")"
|
|
|
|
function getValue() {
|
|
|
|
var="$1"
|
|
|
|
if ! [ "${!var}" == "" ]; then
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$3" == "fail" ]; then
|
|
|
|
echo "ERROR: $1 is not defined."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
declare -g "$1"="$2"
|
|
|
|
}
|
2022-11-01 19:53:08 +00:00
|
|
|
|
|
|
|
# USER SETTINGS
|
2023-11-01 07:20:12 +00:00
|
|
|
getValue fstream_profile "profile_watch.sh"
|
|
|
|
source "$fstream_profile"
|
|
|
|
getValue fstream_ip "fier.me:61920" fail
|
|
|
|
getValue fstream_user "user" fail
|
|
|
|
getValue fstream_channel "default"
|
|
|
|
getValue fstream_channelpass ""
|
|
|
|
getValue fstream_python "python3"
|
2022-11-01 19:53:08 +00:00
|
|
|
|
2023-11-01 07:20:12 +00:00
|
|
|
getValue fstream_aespass ""
|
|
|
|
getValue fstream_aesbuffer "4096"
|
|
|
|
|
|
|
|
fstream_decodercmd=(
|
|
|
|
ffplay -avioflags direct -strict experimental -analyzeduration 0 -sync ext -probesize 32 -fflags nobuffer -flags low_delay -max_delay 0 -max_probe_packets 0 -x264opts intra-refresh=1 -fflags discardcorrupt -vf setpts=0 -
|
|
|
|
)
|
|
|
|
|
|
|
|
fstream_clientarg="watch,user=$fstream_user,channel=$fstream_channel,channel-password=$fstream_channelpass"
|
|
|
|
|
|
|
|
fstream_clientcmd=(
|
|
|
|
"$fstream_python" fstream.py
|
|
|
|
"$fstream_ip"
|
|
|
|
"$fstream_clientarg"
|
|
|
|
)
|
|
|
|
|
|
|
|
if [ "$fstream_aespass" == "" ]; then
|
|
|
|
"${fstream_clientcmd[@]}" | "${fstream_decodercmd[@]}"
|
|
|
|
else
|
|
|
|
"${fstream_clientcmd[@]}" | fstream_aespass="$fstream_aespass" fstream_aesbuffer="$fstream_aesbuffer" "$fstream_python" fstream-util-aes_to_pipe.py | "${fstream_decodercmd[@]}"
|
|
|
|
fi
|