¿Alguna razón por la que esto debe ser una herramienta CLI? Obtiene captura de pantalla gratis con QuickTime.
igorw
Me gustaría llamarlo en un script de shell y hacerlo sin supervisión.
Hola Keith, bienvenido a StackOverlow. Esto no parece relacionado con la programación de un vistazo, aunque en realidad podría serlo si planeas escribirlo en un archivo por lotes o algo así. Es posible que desee volver a redactarlo para que no se cierre fuera de control.
Brian MacKay
Respuestas:
9
Mac OS X ofrece la capacidad de capturar capturas de pantalla estáticas desde la línea de comandos utilizando una utilidad llamada inimaginable screencapture. Puede encontrar más información ejecutando man screencapture.
p.ej. screencapture ~/Desktop/picture.png
En cuanto a la grabación de movimiento y audio de la computadora, puede hacerlo a través de AppleScript utilizando QuickTime Player X si está utilizando Mac OS X 10.6 o posterior. (Sin embargo, definitivamente no es "silencioso" y solo se ejecutará cuando alguien haya iniciado sesión)
(Grabando la pantalla durante 5 segundos, solo un posible punto de partida)
tell application "QuickTime Player"
--activate
new screen recording
start document 1
delay 5
stop document 1
save document 1 in file "/tmp/test.mov"
quit
end tell
screencapture solo permite hacer imágenes fijas, no grabaciones de video o sonido.
MacLemon
@ MacLemon: se agregó alguna aclaración.
Chealion
2
Para su información, solo haciendo referencia a una publicación de blog que ha mejorado la versión del Quicktime Applescript anterior: netjunki.org/blog/…
David
1
El blog que mencionó @David todavía está disponible en la memoria caché de Google, y señala: "Parece que cuando intentas llamar a guardar en 10.7 quicktime simplemente ignora la llamada. O algo así. El script se quedará allí para siempre y luego se agotará". Esto es cierto para mí en 10.8 ...
ptim
2
Estoy usando SOX y VLC para la captura, crontab para la programación, XLD para crear m4a y MP4Box para la multiplexación. Es bastante flexible, pero requiere conocimiento de las secuencias de comandos Bash (quizás también la secuencia de comandos de Apple). Encontré mi inspiración en la secuencia de comandos mkmp4 de Diego Massanti.
puede hacerse una idea de lo que está haciendo el guión: grabar 3 horas de captura, sonido mono, todos los días hábiles a las 8 a.m.
No encontré ni compilé SOX habilitado para transmisiones de audio MPEG, por lo tanto, uso FLAC para ahorrar espacio; Estoy usando XLD para convertirlo a AAC-HE 16kbps, que es suficiente para la voz.
Siguiente paso: multiplex audio y video para crear mp4. Si no le importa usar GUI, entonces MPEG StreamClip (o QuickTime) también funciona bien.
Lo uso a diario para crear un archivo de GoToWebinar, pero cuando la próxima versión de FFmpeg admita el códec G2M4, ya no me molestaré. Sí, también hay OSAscript para iniciar el seminario web que también requirió deshacerse del indicador com.apple.quarantine para desactivar la advertencia (¿Está seguro de que desea abrirlo?).
Dudo que funcione en OSX, alsa y x11grab probablemente solo estén disponibles en las compilaciones de Linux de ffmpeg.
Adam MW
0
Para capturar la pantalla, hay varias herramientas de código abierto. Debe buscar "captura de pantalla" utilizando un administrador de paquetes en Linux. scrotSe pueden llamar herramientas como en un script. Si planea hacerlo programáticamente, hay los puntos de entrada necesarios en Imlib2.
Capturar sonido es realmente grabar para un dispositivo de sonido de micrófono. En realidad no es una instantánea y debes controlar cuánto tiempo se debe hacer la grabación. Cualquier grabadora de sonido funcionará.
También hay herramientas que hacen un video de su escritorio.
Volcar el contenido del dispositivo framebuffer de Linux en un archivo puede ser algo similar a lo que está buscando. A continuación, he citado la parte relevante del Tutorial de programación de dispositivos con framebuffer de Linux 2.2 , eche un vistazo. Deberá configurar su sistema para habilitar el dispositivo framebuffer (verifique si tiene / dev / fb0 en su sistema), no lo tengo en mi Ubuntu 9.04.
Cuando tenga modos de texto de alta resolución, puede comenzar a experimentar. Tendrá un dispositivo / dev / fb0 que puede ver como cualquier archivo normal. Para tomar una captura de pantalla, todo lo que tienes que hacer es
cat / dev / fb0> ~ / sshot
Y tendrá un archivo bastante grande con el contenido de la memoria de su tarjeta gráfica dentro. Ahora, si borra la pantalla y escribe
cat ~ / sshot> / dev / fb0
Debe tener una pantalla que se vea exactamente igual que antes. Por supuesto, la segunda vez que comienza a escribir la pantalla vuelve a la normalidad.
También estoy ejecutando Snow Leopard en un macbook antiguo y, dado que estoy tratando de aprender el Objetivo C, dedico algo de tiempo a crear una herramienta que pueda capturar ventanas específicas.
Respuestas:
Mac OS X ofrece la capacidad de capturar capturas de pantalla estáticas desde la línea de comandos utilizando una utilidad llamada inimaginable
screencapture
. Puede encontrar más información ejecutandoman screencapture
.p.ej.
screencapture ~/Desktop/picture.png
En cuanto a la grabación de movimiento y audio de la computadora, puede hacerlo a través de AppleScript utilizando QuickTime Player X si está utilizando Mac OS X 10.6 o posterior. (Sin embargo, definitivamente no es "silencioso" y solo se ejecutará cuando alguien haya iniciado sesión)
(Grabando la pantalla durante 5 segundos, solo un posible punto de partida)
fuente
Estoy usando SOX y VLC para la captura, crontab para la programación, XLD para crear m4a y MP4Box para la multiplexación. Es bastante flexible, pero requiere conocimiento de las secuencias de comandos Bash (quizás también la secuencia de comandos de Apple). Encontré mi inspiración en la secuencia de comandos mkmp4 de Diego Massanti.
procesos centrales para lanzar:
Programación de grabación:
puede hacerse una idea de lo que está haciendo el guión: grabar 3 horas de captura, sonido mono, todos los días hábiles a las 8 a.m.
No encontré ni compilé SOX habilitado para transmisiones de audio MPEG, por lo tanto, uso FLAC para ahorrar espacio; Estoy usando XLD para convertirlo a AAC-HE 16kbps, que es suficiente para la voz.
Siguiente paso: multiplex audio y video para crear mp4. Si no le importa usar GUI, entonces MPEG StreamClip (o QuickTime) también funciona bien.
Lo uso a diario para crear un archivo de GoToWebinar, pero cuando la próxima versión de FFmpeg admita el códec G2M4, ya no me molestaré. Sí, también hay OSAscript para iniciar el seminario web que también requirió deshacerse del indicador com.apple.quarantine para desactivar la advertencia (¿Está seguro de que desea abrirlo?).
Enlaces:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
fuente
Puede usar el software ffmpeg. Para instalarlo en una Mac, siga las instrucciones aquí . Luego usa el comando:
fuente
Para capturar la pantalla, hay varias herramientas de código abierto. Debe buscar "captura de pantalla" utilizando un administrador de paquetes en Linux.
scrot
Se pueden llamar herramientas como en un script. Si planea hacerlo programáticamente, hay los puntos de entrada necesarios en Imlib2.Capturar sonido es realmente grabar para un dispositivo de sonido de micrófono. En realidad no es una instantánea y debes controlar cuánto tiempo se debe hacer la grabación. Cualquier grabadora de sonido funcionará.
También hay herramientas que hacen un video de su escritorio.
fuente
Volcar el contenido del dispositivo framebuffer de Linux en un archivo puede ser algo similar a lo que está buscando. A continuación, he citado la parte relevante del Tutorial de programación de dispositivos con framebuffer de Linux 2.2 , eche un vistazo. Deberá configurar su sistema para habilitar el dispositivo framebuffer (verifique si tiene / dev / fb0 en su sistema), no lo tengo en mi Ubuntu 9.04.
fuente
Puede usar la importación desde ImageMagick, pero es solo Linux. Entonces podrías ir a una terminal y ejecutar:
fuente
También estoy ejecutando Snow Leopard en un macbook antiguo y, dado que estoy tratando de aprender el Objetivo C, dedico algo de tiempo a crear una herramienta que pueda capturar ventanas específicas.
https://github.com/vorgos/QuickGrab
Es una herramienta de línea de comando que capturará la ventana más activa superior o cualquier ventana que especifique.
Espero que haya ayudado.
fuente