¿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í .

  • Deshabilitar temporalmente el sonido de inicio
  • En iTerm, ¿cómo puedo cambiar alt + eliminar para ignorar las barras inclinadas?
  • kernel_task consume mucha memory, no puede finalizar mis cálculos
  • ¿Qué tan grande debe ser mi unidad de copy de security de Time Machine?
  • cómo desactivar la pestaña de la aplicación de Firefox?
  • ¿Cómo 'startx' desde el modo de usuario único?
  • 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.

  • ¿Cómo creo un service de "Reemplazar text" basado en Automator que funciona con sandboxing?
  • El balance de audio Bluetooth de MacBook Pro sigue cambiando por sí mismo
  • La aplicación AppleScript comenzó a solicitar que se ejecute o se cierre. ¿Cómo puedo desactivar esto?
  • ¿Cómo actualizo mi openssl? Un enlace simbólico no funciona para / usr / local / bin / OpenSSL
  • Tratando de encontrar el controller que mi impresora está usando actualmente en OS X
  • ¿Es seguro borrar el contenido de ~ / Library / Logs?
  • 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).