Planung Monitor für SS

Status
Für weitere Antworten geschlossen.

rusei

Benutzer
Mitglied seit
17. Nov 2008
Beiträge
601
Punkte für Reaktionen
5
Punkte
38
Hallo Profis,
Habe als Daueranzeige für meine Cams ein iPad mit der SS app am laufen.
Gibt es da billigere Alternativen mit grösserem Display?
 

msp23

Benutzer
Mitglied seit
09. Jun 2013
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hi, das würde mich auch interessieren.

Gruß
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.258
Punkte für Reaktionen
920
Punkte
174

rusei

Benutzer
Mitglied seit
17. Nov 2008
Beiträge
601
Punkte für Reaktionen
5
Punkte
38

bront

Benutzer
Mitglied seit
11. Aug 2013
Beiträge
39
Punkte für Reaktionen
5
Punkte
8
sofern sich die kameras per rtsp oder http direkt ansprechen lassen gibt es ne recht günstige bis kostenlose lösung.

ich habe 5 kameras, die über ein raspberry pi auf einem monitor am kühlschrank angezeigt werden (4 zeitgleich, davon ein fenster, was ab einer bestimmten uhrzeit auf eine andere kamera umschaltet). das raspberry pi war noch vorhanden und der monitor war ebenfalls ein überbleibsel aus der hardwarekiste, somit 0€. frisch intstalliertes raspbian mit omxplayer und screen und ein entsprechendes script im crontab @reboot was die einzelnen streams aufruft, vervollständigen den ip cam monitor. das raspberry läuft immer, dem monitor hab ich an seiner kaltgerätezuleitung noch einen bewegungsmelder zwischengefuscht, dass der monitor nur dann an geht, wenn auch jemand dran vorbei läuft. script kann ich falls interesse besteht ja mal bereitstellen.

ansonsten gibt es momentan das fire 7 recht günstig - zusammen mit der tinycammon pro app (kostenlos im amazon underground) unschlagbar gut. setzt aber auch voraus, dass die kameras von der app unterstützt werden. kamera-supportliste: https://tinycammonitor.com/support.html

beide lösungen also völlig vorbei an der SS.

zeitweise hatte ich das script auf dem raspberry so weit, dass es jede minute sogar geprüft hat, ob eine neue aufnahme an er haustür auf dem nas liegt, welche dann im loop in einer screen session abgespielt wurde, sowie einen n24 stream .... war aber mehr spielerei als nötig ;)
 

rusei

Benutzer
Mitglied seit
17. Nov 2008
Beiträge
601
Punkte für Reaktionen
5
Punkte
38
naja, es gibt doch eien App für die SS. Das läuft aktuell auf einem alten iPad.
Das wollte ich nun austauschen gegen ein billiges Tablet.
 

bront

Benutzer
Mitglied seit
11. Aug 2013
Beiträge
39
Punkte für Reaktionen
5
Punkte
8
dann wäre richtig gewesen "kaufberatung für ein billiges großes tablet" und nicht "monitor für die ss" ;)
 

rusei

Benutzer
Mitglied seit
17. Nov 2008
Beiträge
601
Punkte für Reaktionen
5
Punkte
38
sorry mit Monitor habe nicht nicht die hardware als solche gemeint sondern vielleicht besser ausgedrück monitoring...?
 

mavFG

Benutzer
Mitglied seit
06. Jan 2016
Beiträge
1.345
Punkte für Reaktionen
4
Punkte
58
Ich habe eine Variante mit meinem TV..
Auch alles für 0€, da vorhanden.. Mini-PC mit nem i3-2100T darauf den Surveillance Client und fertig.. (Garten-Version)
Ansonsten klingt das von bront sehr interessant..
welchen Raspy hast du dafür??
 

bront

Benutzer
Mitglied seit
11. Aug 2013
Beiträge
39
Punkte für Reaktionen
5
Punkte
8
das b+ reicht dafür völlig, aber ich überlege auf ein 3er zu gehen, wegen integriertem wlan. die dongle, die ich dafür zur auswahl hatte, waren wohl alle nicht die richtigen oder meine wlan-einrichtungsbefolgungsskills waren einfach zu schlecht.

einziger nachteil, wenn man die letzte aufnahme im loop haben will ist, dass das rpi mit aufnahmen größer 1080p nicht klar kommt. da meine tv-ip311pi in 2048x1536 aufnimmt, musste ich das leider verwefen - funktioniert sonst aber.
 

bront

Benutzer
Mitglied seit
11. Aug 2013
Beiträge
39
Punkte für Reaktionen
5
Punkte
8
Sehr gerne. Ich habe vor in nächster Zeit ein ähnliches Projekt umzusetzen, und da würde es mir sehr weiter helfen.


Exemplarisch und etwas anonymisiert... aber so läufts. Aufgerufen wirds dann über Cron mit der Angabe, welches Grid angezeigt werden soll; dabei wird immer geprüft, ob ein Bild eines anderen Grids angezeigt wird und ggf. beendet (hatte mal wenige, seltene Zeitpunkte, da stimmte das Bild überhaupt nicht). Mittlerweile läuft das Script so an 3 eigenen Standorten mit 3-7 Screens und in der Firma mit 24 Screens und das seit Monaten durchgehend. Kleinere Bilder rufe ich dann auch in ner kleineren Qualität ab, um Bandbreite zu schonen - zu manchen Zeiten läuft auch in einer freien Ecke der WELT Livestream (vorher N24) informativ mit. Ein Pi3B+ bekommt damit schon was zu tun. Das Lockfile schreibe ich in ein tmpfs, um die Speicherkarte zu schonen (bzw mittlerweile läuft es bei allen meinen Pis ohne SD Karte nur von USB). Der Monitor kann von der Auflösung her mehr, allerdings hab ich ihn auf Mode 85 begrenzt.


Rich (BBCode):
#!/bin/bash

cred=USER:PASS
omx="omxplayer --avdict rtsp_transport:tcp --win"
param="--no-keys --no-osd --fps 10 --live -n -1"

cam_1=rtsp://$cred@10.13.37.x:554/Streaming/Channels/2           
cam_2=rtsp://$cred@10.13.37.x:554/Streaming/Channels/2        
cam_sd_3=rtsp://$cred@10.13.37.x:554/videosd               
cam_hd_3=rtsp://$cred@10.13.37.x:554/videohd
cam_4=rtsp://$cred@10.13.37.x:554/videoMain                    
cam_sd_5=rtsp://$cred@10.13.37.x:554/videoSub
cam_hd_5=rtsp://$cred@10.13.37.x:554/videoMain                 
cam_sd_6=rtsp://$cred@10.13.37.x:554/videoSub  
cam_hd_6=rtsp://$cred@10.13.37.x:554/videoMain
livestream=http://news2weltcms-lh.akamaihd.net/i/News2WeltCMS_1@425444/index_3_av-p.m3u8

#mode 85 - 1280x720 16:9
   pos51=0,0,640,450
   pos52=640,0,1280,450
   pos53=0,450,426,720
   pos54=426,450,852,720
   pos55=852,450,1280,720

6er)
grid="6er"
   pos61=0,0,852,480
   pos62=852,0,1280,240
   pos63=852,240,1280,480
   pos64=0,480,426,720
   pos65=426,480,852,720
   pos66=852,480,1280,720

###################  
#   1       #  2  #  
#           #######  
#           #  3  #  
###################  
#  4  #  5  #  6  #  
###################  
sleep 5

if [[ -f /home/pi/lock/cam.running ]] ; then
    echo found lockfile, use "rm -f /home/pi/lock/cam.running" to delete. exiting...
    exit
fi
echo creating lockfile
touch /home/pi/lock/cam.running

for i in 5er 5.2er 4er ;  do
   if (screen -ls | grep $i) ; then
    echo $i
    killall omxplayer.bin
    killall screen
   fi
done

cam1="screen -dmS $grid-cam1 sh -c '$omx $pos61 $cam_1 $param --layer 6'";
cam2="screen -dmS $grid-cam2 sh -c '$omx $pos62 $cam_2 $param --layer 6'";
cam5="screen -dmS $grid-cam5 sh -c '$omx $pos63 $cam_sd_5 $param --layer 6'";
cam4="screen -dmS $grid-cam4 sh -c '$omx $pos64 $cam_4 $param --layer 6'";
cam6="screen -dmS $grid-cam6 sh -c '$omx $pos65 $cam_sd_6 $param --layer 6'";
news="screen -dmS $grid-news sh -c '$omx $pos66 $livestream $param --layer 6'";

camera_feeds=(cam1 cam2 cam5 cam4 cam6 news)

  for i in "${camera_feeds[@]}"
   do
     if !(screen -list | grep $i) ; then
      eval eval '$'$i
      echo "$grid-$i is now running"
     fi
  done
  rm -f /home/pi/lock/cam.running
  echo done
;;



5er)
grid="5er"

################### 
#  1     #  2     # 
#        #        # 
#        #        # 
################### 
#  3  #  4  #  5  # 
###################
sleep 5

if [[ -f /home/pi/lock/cam.running ]] ; then
    echo found lockfile, use "rm -f /home/pi/lock/cam.running" to delete. exiting...
    exit
fi
echo creating lockfile
touch /home/pi/lock/cam.running

  if (screen -list | grep -q cam4) ; then
    screen -X -S cam4 kill
    echo cam4 feed killed
  fi

for i in 6er 5.2er 4er ; do
   if (screen -list | grep $i) ; then
    echo $i
    killall omxplayer.bin
    killall screen
   fi
done

cam1="screen -dmS $grid-cam1 sh -c '$omx $pos51 $cam_1 $param --layer 5'";
cam6="screen -dmS $grid-cam6 sh -c '$omx $pos52 $cam_hd_6 $param --layer 5'";
cam2="screen -dmS $grid-cam2 sh -c '$omx $pos53 $cam_2 $param --layer 5'";
news="screen -dmS $grid-news sh -c '$omx $pos54 $livestream $param --layer 5'";
cam5="screen -dmS $grid-cam5 sh -c '$omx $pos55 $cam_sd_5 $param --layer 5'";

camera_feeds=(cam1 cam6 cam2 news cam5)

 for i in "${camera_feeds[@]}"
   do
     if !(screen -list | grep $i) ; then
      eval eval '$'$i
      echo "$grid-$i is now running"
     fi
  done
  rm -f /home/pi/lock/cam.running
  echo done
;;

5.2er)
grid="5.2er"
   pos51=0,0,640,450
   pos52=640,0,1280,450
   pos53=0,450,426,720
   pos54=426,450,852,720
   pos55=852,450,1280,720

<...>
;;
   
4er)
grid="4er"
   pos41=0,0,840,720
   pos42=840,0,1280,240
   pos43=840,240,1280,480
   pos44=840,480,1280,720

<...>   
;;

kill)
  killall screen
  killall omxplayer.bin
  rm -f /home/pi/lock/cam.running
;;

repair)
sleep 50
  killall screen
  killall omxplayer.bin
  rm -f /home/pi/lock/cam.running
;;

*)
  echo "Usage: /home/pi/cam.sh {6er|5er|5.2er|4er|kill|repair}"
  rm -f /home/pi/lock/cam.running
  echo done
  exit 1
;;

esac
 

David_Webb

Benutzer
Mitglied seit
13. Jan 2009
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Danke für das script, sieht gut aus. Ich verstehe das meiste, bin aber kein Linux Profi. omxplayer bekomme ich zum laufen ... da dachte ich, ich teste mal Dein Script.
Mein Raspi kommt mit den Sprungmarken wie z.B. "6er)" in Zeile 25 nicht klar. "Kommando nicht gefunden" sagt er. Kannst Du mir ggf. einen Tipp geben?
 

bront

Benutzer
Mitglied seit
11. Aug 2013
Beiträge
39
Punkte für Reaktionen
5
Punkte
8
Äh klar ... ich hab versehentlich zu viel gelöscht oder zu wenig hier gepostet. Wie du sehen kannst, endet das Script mit
Code:
esac
, sprich es muss am Anfrang des Scripts auch entsprechend eingeleitet werden mit
Code:
case "$1" in
die verschiedenen Punkte (und somit verschiedene Raster auf dem Monitor) springst du dann im Aufruf des Scriptes z.B. mit
Code:
/pmnt/pfad/zum/script.sh 6er
als Parameter direkt an. Hoffe es ist verständlich :eek:;)

Falls du aber eh nur ein Raster auf nem Monitor fährst und sowas wie ein Repair oder kill im Script nicht wichtig ist (weil du das vielleicht nicht brauchst oder dir der Aufruf "killall screen" reicht), dann kannste das ganze CASE-Beiwerk auch rauslassen und nur die paar Zeilen mit dem Aufruf des omxplayers drin stehen lassen.
 
Zuletzt bearbeitet von einem Moderator:

David_Webb

Benutzer
Mitglied seit
13. Jan 2009
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Vielen Dank für den Hinweis, bront. Dank Deines Tipps mit dem case "$1" habe ich es nun hinbekommen!
Prima, nochmals vielen Dank!! :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat