5.3 KiB
utils
camsutil
Description: Creation of a request to the camera API based on the prepared template
Dependencies: Python 3 (tested version 3.9.5)
PARAMETERS | DESCRIPTION | DEFAULT |
---|---|---|
--host | hostname or ip address | REQUIRED |
--user | valid user | REQUIRED |
--password | valid password | REQUIRED |
--template | the name of an existing template | REQUIRED |
[-h] | print help and exit | |
[--protocol] | http, https, etc. | http |
[--port] | port number | 80 |
[--channel] | ptz channel number | 101 |
[--vid] | video channel id | 1 |
[--x] | horizontal positioning: azimuth, pan | 0 |
[--y] | vertical positioning: elevation, tilt | 0 |
[--z] | zoom direction, absolute zoom | 0 |
[--speed] | positioning speed: from 1 to 7 | 1 |
[--time] | momentary duration, max 100000ms | 100000 |
[--text] | overlay text content | None |
[--enabled] | enabled (true) or disabled (false) overlay text | true |
Example usage in terminal with Python:
python3 ./ptz.py --host HOST --user USER --password PASS --template Hikvision_GetCapabilities.html
Example usage in terminal with make the script executable:
chmod u+x ./ptz.py
ptz.py --host HOST --user USER --password PASS --template Hikvision_PtzPreset.html --vid 2 --speed 5
Example usage in Python:
from camsutil import ptz
data = ptz.API(host='HOST', user='USER', password='PASS', template='Hikvision_GetJPEG.html', x=1920, y=1080).call()
with open('img.jpg', 'wb') as output:
output.write(data)
ffmpeger.py
Description: FFmpeg management from Python
Dependencies: Python 3 (tested version 3.9.5), installed or downloaded ffmpeg, procutil.py in the same directory
PARAMETERS | DESCRIPTION | DEFAULT |
---|---|---|
-s, --src | sources urls | REQUIRED |
[-h] | print help and exit | |
[--preset] | 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p | None |
[--fps] | frame per second encoding output | None |
[--dst] | destination url | None |
[--ffpath] | alternative path to bin | None |
[--watchdog] | detect ffmpeg freeze and terminate | |
[--sec] | seconds to wait before the watchdog terminates | 15 |
[--mono] | detect ffmpeg running copy and terminate |
Example usage in cron with Python:
* * * * * /usr/bin/python3 ~/ffmpeger.py -s rtsp://user:pass@host:554/Streaming/Channels/101 --dst rtmp://a.rtmp.youtube.com/live2/YOUKEY --mono --watchdog --sec 30 >> /dev/null 2>&1
Example usage in terminal with make the script executable:
chmod u+x ./ffmpeger.py
ffmpeger.py -s rtsp://user:pass@host:554/Streaming/Channels/101 --dst rtp://239.0.0.1:5554
Example usage in Python:
from ffmpeger import FFmpeg
FFmpeg.run(src='null, anull', preset='240p', fps=10)
procutil.py
Description: Find a running process from Python
Dependencies: Python 3 (tested version 3.9.5)
PARAMETERS | DESCRIPTION | DEFAULT |
---|---|---|
[-h] | print help and exit | |
[--find] | find process pid, name or arguments | |
[--exclude] | exclude process pid, name or arguments | None |
[--self] | find a clones of self | True |
[--kill] | kill the process with pid |
Example usage in terminal with Python for find all running processes:
python3 ./procutil.py
Example usage in terminal with make the script executable for find all specified processes:
chmod u+x ./procutil.py
./procutil.py --find ssh --exclude sftp
Example usage in Python for find a clones of self:
from os import getpid
from sys import argv
from procutil import Proc
processes = Proc.search(' '.join(argv), str(getpid()))
if processes:
for process in processes:
print(process)
sendmail.py
Description: Sending email from Python
Dependencies: Python 3 (tested version 3.9.5)
PARAMETERS | DESCRIPTION | DEFAULT |
---|---|---|
-u, --user | smtp valid user | REQUIRED |
-p, --pass | smtp valid password | REQUIRED |
-d, --dest | destination addresses | REQUIRED |
[-h] | print help and exit | |
[--smtp] | smtp hostname or ip address | smtp.gmail.com |
[--port] | smtp port number | 587 |
[--stls] | smtp required TLS | True |
[--from] | mail from alias | --user value |
[--subj] | mail subject | 'no subject' |
[--text] | mail body text | 'no text' |
[--type] | mail body type: plain, html | plain |
[--file] | mail attachment files | None |
Example usage in terminal with Python:
python3 ./sendmail.py -u user@gmail.com -p pass -d addr1@gmail.com,addr2@gmail.com
Example usage in terminal with make the script executable:
chmod u+x ./sendmail.py
./sendmail.py -u user@gmail.com -p pass -d addr1@gmail.com,addr2@gmail.com
Example usage in Python:
from sendmail import Mail
msg = Mail(smtp_user='user@gmail.com', smtp_pass='pass', mail_dest='addr1@gmail.com,addr2@gmail.com')
log = msg.send()
print(log)