使用Python,我需要能够从网络摄像头创建一个http流视频,并从该http源捕获静态图像。 我以为我可以使用VLC播放器来流式传输视频并使用python捕获帧,但如果VLC正在使用网络摄像头,则Python无法使用它来获取静态图像。 这导致我认为我可以使用python来传输视频,我可以使用相同的脚本在需要时抓取静态图像。我将使用http流来使用我们使用的专有软件显示视频,当点击按钮时,抓取静止图像。
请问最好的方法是什么建议吗?
由于
答案 0 :(得分:0)
这取决于网络摄像头托管计算机是Windows还是Linux:
#!/usr/bin/env python
import pygame, sys
import pygame.camera
from pygame.locals import *
pygame.init()
pygame.camera.init()
screen = pygame.display.set_mode((320,240))
cam = pygame.camera.Camera("/dev/video4",(320,240))
cam.start()
while 1:
image = cam.get_image()
screen.blit(image,(0,0))
pygame.display.set_caption(str("TUX PLOT CAM"))
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
我在这里找到了这个片段: (https://www.linuxquestions.org/questions/programming-9/how-to-stream-a-webcam-with-python-905968/)
而且,似乎Windows有一个解决方案: http://videocapture.sourceforge.net/
这是另一个片段(也使用pygame): http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux