¿Existe una herramienta de línea de comando que pueda grabar la pantalla de su computadora y el dispositivo de audio y luego guardarlo en un archivo?
¿Existe una herramienta de línea de comando que pueda grabar la pantalla de su computadora y el dispositivo de audio y luego guardarlo en un archivo?
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 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
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:
rec -q -c $C -r 48000 -b 16 $AFILE trim 0 $HH:$MM:00 &
VLC -I dummy screen:// --screen-fps=25 --quiet --sout "#transcode{vcodec=h264,vb=3072}:standard{access=file,mux=mp4,dst=$FILE}" --run-time $TIME vlc://quit
Programación de grabación:
crontab -l
0 8 * * 1-5 ~/capture.sh 3 0 recording-name 1
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.
MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4
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/
Puede usar el software ffmpeg. Para instalarlo en una Mac, siga las instrucciones aquí . Luego usa el comando:
$ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 -y output.mkv
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.
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.
Puede usar la importación desde ImageMagick, pero es solo Linux. Entonces podrías ir a una terminal y ejecutar:
import screenshot.png
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.