# -*- coding: UTF-8 -*-import socket, timeimport pygamefrom pygame.locals import *from sys import exit# 服务器地址,初始化socketser_address = ('localhost', 10218)cli_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 设置超时cli_socket.settimeout(5)# 向服务器发送消息,并判断接收时是否超时,若超时则重发while 1:cli_socket.sendto('startCam', ser_address)try:message, address = cli_socket.recvfrom(2048)if message == 'startRcv':print messagebreakexcept socket.timeout:continuecli_socket.recvfrom(65536)# 初始化视频窗口pygame.init()screen = pygame.display.set_mode((640,480))pygame.display.set_caption('Web Camera')pygame.display.flip()# 设置时间,可以用来控制帧率clock = pygame.time.Clock()# 主循环,显示视频信息while 1:try:data, address = cli_socket.recvfrom(65536)except socket.timeout:continuecamshot = pygame.image.frombuffer(data, (160,120), 'RGB')camshot = pygame.transform.scale(camshot, (640, 480))for event in pygame.event.get():if event.type == pygame.QUIT:cli_socket.sendto('quitCam', ser_address)cli_socket.close()pygame.quit()exit()screen.blit(camshot, (0,0))pygame.display.update()clock.tick(20)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。