回答:
Mac OS Xは、想像力に欠けるユーティリティを使用して、コマンドラインから静的なスクリーンショットをキャプチャする機能を提供しますscreencapture
。を実行すると、詳細情報を見つけることができますman screencapture
。
例えば。 screencapture ~/Desktop/picture.png
Mac OS X 10.6以降を使用している場合、モーションとコンピューターのオーディオの記録に関しては、QuickTime Player Xを使用してAppleScriptでこれを行うことができます。(ただし、それは間違いなく「サイレント」ではなく、誰かがログインしたときにのみ実行されます)
(画面を5秒間記録しますが、これは可能な出発点です)
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
キャプチャにはSOXとVLCを、スケジューリングにはcrontabを、多重化にはm4aとMP4Boxを作成するXLDを使用しています。非常に柔軟ですが、Bashスクリプト(おそらくAppleスクリプト)の知識が必要です。DiegoMassantiのmkmp4スクリプトにインスピレーションを得ました。
起動するコアプロセス:
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
録画のスケジュール:
crontab -l
0 8 * * 1-5 ~/capture.sh 3 0 recording-name 1
スクリプトが何をしているのかを知ることができます:3hキャプチャ、モノラルサウンド、毎日午前8時の記録
MPEGオーディオストリームに対応したSOXが見つかりませんでした。したがって、FLACを使用してスペースを節約しました。XLDを使用して、音声に十分なAAC-HE 16kbpsに変換します。
次のステップ:オーディオとビデオを多重化してmp4を作成します。GUIの使用を気にしないのであれば、MPEG StreamClip(またはQuickTime)も役立ちます。
MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4
私はこれを毎日使ってGoToWebinarのアーカイブを作成していますが、FFmpegの次のリリースがG2M4コーデックをサポートするときには、もう気にしません。はい、ウェビナーを起動するOSAscriptもあります。警告を無効にするにはcom.apple.quarantineフラグを削除する必要があります(本当に開きますか?)。
リンク:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
ソフトウェアffmpegを使用できます。Macにインストールするには、こちらの手順に従ってください。次に、コマンドを使用します。
$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
Linuxフレームバッファデバイスの内容をファイルにダンプすることは、探しているものと似ている場合があります。以下に、Linux 2.2 Framebuffer Device Programming Tutorialの関連部分を引用しました。フレームバッファデバイスを有効にするようにシステムを設定する必要があります(システムに/ dev / fb0があるかどうかを確認してください)。Ubuntu9.04にはありません。
高解像度のテキストモードを取得したら、実験を開始できます。デバイス/ dev / fb0があり、通常のファイルと同じように見ることができます。スクリーンショットを撮るのに必要なことは、
cat / dev / fb0>〜/ sshot
また、グラフィックカードのメモリの内容が入った非常に大きなファイルが作成されます。ここで、画面をクリアして、次のように入力すると
cat〜/ sshot> / dev / fb0
以前とまったく同じように見えるディスプレイが必要です。もちろん、入力を開始した秒は通常に戻ります。
また、老朽化したMacbookでSnow Leopardを実行しています。ObjectiveCを学習しようとしているため、特定のウィンドウをキャプチャできるツールを構築するために時間を費やしています。
https://github.com/vorgos/QuickGrab
これは、最もアクティブなウィンドウまたは指定したウィンドウをキャプチャするコマンドラインツールです。
お役に立てば幸いです。