Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

BOFH excuse #304: routing problems on the neural net


comp / comp.lang.python / Capturing screenshots and recording audio in an ongoing basis, and submitting data to a RESTFul API

SubjectAuthor
o Capturing screenshots and recording audio in an ongoing basis, and submitting daJacob Kruger

1
Subject: Capturing screenshots and recording audio in an ongoing basis, and submitting data to a RESTFul API
From: Jacob Kruger
Newsgroups: comp.lang.python
Date: Tue, 22 Oct 2024 12:03 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: jacob.kruger.work@gmail.com (Jacob Kruger)
Newsgroups: comp.lang.python
Subject: Capturing screenshots and recording audio in an ongoing basis, and
submitting data to a RESTFul API
Date: Tue, 22 Oct 2024 14:03:14 +0200
Lines: 57
Message-ID: <mailman.30.1729598604.4695.python-list@python.org>
References: <5d797501-cc7d-46e8-9f72-098a5c4d0748@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de GZvt8NfUsufmriutKbu1LQhrVgkR7oK8O4fdIhVJ5GeQ==
Cancel-Lock: sha1:G7Ur+S6GezjyWrwgGYaR5xpD6ws= sha256:RAW4qw3ZbHp3fgD05dS2U2ey9YsARXeKFGQ/QPPE+KA=
Return-Path: <jacob.kruger.work@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=ghzAdfjZ;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.114
X-Spam-Level: *
X-Spam-Evidence: '*H*': 0.77; '*S*': 0.00; 'generated': 0.03;
'space,': 0.07; 'subject:API': 0.07; 'api,': 0.09; 'converting':
0.09; 'machines,': 0.09; 'smaller': 0.09; 'utility': 0.09; 'api.':
0.16; 'are.': 0.16; 'bandwidth': 0.16; 'command-line': 0.16;
'generates': 0.16; 'generating': 0.16; 'looping': 0.16;
'question,': 0.16; 'relevant,': 0.16; 'restful': 0.16;
'screenshots,': 0.16; 'staff,': 0.16; 'times,': 0.16; 'wrapper':
0.16; 'probably': 0.17; 'message-id:@gmail.com': 0.18; 'to:addr
:python-list': 0.20; 'issue': 0.21; 'binary': 0.26; 'flask': 0.26;
'recording': 0.26; 'background': 0.28; 'example,': 0.28;
'requests': 0.28; 'think': 0.29; 'header:User-Agent:1': 0.30;
'module': 0.31; 'wondering': 0.31; "doesn't": 0.32; 'question':
0.32; 'but': 0.32; 'received:192.168.1': 0.32; 'there': 0.33;
'server': 0.33; 'received:google.com': 0.34; 'windows': 0.34;
'able': 0.34; 'from:addr:gmail.com': 0.34; 'running': 0.35;
'handling': 0.35; 'also,': 0.36; 'really': 0.36; 'image': 0.36;
'target': 0.36; 'work,': 0.36; 'main': 0.37; 'using': 0.37;
"it's": 0.37; 'could': 0.37; 'received:192.168': 0.37; 'file':
0.38; 'way': 0.38; 'both': 0.38; 'thanks': 0.39; 'use': 0.39;
'enough': 0.39; 'setting': 0.39; 'forms': 0.40; 'submitting':
0.40; 'something': 0.40; 'want': 0.40; 'try': 0.40; 'in,': 0.60;
'service': 0.64; 'overall': 0.64; 'skip:t 20': 0.65; 'well': 0.65;
'required': 0.65; 'back': 0.66; 'video': 0.68; 'during': 0.69;
'terms': 0.69; 'and,': 0.69; 'drop': 0.69; 'remaining': 0.69;
'track,': 0.69; 'times': 0.69; 'audio': 0.70; 'resulting': 0.70;
'skip:f 20': 0.75; 'combination': 0.76; 'selecting': 0.76;
'moment': 0.81; 'waste': 0.81; 'background,': 0.84; 'capture':
0.84; 'capturing': 0.84; 'etc.,': 0.84; 'multimedia': 0.84;
'recordings': 0.84; 'sizes': 0.84; 'subject: \n ': 0.84;
'relates': 0.91; 'screenshots': 0.93; 'storage': 0.95
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1729598602; x=1730203402; darn=python.org;
h=content-transfer-encoding:subject:content-language:to:from
:user-agent:mime-version:date:message-id:from:to:cc:subject:date
:message-id:reply-to;
bh=0a6qPZ49eSQaAMeJZNQhWWs0uGpDBxt+EwatbBrJuzo=;
b=ghzAdfjZhBoTELJ8mS4MoJQNf9eOPpZDuQzmkj9z93bMFNP81nLUY7FOqg9xJ3WkrQ
OhqrB2PZRidMQlbrUw5xNsMr43xsOyLouZoieSqtZj2dAY0q4UEObso9Uh30i8dBXBNI
aJN70iB2Nc2d41K9D8GP6a+7rdfKSrGIz/7FrZm52fwwhYOSR43xM5O2yvjxQoM8gO1B
NhskOcr7phxuNQTnlswc59PM1xVTR64otXAw8aON4X2pityFNgixohwx9Rz+wJ8uudW0
SqVFNgiJh8hbezivqmDd5OvVBKcUs9h2amHP7T4Ql+ENaBlfKoCOC+5/sufqdDHQAeel
aP1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1729598602; x=1730203402;
h=content-transfer-encoding:subject:content-language:to:from
:user-agent:mime-version:date:message-id:x-gm-message-state:from:to
:cc:subject:date:message-id:reply-to;
bh=0a6qPZ49eSQaAMeJZNQhWWs0uGpDBxt+EwatbBrJuzo=;
b=fhdM5dltkhxTHoXCvBqkm3iq/o0iFXCblKQynsUyT2xhMFRZFwFDhTp5sJDizNc+Ws
F0CSXxvLrq7tjEbgTpLsXymxqYAPqEbekXYaDNUZy6ZOcDuFcRtBEJdNH3lyJEP0w2wq
/zScs+ofTTAVkmnG1/0fD5NRtMEgzP+XqokMWBAPbnPUdS5v1UIsDJkpS0lRQZ+NJngD
DrNK3yZTg1sE+SzSdiRAm0HHNtLsew+H9X7JP97dVwi8gPMfqe0xi4ha8NZ3n6HO++kp
HJpjU2+20Wi+xXwSednZ7pHWv0YjxsFFLiy/tPGboWIT9gYJoou1KMqUB4p5thNu9AVa
n3xw==
X-Gm-Message-State: AOJu0Yzji6GtI4UHroUDfsZSl2MdRsPcEurZcMMJfaA+bssm7qcX3UvF
SdVcuBn8b9rdWJOKr0odUbGmoojoAxiBM0heYfGAwENY5ZCdNWWc349SOA==
X-Google-Smtp-Source: AGHT+IFfLekiMp+6Z+/MwjexD2krO4BgX/9T7llTDQRI0YRNwtCzhe65XPOdjoZL32osEERpXNL53w==
X-Received: by 2002:a17:906:c150:b0:a9a:80bd:2920 with SMTP id
a640c23a62f3a-a9aad3d64d2mr215803666b.53.1729598602186;
Tue, 22 Oct 2024 05:03:22 -0700 (PDT)
User-Agent: Mozilla Thunderbird
Content-Language: en-US
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <5d797501-cc7d-46e8-9f72-098a5c4d0748@gmail.com>
View all headers

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..."

1

rocksolid light 0.9.8
clearnet tor