使用 Python,我需要能够从网络摄像头创建一个 http 流视频并从该 http 源捕获静态图像。我以为我可以使用 VLC 播放器流式传输视频并使用 python 捕获一帧,但如果 VLC 正在使用网络摄像头,Python 无法使用它来获取静止图像。这导致我认为我可以使用 python 流式传输视频,并且我可以在需要时使用相同的脚本来获取静止图像。我将使用我们使用的专有软件使用http流显示视频,单击按钮时抓取静止图像。
请就最好的方法提出任何建议吗?
谢谢
这取决于网络摄像头主机是 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