在Mac上直接录制屏幕

时间:2011-11-16 23:52:46

标签: objective-c macos cocoa

好的,所以我想直接将Mac的屏幕录制到.mov或.m4v。我已经看过Apple的Son of Grab,但我不想处理截图和单个图像,只是处理视频。

我认为在QTKit中应该有一些东西,但我找不到它。我知道这可以在OpenGL中完成,但1)我不知道如何和2)我想尽可能避免这种情况。

只是详细说明,我正在使用QTCaptureDeviceInput和(显然是QTDevice)从iSight录制,因为我需要解决方案来处理Snow Leopard。

似乎应该有一种方法可以将屏幕定位为QTMediaTypeVideo的输入设备。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

您可以使用AVFoundation在Mac上进行屏幕录制。它仅在10.7上可用。

答案 1 :(得分:1)

您可以使用CGDisplayCreateImage / CGDisplayCreateImageFromRect API(10.6+)获取屏幕的静止图像,然后从中制作电影。

我不确定表现会有多好。

答案 2 :(得分:1)

我发现在面对这个问题时,它是否足够快,只需试一试即可。快速测试一帧接一帧,然后计时1000次。 CGDisplayCreateImageFromRect根本不难调用。当点击鼠标时,我已经将它调用为整个屏幕的单屏幕截图,并且它几乎没有减慢我的mac(仅基本的双核机器)。

Apple有两个样本显示了可以做到的两种主要方式: -

ScreenSnapshot SonOfGrab

很容易修改这些来循环说1000次!