diff options
author | rern | 2022-07-04 09:06:39 +0700 |
---|---|---|
committer | rern | 2022-07-04 09:06:39 +0700 |
commit | aa523391594c2d9c11ea3369970c626846d0a89e (patch) | |
tree | 7301cc9122011446d5449d71ce5399eb0fa022ed | |
parent | 4d5b98a2996d98f2806babcf37ddec212c095711 (diff) | |
download | aur-aa523391594c2d9c11ea3369970c626846d0a89e.tar.gz |
revisions
-rw-r--r-- | .SRCINFO | 3 | ||||
-rwxr-xr-x | PKGBUILD | 7 | ||||
-rw-r--r-- | dab-scanner.install | 6 | ||||
-rwxr-xr-x | dab-skeleton.sh | 72 | ||||
-rwxr-xr-x | dabstart.sh | 2 | ||||
-rw-r--r-- | override.conf | 6 |
6 files changed, 59 insertions, 37 deletions
@@ -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 @@ -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 |