Как я могу захватывать кадры iSight с помощью Python в Snow Leopard?

У меня есть следующий скрипт PyObjC:

from Foundation import NSObject
import QTKit
error = None
capture_session = QTKit.QTCaptureSession.alloc().init()
print 'capture_session', capture_session
device = QTKit.QTCaptureDevice.defaultInputDeviceWithMediaType_(QTKit.QTMediaTypeVideo)
print 'device', device, type(device)
success = device.open_(error)
print 'device open success', success, error
if not success:
    raise Exception(error)
capture_device_input = QTKit.QTCaptureDeviceInput.alloc().initWithDevice_(device)
print 'capture_device_input', capture_device_input, capture_device_input.device()
success = capture_session.addInput_error_(capture_device_input, error)
print 'session add input success', success, error
if not success:
    raise Exception(error)
capture_decompressed_video_output = QTKit.QTCaptureDecompressedVideoOutput.alloc().init()
print 'capture_decompressed_video_output', capture_decompressed_video_output
class Delegate(NSObject):
    def captureOutput_didOutputVideoFrame_withSampleBuffer_fromConnection_(self, captureOutput, videoFrame, sampleBuffer, connection):
        print videoFrame, sampleBuffer, connection
delegate = Delegate.alloc().init()
print 'delegate', delegate
capture_decompressed_video_output.setDelegate_(delegate)
print 'output delegate:', capture_decompressed_video_output.delegate()
success = capture_session.addOutput_error_(capture_decompressed_video_output, error)
print 'capture session add output success', success, error
if not success:
    raise Exception(error)
print 'about to run session', capture_session, 'with inputs', capture_session.inputs(), 'and outputs', capture_session.outputs()
capture_session.startRunning()
print 'capture session is running?', capture_session.isRunning()
import time
time.sleep(10)

Программа не сообщает об ошибках, но iSight 'Зеленый свет никогда не активируется и делегатОбратный вызов захвата кадра никогда не вызывается. Вот's вывод я получаю:

$ python prueba.py 
capture_session 
device Built-in iSight 
device open success (True, None) None
capture_device_input  Built-in iSight
session add input success (True, None) None
capture_decompressed_video_output 
delegate 
output delegate: 
capture session add output success (True, None) None
about to run session  with inputs (
    ""
) and outputs (
    ""
)
capture session is running? True

PS: Пожалуйста, неЯ должен попробовать PySight, но я выигралне работает, потому что Xcode не можетскомпилировать CocoaSequenceGrabber в 64-битной.

Ответы на вопрос(2)

Ваш ответ на вопрос