Esiste uno strumento da riga di comando in grado di registrare lo schermo del computer e il dispositivo audio e salvarlo in un file?
Esiste uno strumento da riga di comando in grado di registrare lo schermo del computer e il dispositivo audio e salvarlo in un file?
Risposte:
Mac OS X offre la possibilità di acquisire schermate statiche dalla riga di comando utilizzando un'utilità chiamata in modo privo di fantasia screencapture
. Puoi trovare ulteriori informazioni eseguendo man screencapture
.
per esempio. screencapture ~/Desktop/picture.png
Per quanto riguarda la registrazione di movimento e audio del computer, puoi farlo tramite AppleScript utilizzando QuickTime Player X se stai utilizzando Mac OS X 10.6 o versioni successive. (Tuttavia non è sicuramente "silenzioso" e funzionerà solo quando qualcuno è loggato)
(Registrazione dello schermo per 5 secondi, solo un possibile punto di partenza)
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
Sto usando SOX e VLC per l'acquisizione, crontab per la pianificazione, XLD per creare m4a e MP4Box per il multiplexing. È abbastanza flessibile, ma richiede la conoscenza degli script di Bash (forse anche di Apple). Ho trovato la mia ispirazione nello script mkmp4 di Diego Massanti.
processi fondamentali per l'avvio:
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
Pianificazione della registrazione:
crontab -l
0 8 * * 1-5 ~/capture.sh 3 0 recording-name 1
puoi farti un'idea di cosa sta facendo la sceneggiatura: registra 3 ore di acquisizione, suono mono, ogni giorno lavorativo alle 8:00
Non ho trovato né compilato SOX abilitato per i flussi audio MPEG, quindi utilizzando FLAC per risparmiare spazio; Sto usando XLD per convertirlo in AAC-HE 16kbps, che è abbastanza per la voce.
Passaggio successivo: audio e video multiplex per creare mp4. Se non ti dispiace usare la GUI, allora MPEG StreamClip (o QuickTime) funziona anche bene.
MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4
Lo sto usando quotidianamente per creare l'archivio di GoToWebinar, ma quando la prossima versione di FFmpeg supporta il codec G2M4, non mi preoccuperò più. Sì, c'è anche OSAscript per avviare il webinar che ha richiesto anche di eliminare il flag com.apple.quarantine per disabilitare l'avviso (Sei sicuro di voler aprirlo?).
links:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
È possibile utilizzare il software ffmpeg. Per installarlo su un Mac, segui le istruzioni qui . Quindi utilizzare il 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
Per catturare lo schermo, ci sono diversi strumenti Open Source. Dovresti cercare "screen capture" usando un gestore di pacchetti su Linux. Strumenti come scrot
possono essere richiamati in uno script. Se hai intenzione di farlo programmaticamente, ci sono i punti di ingresso necessari in Imlib2.
Catturare il suono è davvero la registrazione per il dispositivo audio del microfono. Non è in realtà un'istantanea e dovresti gestire per quanto tempo dovrebbe essere eseguita la registrazione. Farà qualsiasi registratore di suoni.
Ci sono anche strumenti che rendono un video del tuo desktop.
Scaricare il contenuto del dispositivo framebuffer Linux in un file può essere qualcosa di simile a quello che stai cercando. Di seguito, ho citato la parte pertinente del Tutorial di programmazione del dispositivo Framebuffer Linux 2.2 , dai un'occhiata. Dovrai configurare il tuo sistema per abilitare il dispositivo framebuffer (controlla se hai / dev / fb0 sul tuo sistema), non ce l'ho sul mio Ubuntu 9.04.
Quando hai modalità di testo ad alta risoluzione, puoi iniziare a sperimentare. Avrai un dispositivo / dev / fb0 che puoi guardare come un normale file. Per fare uno screenshot, tutto ciò che devi fare è
cat / dev / fb0> ~ / sshot
E avrai un file abbastanza grande con il contenuto della memoria della scheda grafica all'interno. Ora, se si cancella lo schermo e si digita
cat ~ / sshot> / dev / fb0
Dovresti avere un display esattamente come prima. Naturalmente, la seconda parte in cui si inizia a digitare il display ritorna normale.
Puoi usare l' importazione da ImageMagick, ma è solo Linux. Quindi potresti andare su un terminale ed eseguire:
import screenshot.png
Sto anche eseguendo Snow Leopard su un vecchio macbook e poiché sto cercando di imparare l'obiettivo C, passo un po 'di tempo a costruire uno strumento in grado di catturare finestre specifiche.
https://github.com/vorgos/QuickGrab
È uno strumento da riga di comando che acquisirà la finestra più attiva in alto o qualsiasi finestra specificata.
Spero che abbia aiutato.