Asystent AI
Strumieniowanie z k...
 
Powiadomienia
Wyczyść wszystko

Domoticz Strumieniowanie z kamery IP do pliku w raspberry Pi

1 Wpisów
1 Użytkownicy
0 Reactions
1,713 Wyświetleń
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1817]

Witam, posiadam kamerę IP Cabletech URZ0920 i raspberry pi z domoticzem.

Raspberry Pi została dodatkowo wykorzystana do strumieniowania video z kamery IP do folderu na dysku SSD udostępnionego w sieci za pomocą samba.

Stworzyłem skrypt powłoki shell, w którym znajduje się polecenie zapisu video z kamery, oraz usuwanie plików starszych niż 7dni. Polecenie FFMPEG tworzy jedno minutowe pliki video i kończy działanie po jednej godzinie, aby je ponowić w następnym cyklu pętli, która jest zawsze true. Na razie wszystko działa, ale jeżeli widzi ktoś rażące błędy, bądź można wprowadzić jakieś usprawnienia to zapraszam do dyskusji.

Zawartość pliku kamera.sh:

#!/bin/sh
### BEGIN INIT INFO
# Provides: kamera wjazd
# Required-Start: $remote_fs $syslog $all
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kamera
# Description: Wykonywanie segmentów do plików mp4
### END INIT INFO

while [ 1 ]
do
	today=`/bin/date '+%d-%m-%Y__%H'xx`;

	#Usuń poprzednie zrobione pliki starsze niż x dni
	find /home/pi/camera/ -name '*.mp4' -mtime +7 -delete

	#Pobierz migawkę ze strumienia RTSP
	ffmpeg -i "rtsp://admin:123456@192.168.0.86:554/H264?ch=1&subtype=2" -vcodec copy -framerate 10 -map 0 -f segment -segment_time 60 -segment_format mp4 -t 01:00:00 /home/pi/camera/$today%02d.mp4
done

Plik umieszczamy w katalogu /usr/lib/systemd/scripts i nadajemy mu uprawnienia do wykonania (755).

Następnie tworzymy plik usługi w katalogu /usr/lib/systemd/system. Nazywamy go kamera.service i wpisujemy do niego następującą zawartość:

[Unit]
Description=Kamera IP

[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/kamera.sh

[Install]
WantedBy=multi-user.target

Na koniec wykonujemy komendę:

sudo systemctl enable iptables_sh.service

Od tej pory skrypt będzie odpalany wraz ze startem systemu.


 
Dodane : 19/07/2020 3:03 pm
Udostępnij: