¿Se puede usar AppleScript para automatizar una session de grabación de pantalla en OS X?

Necesito realizar las siguientes tareas desde un script:

  1. Inicie una grabación de pantalla (con audio del sistema).
  2. Después de un retraso establecido, detenga la grabación.
  3. Guarde en un file.
  4. Cierre la grabación.

He intentado algunos enfoques diferentes aquí y encontré obstáculos. Una cosa que he intentado, por ejemplo, es un script de QuickTime que se encuentra aquí .

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 

Este script no tiene errores, pero tampoco guarda nada.

En el pasado, he usado iShowU HD , pero me encontré con importantes problemas de performance que me han llevado a volver a la table de dibujo.

Estoy dispuesto a pagar por una aplicación de terceros siempre que cumpla con mis requisitos, así que siéntase libre de sugerir cualquier cosa que pueda hacer el trabajo.

Ejecutando OS X 10.8 Mountain Lion.

  • Pedirle a QuickTime Player 7 que reproduzca files MIDI a través de GarageBand
  • ¿Cómo puedo saber si una película de QuickTime está preparada para la transmisión?
  • ¿Cómo puedo evitar que QuickTime abra las inserciones de WMV?
  • Reproducción de MIDI en Firefox y Chrome
  • AppleScript Quicktime Player para reproducir files de audio genera un error
  • ¿Cómo crear una list de reproducción en Quicktime Player para muchos files en subcarpetas separadas?
  • QuickTime Screen + Audio Capture
  • ¿Cómo evito que Quicktime abra videos anteriores?
  • 2 Solutions collect form web for “¿Se puede usar AppleScript para automatizar una session de grabación de pantalla en OS X?”

    Prueba este 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 

    Hará una nueva grabación durante 3 segundos (edite la línea de delay 3 para cambiar la duración), que se guarda automáticamente en el directory de Películas de su directory de inicio y luego cierra la window de grabación.

    Si desea exportar automáticamente a un formatting diferente, puede hacerlo agregando la export in ("" & (path to desktop) & "quicktimeFile.m4v") using settings preset "480p" línea export in ("" & (path to desktop) & "quicktimeFile.m4v") using settings preset "480p" antes de la línea de close . Los ajustes preestablecidos que puede elegir se definen en el dialog Archivo> Exportar :

    opciones de exportación

    Verifique el cuadro de dialog real para get más detalles sobre los ajustes preestablecidos (tenga en count que están "hasta" la resolución en la list: se ajustará a los píxeles horizontales disponibles, por lo que "480p" le da 640×400 para una grabación 16:10). Hasta donde yo sé, no puedes hacer ajustes preestablecidos personalizados.

    Si desea capturar los sonidos de su sistema, y ​​no el audio de micrófono / input de línea, eche un vistazo a esta pregunta: ¿Puedo get el sonido del sistema junto con la grabación de la pantalla QuickTime Player?

    Para los curiosos, hay un par de notas sobre por qué la secuencia de commands original no funciona y las peculiaridades AppleScript de QuickTime Player:

    • La línea set newDoc […] intenta tomar el documento más reciente con la cadena "Untitled" para dar count de que la reference newScreenRecording no es válida una vez que se detiene la grabación (lo cual es probablemente una decisión de layout deficiente, pero bueno). Sin embargo, QuickTime Player bajo Lion (y posiblemente Snow Leopard) guarda automáticamente las grabaciones de la pantalla como "Grabación de pantalla", "Grabación de pantalla 2", etc., por lo que no encontró ningún documento. Tenerlo solo con el documento más reciente resuelve esto, y el futuro lo testing hasta cierto punto.

    • La línea de export reference a un valor preestablecido que ya no existe (o que ha sido renombrado). Lamentablemente, ni QuickTime ni AppleScript arrojan ningún error al respecto, simplemente falla silenciosamente (layout más pobre).

    • El dictionary AppleScript para QuickTime Player enumera una acción de save , pero no pude hacerlo funcionar; sospecho que la funcionalidad se eliminó, pero la input del dictionary no se eliminó. Notará que no hay funcionalidad Guardar en la GUI, solo exporta (y guarda automáticamente). Por lo tanto, si desea cambiar la location de guardado sin exportar un file nuevo, deberá get la location del file y luego moverlo a través del Buscador.

    Recientemente escribí un script que no depende en absoluto de la versión de QuickTime.

    Simplemente simula las acciones reales del usuario para save / exportar la película. Toma como input el directory donde desea que se exporte el file de película y el número de segundos que desea que continúe la grabación.

    Consulte la secuencia de commands (y la publicación de blog asociada) en http://www.neerajkumar.net/blog/2013/02/16/script-to-record-screen-on-mac-osx-and-save-on- disco/

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).