Screen Capture - linha de comando?

12

Existe uma ferramenta de linha de comando que pode gravar a tela do computador e o dispositivo de áudio e salvá-la em um arquivo?

    
por Chealion 17.07.2010 / 20:35

7 respostas

9

O Mac OS X oferece a capacidade de capturar capturas de tela estáticas a partir da linha de comando usando um utilitário chamado unimaginatively screencapture . Você pode encontrar mais informações executando man screencapture .

por exemplo. screencapture ~/Desktop/picture.png

Quanto à gravação de movimento e áudio do computador, você pode fazer isso via AppleScript usando o QuickTime Player X se estiver usando o Mac OS X 10.6 ou mais recente. (No entanto, definitivamente não é "silencioso" e só será executado quando alguém estiver logado)

(Gravando a tela por 5 segundos, apenas um possível ponto 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
    
por 18.07.2010 / 08:29
2

Estou usando SOX e VLC para captura, crontab para agendamento, XLD para criar m4a e MP4Box para multiplexação. É bastante flexível, mas requer conhecimento de scripts Bash (talvez também da Apple). Encontrei minha inspiração no script mkmp4 de Diego Massanti.

principais processos a serem lançados:

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

Agendamento de gravações:

crontab -l
0       8       *       *       1-5     ~/capture.sh 3 0 recording-name 1

você pode ter uma ideia do que o script está fazendo: gravar 3h de captura, som mono, todos os dias úteis às 8AM

Eu não encontrei nem compilei SOX habilitado para fluxos de áudio MPEG, portanto, usando FLAC para economizar espaço; Estou usando o XLD para convertê-lo em AAC-HE 16kbps, o que é suficiente para voz.

Próximo passo: multiplex audio and video para criar mp4. Se você não se importa em usar GUI, o MPEG StreamClip (ou QuickTime) também funciona bem.

MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4

Eu estou usando isso diariamente para criar um arquivo do GoToWebinar, mas quando o próximo lançamento do FFmpeg suporta o codec G2M4, eu não vou mais me incomodar. Sim, há também o OSAscript para iniciar o webinar que também exigia a remoção do sinalizador com.apple.quarantine para desativar o aviso (Tem certeza de que deseja abri-lo?).

links:

link

    
por 22.09.2011 / 18:20
1

Você pode usar o software ffmpeg. Para instalá-lo em um Mac, siga as instruções aqui . Então use o 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
    
por 25.10.2012 / 10:34
0

Para a captura de tela, existem várias ferramentas Open Source. Você deve pesquisar "captura de tela" usando um gerenciador de pacotes no Linux. Ferramentas como scrot podem ser chamadas em um script. Se você planeja fazer isso programaticamente, há os pontos de entrada necessários no Imlib2.

Capturar o som está realmente gravando para o dispositivo de som do microfone. Não é realmente um instantâneo e você deve gerenciar quanto tempo a gravação deve ser feita.Qualquer gravador de som fará.

Também há ferramentas que fazem um vídeo da sua área de trabalho.

    
por 17.07.2010 / 23:12
0

Descarregar o conteúdo do dispositivo framebuffer do Linux em um arquivo pode ser algo semelhante ao que você está procurando. Abaixo, citei a parte relevante do Tutorial de programação de dispositivo de framebuffer do Linux 2.2 , dê uma olhada. Você precisará configurar seu sistema para ativar o dispositivo framebuffer (verifique se você tem / dev / fb0 em seu sistema), eu não o tenho no meu Ubuntu 9.04.

When you have got high-res textmodes, then you can start experimenting. You wi ll have a device /dev/fb0 that you can look at like any normal file. To take a screenshot, all you have to do is

cat /dev/fb0 > ~/sshot

And you will have a pretty big file with the contents of your graphics card's memory inside. Now, if you clear the screen, and type

cat ~/sshot > /dev/fb0

You should have a display that looks exactly like before. Of course, the secon d you start typing the display reverts to normal.

    
por 21.07.2010 / 04:56
0

Você pode usar import no ImageMagick, mas é somente no Linux. Então você poderia ir para um terminal e executar:

import screenshot.png
    
por 25.07.2010 / 05:44
0

Também estou usando o Snow Leopard em um macbook antigo e, como estou tentando aprender o Objective C, gasto algum tempo para criar uma ferramenta que possa capturar janelas específicas.

link

É uma ferramenta de linha de comando que captura a janela mais ativa ou qualquer janela que você especificar.

Espero que tenha ajudado.

    
por 03.07.2014 / 14:36