PTZ IP-Camera management
Go to file
2023-02-11 22:30:06 +03:00
info/hikvision add hikvision templates 2023-01-29 16:19:59 +03:00
.gitignore add configs 2023-02-11 21:23:57 +03:00
converter.conf add Telegram error notification 2023-02-11 22:30:06 +03:00
converter.sh add Telegram error notification 2023-02-11 22:30:06 +03:00
LICENSE Initial commit 2023-01-29 09:32:54 +03:00
publisher-template-page-1007.xml add publisher.sh 2023-02-11 20:56:46 +03:00
publisher.conf add configs 2023-02-11 21:23:57 +03:00
publisher.sh add Telegram error notification 2023-02-11 22:30:06 +03:00
README.md add publisher.sh 2023-02-11 22:08:06 +03:00
sequences.conf add Telegram error notification 2023-02-11 22:30:06 +03:00
sequences.sh add Telegram error notification 2023-02-11 22:30:06 +03:00

cctv-scheduler

PTZ IP-Camera management


sequences.sh

Description:

Hikvision PTZ-camera sequences.
Additionally:

  • getting temperature from ds-18b20 over SSH,
  • saving pictures to FTP.

This is only a local "proof of conept" for testing and debugging.

Dependencies:

  • bash (tested version 5.1.4 on Debian GNU/Linux 11)
  • curl (tested version 7.74 on Debian GNU/Linux 11)
  • sshpass (tested version 1.09 on Debian GNU/Linux 11)
POSITION PARAMETERS DESCRIPTION DEFAULT
1 [qn] execution without pauses
2 [/path/to/conf] path to config ./sequences.conf

Example usage in terminal with bash:

bash ./sequences.sh - ./sequences.conf

Example usage with cron:

# crontab -e
0  *  *  *  * bash /home/user/cctv-scheduler/sequences.sh qn

converter.sh

Description:

JPEG to MP4 converter.

This is only a local "proof of conept" for testing and debugging.

Dependencies:

  • bash (tested version 5.1.4 on Debian GNU/Linux 11)
  • ffmpeg (tested version 4.3.4 on Debian GNU/Linux 11)
  • filesystem organization:
# filesystem organisation example
/root/
     /2022/
          /12/
             /52/
                /31/
                   /image-01_2022.12.31_time.jpeg
                   /image-02_2022.12.31_time.jpeg
     /2023/
          /01/
             /01/
                /02/
                   /image-01_2023.01.02_time.jpeg
                   /image-02_2023.01.02_time.jpeg
                /03/
                   /image-01_2023.01.03_time.jpeg
                   /image-02_2023.01.03_time.jpeg
POSITION PARAMETERS DESCRIPTION DEFAULT
1 [qn] execution without pauses
2 [/path/to/conf] path to config ./converter.conf
3 [-d|-w|-m|-y] periods: '' - today | '-d' - yesterday | '-w' - last week | '-m' - last month | '-y' - last year

Example usage in terminal with bash for today's MP4 making:

bash ./converter.sh - ./converter.conf

Example usage with cron:

# crontab -e
1  0  *  *  * bash /home/user/cctv-scheduler/converter.sh qn - -d
7  0  *  *  1 bash /home/user/cctv-scheduler/converter.sh qn - -w
30 0  1  *  * bash /home/user/cctv-scheduler/converter.sh qn - -m
36 0  1  1  * bash /home/user/cctv-scheduler/converter.sh qn - -y

publisher.sh

Description:

Uploading MP4 to Wordpress and Telegram.
Additionally:

  • editing Wordpress page from template
  • recompressing video if size over 50MB

This is only a local "proof of conept" for testing and debugging.

Dependencies:

  • bash (tested version 5.1.4 on Debian GNU/Linux 11)
  • curl (tested version 7.74 on Debian GNU/Linux 11)
  • ffmpeg (tested version 4.3.4 on Debian GNU/Linux 11)
  • libxml2-utils (tested version 2.9.10 on Debian GNU/Linux 11)
  • jq (tested version 1.6 on Debian GNU/Linux 11)
POSITION PARAMETERS DESCRIPTION DEFAULT
1 [qn] execution without pauses
2 [/path/to/conf] path to config ./converter.conf
3 [-d|-w|-m|-y] periods: '' - 0 day | '-d' - -X day | '-w' - -X week | '-m' - -X month | '-y' - -X year
4 [1|2|3..XXX] multiplier for period: '' - 1 day|week|month|year 1
5 [--onlytg|--onlywp] '--onlytg' - only publish to Telegram |'--onlywp' - only publish to Wordpress

Example usage in terminal with bash for publish today's MP4 maked:

bash ./publisher.sh - ./publisher.conf - --onlytg

Example usage with cron:

# crontab -e
1  1  *  *  * bash /home/user/cctv-scheduler/publisher.sh qn - -d
7  1  *  *  1 bash /home/user/cctv-scheduler/publisher.sh qn - -w
30 1  1  *  * bash /home/user/cctv-scheduler/publisher.sh qn - -m
36 1  1  1  * bash /home/user/cctv-scheduler/publisher.sh qn - -y