- Есть ли библиотеки, которые могут быть использованы для записи захвата экрана в Python.
- Может ли это быть кросс-платформенным?
- Можно ли захватить видео? И если бы это было в режиме реального времени?
- Или можно напрямую установить флеш-ролики?
ответ
Я не знаю ни одной библиотеки общего назначения. Я сделал это для Windows и использовал код codeproject.com в DLL, называемый ctypes.
Видеозахват, вероятно, сложнее; Я сделал скриншоты очень быстро, используя тривиальный путь codeproject и получил возможно 8 кадров в секунду. Если этого недостаточно, вам, вероятно, понадобится библиотека, оптимизированная для вашего использования; например tightVNC или CamStudio или что-то в этом роде. CamStudio может экспортировать флеш-память и является OSS.
захвата экрана может быть сделано с PIL thanks to the ImageGrab module
Для создания флэш-роликов, вы можете посмотреть на ming. Я не уверен, что у этого есть такая возможность, но это стоит посмотреть.
Один из способов захвата видео на экране пользователя (конечно же, для X11, не обязательно о Windows) - использовать gstreamer с помощью ximagesrc plugin. Есть привязки Python, доступные here, хотя раньше я не использовал gst-python. Я знаю, Istanbul, приложение для открывания с открытым исходным кодом, использует его - просмотр источника может помочь вам.
Чтобы захватить статические изображения, я использовал 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')
See the GTK docs для получения дополнительной информации.
Надеюсь, что это поможет!
вы можете попробовать это также может быть это URL может помочь вам.
его castro !!! см. пример кода ниже может быть полезным ....
>>> from castro import Castro
>>> c = Castro()
>>> c.start()
>>> # Do something awesome!
>>> c.stop()
Я написал инструмент для захвата экрана в кросс-платформе в wxPython. См. Скачать «GeneralScreenShotWX.py» в подтеме «Приложение для гибкого захвата экрана» под заголовком «WorkingWithImages» @http://wiki.wxpython.org/WorkingWithImages#A_Flexible_Screen_Capture_App.
Он работает с MSW, OS X и одним дистрибутивом Linux и не требует дополнительных пакетов wxPython.
Я думаю, все возможные способы, чтобы Python контролируемых скриншотов покрыты в https://github.com/ponty/pyscreenshot
PIL здорово, но, к сожалению, модуль ImageGrab может быть использован только на Windows, в соответствии с их документами. –