Rozwiązałem to w ten sposób:
do /etc/hotplug.d/button/wps dodałem to:
#/bin/sh
if [ "$BUTTON" = "wps" ]; then
if [ "$ACTION" = "pressed" ]; then
logger "Recording button released"
. /etc/ffmpeg3
fi
fi
w /etc/ffmpeg3 mam to:
#!/bin/sh
if pgrep -x "ffmpeg" > /dev/null 2>&1
then
rm /etc/kontrolka
pkill -f ffmpeg
echo "0" > /sys/class/leds/dwr-118-a2\:green\:usb/brightness
else
echo "255" > /sys/class/leds/dwr-118-a2\:green\:usb/brightness
wait 5
touch /mnt/sda/kontrolka
sh /etc/ffmpeg2
await 5
break
fi
plik /etc/ffmpeg2 zawiera:
#!/bin/sh
while [ -f /mnt/sda/kontrolka ];
do
ffmpeg -fflags discardcorrupt -re -i http://192.168.11.227:86/main -fs 3M -acodec copy -vcodec copy -f mp4 /mnt/sda/$(date +%d_%m_%Y"_"%H_%M_%S).mp4
sleep 2;
done &
Do crona dodałem:
*/1 * * * * if pgrep "ffmpeg|rsync" > /dev/null 2>&1; then wait 1; else echo "0" > /sys/class/leds/dwr-118-a2\:green\:usb/brightness; fi >> /dev/null
po to by wyłączać diodę gdy skrypt (rsync ponieważ mam też drugi skrypt który używa rsync) zakończy działanie.
Plik "kontorlka" zapisywany jest na pendrive dzięki czemu nie da się uruchomić skryptu bez zamontowanego pendrive.
Wszystko działa, proszę o sprawdzenie, szczególnie czy w dobrym miejscu użyłem & ?