aboutsummaryrefslogtreecommitdiffstats
path: root/encode-gst.sh
diff options
context:
space:
mode:
Diffstat (limited to 'encode-gst.sh')
-rwxr-xr-xencode-gst.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/encode-gst.sh b/encode-gst.sh
new file mode 100755
index 0000000..255b4be
--- /dev/null
+++ b/encode-gst.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Encode one programme using gstreamer.
+#
+# Status: Experimental
+
+URL=$1
+ID=$2
+DST=$3
+
+QUEUEDELAY=400000 #400ms
+
+BITRATE=80
+RATE=32000
+
+if [[ "$DST" == "" ]]
+then
+ echo "Usage $0 url id destination"
+ exit 1
+fi
+
+while true
+do
+
+ gst-launch -q \
+ uridecodebin uri=$URL ! \
+ queue "max-size-time=$QUEUEDELAY" ! \
+ audioresample quality=8 ! \
+ audioconvert ! \
+ audio/x-raw-int, "rate=$RATE,format=S16LE,channels=2" ! \
+ filesink location="/dev/stdout" | \
+ dabplus-enc -i /dev/stdin -b $BITRATE -r $RATE -f raw -a -o $DST
+
+ R=$?
+
+ NOW=$(date)
+
+ mail -s "Encoder $ID restart $URL" matthias+odrge1@mpb.li << EOF
+The encoder id:$ID
+encoding $URL -> $DST with gstreamer was restarted at
+$NOW
+
+The return code was $R
+
+EOF
+
+ sleep 5
+done