-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathstart-relay.sh
executable file
·39 lines (33 loc) · 1.19 KB
/
start-relay.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
set -e
if [[ $SOURCE_URL == file://* ]]; then
export FFMPEG_INPUT_ARGS="$FFMPEG_INPUT_ARGS -re -stream_loop -1"
fi
if [[ $SOURCE_URL == rtsp://* ]] && [ "$FORCE_FFMPEG_SOURCE" == "false" ]; then
envsubst < /tmp/proxy.yml > /proxy.yml
echo "/proxy.yml"
cat /proxy.yml
echo "Starting rtsp proxy from $SOURCE_URL to rtsp://0.0.0.0:8554/$STREAM_NAME..."
rtsp-simple-proxy /proxy.yml
else
if [ "$SOURCE_URL" != "" ]; then
envsubst < /tmp/server.yml > /server.yml
echo "/server.yml"
cat /server.yml
echo "Starting rtsp server..."
rtsp-simple-server /server.yml &
sleep 2
echo "Start relaying from $SOURCE_URL to rtsp://0.0.0.0:8554/$STREAM_NAME"
while true; do
set -x
ffmpeg $FFMPEG_INPUT_ARGS -i $SOURCE_URL $FFMPEG_OUTPUT_ARGS -f rtsp rtsp://127.0.0.1:8554/$STREAM_NAME
set +x
echo "Reconnecting..."
sleep 1
done
else
echo "Won't restream a source feed to the server because SOURCE_URL was not defined"
echo "Starting rtsp server. You can publish feeds to it (ex.: ffmpeg -i somesource.mjpg -c copy -f rtsp rtsp://localhost:8554/myfeed)"
rtsp-simple-server
fi
fi