Deutsch   English   Français   Italiano  
<mailman.30.1729598604.4695.python-list@python.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!not-for-mail
From: Jacob Kruger <jacob.kruger.work@gmail.com>
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>
Bytes: 8390

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