屏幕捕获-命令行?

屏幕捕获-命令行?

是否有一个命令行工具可以记录您的计算机屏幕和音频设备,然后将其保存到文件中?

答案1

Mac OS X 提供了使用 unimaginatively 实用程序从命令行捕获静态屏幕截图的功能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

答案2

我使用 SOX 和 VLC 进行捕获,使用 crontab 进行调度,使用 XLD 创建 m4a,使用 MP4Box 进行多路复用。它非常灵活,但需要了解 Bash 脚本(可能还需要了解 Apple 脚本)我从 Diego Massanti 的 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

你可以了解一下脚本在做什么:每天早上 8 点录制 3 小时,单声道


我没有找到或编译启用 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/

答案3

您可以使用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

答案4

将 Linux 帧缓冲设备的内容转储到文件中可能与您要查找的内容类似。下面,我引用了Linux 2.2 帧缓冲设备编程教程,看一下。您需要配置系统以启用帧缓冲设备(检查系统上是否有 /dev/fb0),我的 Ubuntu 9.04 上没有它。

当你拥有高分辨率文本模式时,你就可以开始尝试了。你将拥有一个设备 /dev/fb0,你可以像查看任何普通文件一样查看它。要截取屏幕截图,你只需

猫/ dev / fb0>〜/ sshot

您将得到一个相当大的文件,其中包含显卡内存的内容。现在,如果您清除屏幕,然后输入

cat ~/sshot > /dev/fb0

您应该看到与之前一模一样的显示。当然,您开始输入后,显示将恢复正常。

相关内容