# cctv-scheduler PTZ IP-Camera management * [`sequences.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#sequences-sh) * [`converter.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#converter-sh) * [`publisher.sh`](https://git.hmp.today/pavel.muhortov/cctv-scheduler#publisher-sh) ____ ## `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 bash ./sequences.sh - ./sequences.conf ``` Example usage with cron: ```bash # 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: >```bash > # 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 bash ./converter.sh - ./converter.conf ``` Example usage with cron: ```bash # 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 bash ./publisher.sh - ./publisher.conf - --onlytg ``` Example usage with cron: ```bash # 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 ```