我的总体目标是将计算机屏幕流式传输到同一本地网络上的另一台计算机。
我知道之前已经询问过使用python截取osx,特别是here,但我对那里的答案不满意。也就是说,它们太慢了。使用我的Retina Mac,我最多只有7fps。我目前正在捕捉这样的截图
def capture(path):
_, displays, count = CG.CGGetActiveDisplayList(1, None, None)
url = NSURL.fileURLWithPath_(path)
dest = Quartz.CGImageDestinationCreateWithURL(
url, LaunchServices.kUTTypeJPEG, 1, None)
properties = {
Quartz.kCGImagePropertyDPIWidth: 72,
Quartz.kCGImagePropertyDPIHeight: 72,
}
image = CG.CGDisplayCreateImage(displays[0])
Quartz.CGImageDestinationAddImage(dest, image, properties)
Quartz.CGImageDestinationFinalize(dest)
使用Quartz以72 dpi捕获屏幕截图并将其保存到文件中。然后,我通过Python套接字发送图像数据。
我的主要问题是,是否有任何明显的地方可以加快这个过程?我的主要两个加速想法是