Si può utilizzare Applescript per automatizzare una sessione di registrazione dello schermo su OS X?

4

Devo svolgere le seguenti attività da uno script:

  1. Avvia una registrazione su schermo (con audio di sistema).
  2. Dopo un ritardo impostato, interrompe la registrazione.
  3. Salva su un file.
  4. Chiudi la registrazione.

Ho provato alcuni approcci diversi qui e ho incontrato i blocchi stradali. Una cosa che ho provato ad esempio era uno script QuickTime trovato qui .

tell application "QuickTime Player"
    set newScreenRecording to new screen recording
    tell newScreenRecording
        start
        delay 10
        stop
    end tell
    set newDoc to last item of (documents whose name contains "Untitled")
    set f to "" & (path to desktop) & "quicktimeFile"
    export newDoc in f using settings preset "Quicktime Movie"
end tell

Questo script non ha errori, ma non salva nulla neanche.

In passato ho utilizzato iShowU HD , ma ho riscontrato notevoli problemi di prestazioni in mi ha fatto tornare al tavolo da disegno.

Sono disposto a pagare per un'applicazione di terze parti a condizione che soddisfi i miei requisiti, quindi sentiti libero di suggerire qualsiasi cosa che possa portare a termine il lavoro.

Esecuzione di OS X 10.8 Mountain Lion.

    
posta Greg W 04.09.2012 - 23:02
fonte

2 risposte

7

Prova questo script:

tell application "QuickTime Player"
    set newScreenRecording to new screen recording
    tell newScreenRecording
        start
        delay 3
        stop
    end tell
    tell last item of documents
        close
    end tell
end tell

Creerà una nuova registrazione per 3 secondi (modifica la riga delay 3 per cambiare la lunghezza), che viene automaticamente salvata nella directory Filmati della tua directory Home, quindi chiude la finestra di registrazione .

Se vuoi esportare automaticamente in un formato diverso, puoi farlo aggiungendo la riga export in ("" & (path to desktop) & "quicktimeFile.m4v") using settings preset "480p" prima della riga close . I predefiniti tra cui puoi scegliere sono definiti nel File > Esporta finestra di dialogo:

Controllalafinestradidialogoattualeperulterioridettaglisuipreset(notachesono"fino a" la risoluzione elencata - si adatta ai pixel orizzontali disponibili, quindi "480p" ti dà 640x400 per una registrazione 16:10). Per quanto ne so, non puoi creare preset personalizzati.

Se vuoi catturare i suoni del tuo sistema, e non l'audio del microfono / line-in, dai un'occhiata a questa domanda: Posso ottenere l'audio del sistema insieme alla registrazione dello schermo di QuickTime Player?

Per i curiosi, ci sono un paio di note sul perché lo script originale non funziona e sulle peculiarità di AppleScript di QuickTime Player:

  • La riga set newDoc […] tenta di afferrare il documento più recente con la stringa "Senza titolo" per considerare il riferimento newScreenRecording che diventa non valido una volta che la registrazione è stata interrotta (che è probabilmente una decisione di progettazione scadente, ma oh bene). Tuttavia QuickTime Player con Lion (e possibilmente Snow Leopard) salva automaticamente le registrazioni dello schermo come "Screen Recording", "Screen Recording 2", ecc., Quindi non è stato trovato alcun documento. Avere afferrato solo il documento più recente risolve questo problema, e il futuro lo dimostra fino a un certo punto.

  • La riga export fa riferimento a un predefinito che non esiste più (o è stato rinominato). Sfortunatamente né QuickTime né AppleScript danno errori, semplicemente falliscono in modo silenzioso (design più scadente).

  • Il dizionario AppleScript per QuickTime Player elenca un'azione save , ma non riuscivo a farlo funzionare - sospetto che la funzionalità sia stata interrotta, ma la voce del dizionario non è stata rimossa. Noterai che non ci sono funzionalità di salvataggio nella GUI, solo esportazione (e salvataggio automatico). Quindi, se vuoi cambiare la posizione di salvataggio senza esportare un nuovo file, dovrai ottenere il percorso del file, quindi spostarlo attraverso il Finder.

risposta data 05.09.2012 - 01:16
fonte
1

Recentemente ho scritto uno script che non dipende affatto dalla versione di QuickTime.

Simula semplicemente le azioni dell'utente per salvare / esportare il film. Prende come input la directory in cui vuoi esportare il film e il numero di secondi per cui vuoi registrare.

Guarda lo script (e il post del blog associato) su link

    
risposta data 20.02.2013 - 14:04
fonte

Leggi altre domande sui tag