Vai al contenuto

Cattura schermo con Automator (Parzialmente risolto)


Messaggi raccomandati

Salve.

Vorrei creare un flusso di lavoro con Automator che mi consenta di catturare una schermata ogni tot tempo.

Ho provato a dare una occhiata ed ho trovato le funzioni "pausa" e "ripeti" che potrebbero servire ma il problema è che non so come impartire il comando per scattare (shift+cmd+3)

Qualche idea?

Grazie

Link al commento
Condividi su altri siti

Fare le domande alla comunità evidentemente stimola.

In parte ho risolto. Spiego come come ho fatto per chi eventualmente fosse interessato.

La prima azione del flusso di lavoro è l'acquisizione della variabile data attuale poi dell'ora ed infine una terza variabile che è la somma delle due.

Poi un script shell con questo comando "screencapture -S ~/Cattura\ schermo/Schermata\ .jpg" (senza virgolette) che cattura lo schermo intero e lo salva in

utente/Cattura schermo/Schermata .jpg

Dopo ho inserito l'azione "Ottieni elementi del Finder" per richiamare il file appena salvato in modo da poterlo rinominare aggiungendo data e ora attuali

con l'azione "Rinomina elementi del Finder: aggiungi testo.

Dopo di che ho inserito una azione pausa di 5 secondi ed una azione ripeti automaticamente per 5 minuti.

Quello che mi manca ancora è la possibilità di variare la pausa e la ripetizione all'inizio del flusso di lavoro.

Ho provato a mettere nel campo pausa una variabile, ma non viene accettata (oppure non sono capace io) lo stesso nel campo ripetizione.

E' un po' farraginoso, sono sicuro che si potrà fare in maniera più semplice (penso ad un'Applescript) ma mi accontento.

Se qualcuno ha idea di come risolvere l'ultimo problema dico grazie.

Potete trovare il flusso di lavoro a questo indirizzo: https://www.dropbox.com/s/2e6dcet83n8adt5/Cattura schermo jpg ogni 5 secondi.workflow.zip?dl=0

 

 

 

 

Link al commento
Condividi su altri siti

19 ore fa, Legs dice:

E fare una cosa analoga a questa?

https://www.macitynet.it/programmare-backup-cartella-mac-automator/

 

Non so bene se possa andare bene per i tuoi scopi ma praticamente farebbe tutto il calendario.

Imposti data e ora e a quel punto lui farà partire il tuo flusso.

Ti ringrazio dell'interessamento.

Lo scopo non è quello di fare partire il flusso ad un determinato orario. 

Ti spiego per cosa mi serve. Ho creato dei Time Lapse con delle webcam online. Metto la finestra a schermo intero e con automator scatto ogni 4 secondi per novecento volte così ottengo un filmato di 30 secondi. Quindi cerco il modo di inserire queste due variabili all'inizio del flusso.

 

Link al commento
Condividi su altri siti

Non conosco Applescript ma un po' di Python.

Ci ho ragionato su un po' e con qualche googlata ho messo giù questo codice:

 

# ripresa dello schermo
# le immagini con nome: immagineN.png vengono memorizzate in RaccoltaImmagini

import os, time

# creo la cartella RaccoltaImmagini sulla scrivania
cartella = os.path.expanduser("~/Desktop/RaccoltaImmagini")
if not os.path.exists(cartella):
    os.makedirs(cartella)
os.chdir(cartella) # rendo attivo il percorso 

deltat = 4.    # intervallo tra uno scatto e il successivo
n = 900        # numero di fotografie da scattare

for indice in range(1,n+1):
    os.system("screencapture immagine"+str(indice)+".png")
    time.sleep(deltat)

 

Dato che l'impaginazione del codice fa schifo ti riporto uno screenshot dell'editor:

codice.png.407cb3b7f0d45b06ae6135a04a26c4dd.png

 

 

Se automator permette di avviare questo codice allora sei a posto.

 

Le immagini vengono memorizzate nella cartella RaccoltaImmagini sulla scrivania. L'ho provato e funziona.

Memorizza dove vuoi il file con il nome ripresa.py

Ammettiamo che lo registri sul Desktop allora userai il comando:

python ~/Desktop/ripresa.py

per farlo partire.

 

Prova a vedere questa pagina per inserire lo script in Automator:

https://stackoverflow.com/questions/20082586/run-python-script-on-csv-file-with-os-x-automator

 

 

Ho pensato però che potresti tranquillamente far partire direttamente tu lo script da terminale evitando proprio l'uso di automator.

Fai partire lo script e poi porti in primo piano la parte da memorizzare. E' sicuramente più semplice.

Dato che il programma scatta subito la prima foto appena parte lo script, facendo come ho detto adesso, perdi la prima immagine ora che ti sposti dove ti serve.

Eventualmente basterà usare n=901 o scambiare:

os.system("screencapture immagine"+str(indice)+".png")

time.sleep(deltat)

 

con:

time.sleep(deltat)

os.system("screencapture immagine"+str(indice)+".png")

 

Così dovresti avere il tempo di portare in primo piano quello che devi catturare senza perdere il primo fotogramma.

 

 

Link al commento
Condividi su altri siti

  • 2 anni dopo...

Qualcuno mi sa dire se è possibile automatizzare una cattura parziale dello schermo?oppure se esistono programmi per Mac(anche a pagamento) che lo facciano?Insomma mi servirebbe un cattura schermo parziale(shift+cmd+4) sulla stessa posizione dello schermo ogni tot secondi per tot tempo. Grazie mille a chi mi sappia risolvere sto dubbio

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...