Alguma razão para isso precisar ser uma ferramenta CLI? Você obtém captura de tela gratuitamente com o QuickTime.
Igorw 17/07/10
Gostaria de chamá-lo em um script shell e fazê-lo sem supervisão.
Olá Keith, bem-vindo ao StackOverlow. Isso não parece à primeira vista relacionado à programação, embora possa realmente ser se você estiver planejando criar um script em um arquivo em lotes ou algo assim. Você pode reformulá-lo para que não fique fechado de imediato.
precisa
Respostas:
9
O Mac OS X oferece a capacidade de capturar capturas de tela estáticas da linha de comando usando um utilitário chamado sem imaginação 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 conectado)
(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
O screencapture permite apenas imagens estáticas, sem gravação de vídeo ou som.
MacLemon 19/07
@ MacLemon: Adicionados alguns esclarecimentos.
Chealion
2
FYI, apenas referência a um post que tem versão melhorada do Quicktime Applescript acima: netjunki.org/blog/...
David
1
O blog que @David mencionado ainda está disponível no cache do Google, e observa: "Parece que quando você tenta salvar em 10.7 o quicktime simplesmente ignora a chamada. Ou algo assim. O script fica lá para sempre e depois expira". Isso é verdade para mim em 10,8…
ptim 16/10
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 script Bash (talvez também script da Apple). Encontrei minha inspiração no script mkmp4 de Diego Massanti.
você pode ter uma idéia do que o script está fazendo: gravar 3h de captura, som mono, todos os dias úteis às 8h
Não encontrei nem compilei o SOX ativado para fluxos de áudio MPEG, portanto, usei o FLAC para economizar espaço; Estou usando o XLD para convertê-lo em AAC-HE 16kbps, o que é suficiente para voz.
Próximo passo: áudio e vídeo multiplexados para criar mp4. Se você não se importa em usar a GUI, o MPEG StreamClip (ou QuickTime) também serve bem.
Estou usando isso diariamente para criar um arquivo do GoToWebinar, mas quando a próxima versão do FFmpeg suportar o codec G2M4, não vou mais me incomodar. Sim, também existe o OSAscript para iniciar o webinar, que também exigiu a remoção do sinalizador com.apple.quarantine para desativar o aviso (Tem certeza de que deseja abri-lo?).
Duvido que funcione no OSX, alsa e x11grab provavelmente só estão disponíveis em compilações linux do ffmpeg.
Adam MW
0
Para captura de tela, existem várias ferramentas de código aberto. Você deve procurar "captura de tela" usando um gerenciador de pacotes no Linux. Ferramentas como scrotpodem ser chamadas em um script. Se você planeja fazer isso programaticamente, há os pontos de entrada necessários no Imlib2.
Capturar som é realmente uma gravação 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.
Despejar o conteúdo do dispositivo framebuffer Linux em um arquivo pode ser algo semelhante ao que você está procurando. Abaixo, citei a parte relevante do Tutorial de programação de dispositivos do Linux 2.2 Framebuffer , dê uma olhada. Você precisará configurar seu sistema para ativar o dispositivo framebuffer (verifique se você possui / dev / fb0 no seu sistema), não o tenho no meu Ubuntu 9.04.
Quando você tiver modos de texto de alta resolução, poderá começar a experimentar. Você terá um dispositivo / dev / fb0 que pode ser parecido com qualquer arquivo normal. Para tirar uma captura de tela, tudo o que você precisa fazer é
cat / dev / fb0> ~ / sshot
E você terá um arquivo muito grande com o conteúdo da memória da sua placa gráfica. Agora, se você limpar a tela e digite
cat ~ / sshot> / dev / fb0
Você deve ter uma tela exatamente igual a antes. Obviamente, o segundo capítulo em que você começa a digitar o visor volta ao normal.
Também estou executando o Snow Leopard em um macbook antigo e, como estou tentando aprender o Objetivo C, passo algum tempo desenvolvendo uma ferramenta que pode capturar janelas específicas.
Respostas:
O Mac OS X oferece a capacidade de capturar capturas de tela estáticas da linha de comando usando um utilitário chamado sem imaginação
screencapture
. Você pode encontrar mais informações executandoman 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 conectado)
(Gravando a tela por 5 segundos, apenas um possível ponto de partida)
fonte
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 script Bash (talvez também script da Apple). Encontrei minha inspiração no script mkmp4 de Diego Massanti.
processos principais a serem lançados:
Agendando gravação:
você pode ter uma idéia do que o script está fazendo: gravar 3h de captura, som mono, todos os dias úteis às 8h
Não encontrei nem compilei o SOX ativado para fluxos de áudio MPEG, portanto, usei o FLAC para economizar espaço; Estou usando o XLD para convertê-lo em AAC-HE 16kbps, o que é suficiente para voz.
Próximo passo: áudio e vídeo multiplexados para criar mp4. Se você não se importa em usar a GUI, o MPEG StreamClip (ou QuickTime) também serve bem.
Estou usando isso diariamente para criar um arquivo do GoToWebinar, mas quando a próxima versão do FFmpeg suportar o codec G2M4, não vou mais me incomodar. Sim, também existe o OSAscript para iniciar o webinar, que também exigiu a remoção do sinalizador com.apple.quarantine para desativar o aviso (Tem certeza de que deseja abri-lo?).
links:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
fonte
Você pode usar o software ffmpeg. Para instalá-lo em um Mac, siga as instruções aqui . Em seguida, use o comando:
fonte
Para captura de tela, existem várias ferramentas de código aberto. Você deve procurar "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 som é realmente uma gravação 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.
fonte
Despejar o conteúdo do dispositivo framebuffer Linux em um arquivo pode ser algo semelhante ao que você está procurando. Abaixo, citei a parte relevante do Tutorial de programação de dispositivos do Linux 2.2 Framebuffer , dê uma olhada. Você precisará configurar seu sistema para ativar o dispositivo framebuffer (verifique se você possui / dev / fb0 no seu sistema), não o tenho no meu Ubuntu 9.04.
fonte
Você pode usar a importação do ImageMagick, mas é apenas o Linux. Então você pode ir para um terminal e executar:
fonte
Também estou executando o Snow Leopard em um macbook antigo e, como estou tentando aprender o Objetivo C, passo algum tempo desenvolvendo uma ferramenta que pode capturar janelas específicas.
https://github.com/vorgos/QuickGrab
É uma ferramenta de linha de comando que captura a janela superior mais ativa ou qualquer janela que você especificar.
Espero que tenha ajudado.
fonte