Одним из способов захвата видео с экрана пользователя (конечно, для X11, не уверенного в Windows) является использование gstreamer с плагином ximagesrc . Доступны привязки Python здесь , хотя я раньше не использовал gst-python. Я знаю, Стамбул , приложение для создания скринкастинга с открытым исходным кодом, использует его - просмотр его источника может вам помочь.
Для захвата статических изображений я ранее использовал PyGTK в Linux для захвата экрана пользователя. Это также должно работать на Windows и Mac, хотя я не пробовал. Вот небольшой фрагмент:
import gtk
win = gtk.gdk.get_root_window()
width, height = win.get_size()
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height)
pb = pb.get_from_drawable(window, window.get_colormap(), 0, 0, 0, 0, width, height)
pb.save('path to file', 'png')
См. Документацию GTK для получения дополнительной информации.
Надеюсь, это поможет!