Existe uma ferramenta de linha de comando disponível para gravar a tela do computador e o dispositivo de áudio e salvá-la em um arquivo?
Existe uma ferramenta de linha de comando disponível para gravar a tela do computador e o dispositivo de áudio e salvá-la em um arquivo?
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 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
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:
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
Agendando gravação:
crontab -l
0 8 * * 1-5 ~/capture.sh 3 0 recording-name 1
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.
MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4
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/
Você pode usar o software ffmpeg. Para instalá-lo em um Mac, siga as instruções aqui . Em seguida, 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
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.
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.
Você pode usar a importação do ImageMagick, mas é apenas o Linux. Então você pode ir para um terminal e executar:
import screenshot.png
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.