Вам следует взглянуть на Gstreamer и его привязки к Python. Здесь http://pygstdocs.berlios.de/pygst-tutorial/webcam-viewer.html - это пример кода для отображения видео с веб-камеры. Для записи видео вам нужно будет изменить определение конвейера с autovideosink
на кодировщик и fileink.
Вы можете посмотреть на WebCamsPy, который, похоже, делает то, о чем вы спрашиваете.
Также смотрите смежный вопрос, который задается более широко для windows и Linux, но все же может помочь вам.
OpenCV - это самая простая вещь, которую я когда-либо видел. Взгляните на этот пост: http://www.jperla.com/blog/2007/09/26/capturing-frames-from-a-webcam-on-linux/
Вы можете $ sudo apt-get install python -opencv
(я полагаю), а также pygame и PIL, если вы их еще не установили. Когда у вас есть эти библиотеки, вы можете начать просмотр / сохранение изображений - технически, если вы просто хотите сделать снимок, вам не нужно использовать pygame, но он позволяет вам также просматривать изображения. С технической точки зрения, основная часть работы выполняется с помощью PIL и opencv, поэтому вы можете использовать любой тип графической структуры (gtk, tk, wx, qt и т. Д.), С которой вы знакомы.
Я пытался сделать что-то вроде этого со своим, и я прошел ускоренный курс по PIL, и на самом деле это довольно простая библиотека, хотя я думаю, что я действительно нужно включить numpy для обработки в этот микс ...
В любом случае, opencv + PIL == супер просто.
есть библиотека open-cv. Попробуй это. Он также имеет множество функций для обработки изображений.
Если у вас есть любимая библиотека C для захвата видео, вы, вероятно, сможете написать простой фасад, используя модуль ctypes.