# utils * [ffmpeger.py](https://git.hmp.today/pavel.muhortov/utils#ffmpeger-py) * [sendmail.py](https://git.hmp.today/pavel.muhortov/utils#sendmail-py) * [srchproc.py](https://git.hmp.today/pavel.muhortov/utils#srchproc-py) ____ ## ffmpeger.py **Description:** FFmpeg management from Python **Dependencies:** Python 3 (tested version 3.9.5), installed or downloaded ffmpeg, srchproc.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: ```shell * * * * * /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: ```shell 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: ```Python from ffmpeger import FFmpeg FFmpeg.run(src='null, anull', preset='240p', fps=10) ``` ____ ## 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: ```shell 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: ```shell chmod u+x ./sendmail.py ./sendmail.py -u user@gmail.com -p pass -d addr1@gmail.com,addr2@gmail.com ``` Example usage in Python: ```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) ``` ____ ## srchproc.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`| Example usage in terminal with Python for find all running processes: ```shell python3 ./srchproc.py ``` Example usage in terminal with make the script executable for find all specified processes: ```shell chmod u+x ./sendmail.py ./srchproc.py --find ssh --exclude sftp ``` Example usage in Python for find a clones of self: ```Python from os import getpid from sys import argv from srchproc import Proc processes = Proc.search(' '.join(argv), str(getpid())) if processes: for process in processes: print(process) ```