是否有一个命令行工具可以记录您的计算机屏幕和音频设备,然后将其保存到文件中?
答案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
答案4
将 Linux 帧缓冲设备的内容转储到文件中可能与您要查找的内容类似。下面,我引用了Linux 2.2 帧缓冲设备编程教程,看一下。您需要配置系统以启用帧缓冲设备(检查系统上是否有 /dev/fb0),我的 Ubuntu 9.04 上没有它。
当你拥有高分辨率文本模式时,你就可以开始尝试了。你将拥有一个设备 /dev/fb0,你可以像查看任何普通文件一样查看它。要截取屏幕截图,你只需
猫/ dev / fb0>〜/ sshot
您将得到一个相当大的文件,其中包含显卡内存的内容。现在,如果您清除屏幕,然后输入
cat ~/sshot > /dev/fb0
您应该看到与之前一模一样的显示。当然,您开始输入后,显示将恢复正常。