Capturing screenshots and recording audio in an ongoing basis, and submitting data to a RESTFul API

Jacob Kruger jacob.kruger.work at gmail.com
Tue Oct 22 08:03:14 EDT 2024


Hi there - know this might be a silly question, but asking anyway... As 
in, know these formats/data-types are probably not really possible to 
compress any more than they already are.

Have managed to sort out capturing screenshots repeatedly, while 
recording audio in the background, using combination of PIL's ImageGrab, 
and pyaudio, and can then use moviepy, which is a sort of wrapper 
around/interface to the FFMPEG command-line utility - this all allows me 
to record forms of screencast recordings, setting my own forms of 
time-frames, etc. in terms of the looping interval when I want to 
capture screenshots, etc., before then combining them into video clips 
with the audio recording merged in as a background track, and, all works 
fine, but, we want to use this as a form of monitoring service for 
call-centre staff, at times, and, the only real remaining issue is 
file-size/data in terms of both hard-drive storage space, and, bandwidth 
in terms of submitting resulting data to a RESTFul API.

For example, a test video clip, generated using the libvpx codec, 
resulting in a .webm file, with a total length of 14 seconds, has a file 
size of 100KB.


Also, don't think it's really relevant, but, am then just using things 
like requests module to submit data to the RESTFul API, which have used 
flask to implement.


So, know this question might be a waste of time since have already 
played around with selecting the video codec that generates the smallest 
resulting file-size, and, not sure if might be able to drop image 
snapshot file sizes by using something like grayscale, which moviepy 
doesn't want to work with directly during generating original video 
clips, but just wondering if there might be any way to try converting 
binary data into smaller data chunks to then upload these via my RESTFul 
API, where could then convert them back to multimedia formats, etc.?

Any thoughts/suggestions on this type of thing, and, on that note, all 
of this will be running as something like a background service on 
call-centre staff's windows 11 machines, if relevant.  As in, if there 
might be some way to store data and then generate multimedia later on, 
on the server handling the RESTFul API, that could also work, but, main 
thing is to both save storage data on workstations, as well as limit 
amount of bandwidth required overall since the number of target machines 
could easily be enough to use up a lot of bandwidth, etc., so, what we 
are looking into at the moment relates to only triggerring recordings at 
certain times on certain machines, in between.

Thanks in advance

---

Jacob Kruger

+2782 413 4791
"Resistance is futile!...Acceptance is versatile..."




More information about the Python-list mailing list