summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorrern2022-07-04 09:06:39 +0700
committerrern2022-07-04 09:06:39 +0700
commitaa523391594c2d9c11ea3369970c626846d0a89e (patch)
tree7301cc9122011446d5449d71ce5399eb0fa022ed
parent4d5b98a2996d98f2806babcf37ddec212c095711 (diff)
downloadaur-aa523391594c2d9c11ea3369970c626846d0a89e.tar.gz
revisions
-rw-r--r--.SRCINFO3
-rwxr-xr-xPKGBUILD7
-rw-r--r--dab-scanner.install6
-rwxr-xr-xdab-skeleton.sh72
-rwxr-xr-xdabstart.sh2
-rw-r--r--override.conf6
6 files changed, 59 insertions, 37 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 854e7a9dbf4e..a9c7dbe6bb3b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -3,6 +3,7 @@ pkgbase = dab-scanner
pkgver = 0.8
pkgrel = 1
url = https://github.com/JvanKatwijk/dab-cmdline
+ install = dab-scanner.install
arch = armv6h
arch = armv7h
arch = aarch64
@@ -14,7 +15,9 @@ pkgbase = dab-scanner
source = dablogo-thumb.jpg
source = dab-skeleton.sh
source = dabstart.sh
+ source = override.conf
source = rtsp-simple-server.yml
+ source = dab-scanner.install
sha256sums = SKIP
pkgname = dab-scanner
diff --git a/PKGBUILD b/PKGBUILD
index e68353b8c2f8..3cda8811f229 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,9 +14,13 @@ source=(
dablogo-thumb.jpg
dab-skeleton.sh
dabstart.sh
+ override.conf
rtsp-simple-server.yml
+ dab-scanner.install
)
-sha256sums=(SKIP)
+sha256sums=('SKIP')
+
+install=dab-scanner.install
build() {
subdir=$srcdir/dab-cmdline-master
@@ -30,6 +34,7 @@ build() {
package() {
depends=(rtsp-simple-server)
+ install -Dm 755 override.conf -t $pkgdir/etc/systemd/system/rtsp-simple-server.d
install -Dm 755 dablogo.jpg -t $pkgdir/srv/http/data/webradiosimg
install -Dm 755 dablogo-thumb.jpg -t $pkgdir/srv/http/data/webradiosimg
install -Dm 755 dab-skeleton.sh -t $pkgdir/srv/http/bash/dab
diff --git a/dab-scanner.install b/dab-scanner.install
new file mode 100644
index 000000000000..ea1cf5098c08
--- /dev/null
+++ b/dab-scanner.install
@@ -0,0 +1,6 @@
+post_install() {
+ chown -R http:http srv/http/bash/dab
+ chmod -R 755 srv/http/bash/dab
+ systemctl daemon-reload
+ systemctl enable --now rtsp-simple-server
+}
diff --git a/dab-skeleton.sh b/dab-skeleton.sh
index 7a5da8aab18b..6984fda3d063 100755
--- a/dab-skeleton.sh
+++ b/dab-skeleton.sh
@@ -4,57 +4,59 @@ NEW_YML="/etc/rtsp-simple-server/rtsp-simple-server.yml"
MYNAME=$(hostname -f)
#Create DAB subdir if not existing
-if [ ! -d /srv/http/data/webradios/DAB ];
- then
- mkdir /srv/http/data/webradios/DAB
-fi
+mkdir -p /srv/http/data/webradios/DAB
#this is needed to consider the lowercase accented chars outside of "alnum"
LC_CTYPE=C
trim() {
- local var="$*"
- var="${var%"${var##*[![:space:]]}"}"
- printf '%s' "$var"
+ local var="$*"
+ var="${var%"${var##*[![:space:]]}"}"
+ printf '%s' "$var"
}
cp $BASE_YML $NEW_YML
rm -f /srv/http/data/webradios/DAB/rtsp\:\|\|$MYNAME\:8554*
rm -f /srv/http/data/webradiosimg/rtsp\:\|\|$MYNAME\:8554*
-readarray -t services < $( dab-scanner-rtlsdr )
+readarray -t services <<< $(dab-scanner-rtlsdr)
for service in "${services[@]}"; do
- if grep -q "^audioservice" <<< $service; then
- readarray -d ';' -t field <<< $service
- service_name=$(trim "${field[1]}")
- service_chan=$(trim "${field[2]}")
- service_id=$(trim "${field[3]}")
- legal_nameU=${service_name//[^[:alnum:]]/_}
-#rtsp simple server does not like all uppercase service names neither all numbers names
- legal_name=${legal_nameU,,}
- if [ "$legal_name" -eq "$legal_name" ] 2>/dev/null; then
- legal_name=R${legal_name}
- fi
- #echo "$service_name" legale $legal_name su canale "$service_chan"
- #add services to rtsp daemon config file
-# "runOnDemand: dab-rtlsdr-3 -P \""$service_name"\" -C "$service_chan'|ffmpeg -re -ar 48000 -ac 2 -f s16le -i - -vn -c:a mp3 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH'
-# runOnDemand: dab-rtlsdr-3 -P "$service_name" -C $service_chan|ffmpeg -re -ar 48000 -ac 2 -f s16le -i - -vn -c:a aac -b:a 160k -f rtsp rtsp://localhost:\$RTSP_PORT/\$RTSP_PATH
-
-cat <<EOT >>$NEW_YML
- $legal_name:
- runOnDemand: /srv/http/bash/dab/dabstart.sh $service_id $service_chan \$RTSP_PORT \$RTSP_PATH
- runOnDemandRestart: yes
- runOnDemandStartTimeout: 15s
- runOnDemandCloseAfter: 3s
+ if grep -q "^audioservice" <<< $service; then
+ readarray -d ';' -t field <<< $service
+ service_name=$(trim "${field[1]}")
+ service_chan=$(trim "${field[2]}")
+ service_id=$(trim "${field[3]}")
+ legal_nameU=${service_name//[^[:alnum:]]/_}
+ #rtsp simple server does not like all uppercase service names neither all numbers names
+ legal_name=${legal_nameU,,}
+ if [ "$legal_name" -eq "$legal_name" ] 2>/dev/null; then
+ legal_name=R${legal_name}
+ fi
+ #echo "$service_name" legale $legal_name su canale "$service_chan"
+ #add services to rtsp daemon config file
+ # "runOnDemand: dab-rtlsdr-3 -P \""$service_name"\" -C "$service_chan'|ffmpeg -re -ar 48000 -ac 2 -f s16le -i - -vn -c:a mp3 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH'
+ # runOnDemand: dab-rtlsdr-3 -P "$service_name" -C $service_chan|ffmpeg -re -ar 48000 -ac 2 -f s16le -i - -vn -c:a aac -b:a 160k -f rtsp rtsp://localhost:\$RTSP_PORT/\$RTSP_PATH
+
+ cat <<EOT >>$NEW_YML
+$legal_name:
+ runOnDemand: /srv/http/bash/dab/dabstart.sh $service_id $service_chan \$RTSP_PORT \$RTSP_PATH
+ runOnDemandRestart: yes
+ runOnDemandStartTimeout: 15s
+ runOnDemandCloseAfter: 3s
EOT
-echo "$service_name" >/srv/http/data/webradios/DAB/rtsp\:\|\|${MYNAME}\:8554\|$legal_name
-ln -s /srv/http/data/webradiosimg/dablogo.jpg /srv/http/data/webradiosimg/rtsp\:\|\|$MYNAME\:8554\|${legal_name}.jpg
-ln -s /srv/http/data/webradiosimg/dablogo-thumb.jpg /srv/http/data/webradiosimg/rtsp\:\|\|$MYNAME\:8554\|${legal_name}-thumb.jpg
-echo fatto per $legal_name
- fi
+ systemctl restart rtsp-simple-server
+
+ echo "$service_name" >/srv/http/data/webradios/DAB/rtsp\:\|\|${MYNAME}\:8554\|$legal_name
+ ln -s /srv/http/data/webradiosimg/dablogo.jpg /srv/http/data/webradiosimg/rtsp\:\|\|$MYNAME\:8554\|${legal_name}.jpg
+ ln -s /srv/http/data/webradiosimg/dablogo-thumb.jpg /srv/http/data/webradiosimg/rtsp\:\|\|$MYNAME\:8554\|${legal_name}-thumb.jpg
+
+ #echo fatto per $legal_name
+ fi
done
#updates webradios count
chown -R http:http /srv/http/data/webradios*
count=$( find -L /srv/http/data/webradios -type f | wc -l )
sed -i 's/\("webradio": \).*/\1'$count'/' /srv/http/data/mpd/counts
+# refresh count on web page
+curl -s -X POST http://127.0.0.1/pub?id=webradio -d $count
diff --git a/dabstart.sh b/dabstart.sh
index 17c3a0d74050..223ba5be507a 100755
--- a/dabstart.sh
+++ b/dabstart.sh
@@ -20,5 +20,5 @@ DABPID=$!
ffmpeg -re -stream_loop -1 -ar 48000 -ac 2 -f s16le -i $MYPIPE -vn -c:a aac -b:a 160k -metadata title="Dab radio" -f rtsp rtsp://localhost:$3/$4 >/dev/null 2>&1 &
#ffmpeg -re -stream_loop -1 -ar 48000 -ac 2 -f s16le -i $MYPIPE -vn -c:a mp3 -f rtsp rtsp://localhost:$3/$4 >/dev/null 2>&1 &
FFMPID=$!
-echo starting DAB for service $1 with PID $DABPID and ffmpeg with PID $FFMPID to file $MYPIPE
+#echo starting DAB for service $1 with PID $DABPID and ffmpeg with PID $FFMPID to file $MYPIPE
wait $FFMPID
diff --git a/override.conf b/override.conf
new file mode 100644
index 000000000000..0a8567eb9c6c
--- /dev/null
+++ b/override.conf
@@ -0,0 +1,6 @@
+[Service]
+User=root
+Type=simple
+StandardOutput=file:/run/rtsp-simple-server.log
+StandardError=file:/run/rtsp-simple-server.log
+ExecStop=/bin/kill -s STOP $MAINPID