class Client: def __init__(self, ip_addr, port): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect((ip_addr, port)) self.vsock = videosocket.videosocket(self.client_socket) self.videofeed = VideoFeed(1, "client", 1) #self.data = StringIO.StringIO() def connect(self): while True: frame = self.videofeed.get_frame() self.vsock.vsend(frame)
class Client: def __init__(self, ip_addr="127.0.0.1"): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect((ip_addr, 6000)) self.vsock = videosocket.videosocket(self.client_socket) self.videofeed = VideoFeed(1, "client", 1) self.data = StringIO() def connect(self): while True: sendFrame = self.videofeed.get_frame() self.vsock.vsend(sendFrame) frame = self.vsock.vreceive() self.videofeed.set_frame(frame, sendFrame)
class Client: def __init__(self, ip_addr = "127.0.0.1"): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect((ip_addr, 6000)) self.vsock = videosocket.videosocket (self.client_socket) self.videofeed = VideoFeed(1,"client",1) self.data = StringIO.StringIO() def connect(self): while True: frame=self.videofeed.get_frame() self.vsock.vsend(frame) frame = self.vsock.vreceive() self.videofeed.set_frame(frame)
class Client: def __init__(self, ip_addr="169.254.162.107"): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect((ip_addr, 6000)) self.vsock = videosocket.videosocket(self.client_socket) self.videofeed = VideoFeed(1, "client", 1) self.data = io.StringIO() def mysend(self): reFrameCnt = 0 fps = 0 tt = 0 while True: reFrameCnt = reFrameCnt + 1 if reFrameCnt % 10 == 0: t1 = time.time() fps = int(10 / (t1 - tt)) tt = t1 print("send fps = ", fps) #print(1111) frame1 = self.videofeed.get_frame() self.vsock.vsend(frame1) def myreceive(self): reFrameCnt = 0 fps = 0 tt = 0 while True: reFrameCnt = reFrameCnt + 1 if reFrameCnt % 10 == 0: t1 = time.time() fps = int(10 / (t1 - tt)) tt = t1 print("receive fps = ", fps) frame = self.vsock.vreceive() my_img = self.videofeed.set_frame(frame) my_img = cv2.resize(my_img, (1280, 960), interpolation=cv2.INTER_AREA) #cv2.putText(my_img, str(fps), (200, 50), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 2) cv2.imshow("aaa", my_img) cv2.waitKey(1) #myqueue.put(my_img) #A = show_img #print(2222) '''
class Client: def __init__(self): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect(("10.3.42.55", 6000)) self.vsock = videosocket.videosocket(self.client_socket) self.videofeed = VideoFeed(1, "client", 1) self.data = StringIO.StringIO() def connect(self): while True: frame = self.videofeed.get_frame() self.vsock.vsend(frame) frame = self.vsock.vreceive() self.videofeed.set_frame(frame) # print "RECIEVED:" , frame """if (data <> 'Q' and data <> 'q'):
class Client: def __init__(self): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect(("127.0.0.1", 6000)) self.vsock = videosocket.videosocket(self.client_socket) self.videofeed = VideoFeed(1, "client", 1) self.data = StringIO.StringIO() def connect(self): while True: frame = self.videofeed.get_frame() self.vsock.vsend(frame) frame = self.vsock.vreceive() self.videofeed.set_frame(frame) # print "RECIEVED:" , frame """if (data <> 'Q' and data <> 'q'):
class Server: def __init__(self): self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.bind(("", 6000)) self.server_socket.listen(5) self.videofeed = VideoFeed(1, "server", 1) print "TCP server waiting for client on port 6000" def start(self): while 1: client_socket, address = self.server_socket.accept() print "I got a connection from " + address vsock = videosocket.videosocket(client_socket) while True: frame = vsock.vreceive() self.videofeed.set_frame(frame) frame = self.videofeed.get_frame() vsock.vsend(frame)
class Server: def __init__(self): self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.bind(("", 6000)) self.server_socket.listen(5) self.videofeed = VideoFeed(1,"server",1) print "TCPServer Waiting for client on port 6000" def start(self): while 1: client_socket, address = self.server_socket.accept() print "I got a connection from ", address vsock = videosocket.videosocket(client_socket) while True: frame=vsock.vreceive() self.videofeed.set_frame(frame) frame=self.videofeed.get_frame() vsock.vsend(frame)
class Client: def __init__(self): self.socket = socket.socket() self.socket.settimeout(5) self.buffer_size = 2048 self.vsock = videosocket.VideoSocket(self.socket) self.is_video_call = False self.videofeed = None def receive(self): while True: if self.is_video_call: if not self.videofeed: self.videofeed = VideoFeed("client_cam", 1) frame = self.videofeed.get_frame() self.vsock.vsend(frame) rcvd_frame = self.vsock.vreceive() self.videofeed.set_frame(rcvd_frame) else: # free up webcam in case not in use if self.videofeed: del self.videofeed msg = self.socket.recv(self.buffer_size) if msg == bytes("VIDEO_CALL_START", ENCODING): self.is_video_call = True elif msg == bytes("VIDEO_CALL_REQUEST", ENCODING): # someone wants to videochat with you self.receive_vcall() else: self.update_gui(msg, False) def send(self, msg=None): if msg is None: msg = msg_box.get() msg_box.delete(0, tk.END) self.socket.send(bytes(msg, ENCODING)) else: self.socket.send(msg) def initiate_video_call(self): self.send(bytes("VIDEO_CALL_START", ENCODING)) usernames = self.socket.recv(self.buffer_size).decode(ENCODING) names = usernames.split("$")[:-1] num_online = len(names) root = tk.Tk() root.geometry("300x%s" %(str((2 + num_online) * 100))) if num_online == 0: l = tk.Label(root, text="No users online, try again later!!", padx=20, pady=10) l.pack() else: l = tk.Label(root, text="Select the person whose face you want to see!!") l.pack() for n in names: b = tk.Button(root, text=n, command=lambda: self.decide_target(root, n)) b.pack() qb = tk.Button(root, text="Quit", command=lambda: self.decide_target(root, None)) qb.pack() root.mainloop() def decide_target(self, root, target): if target: self.send(bytes(target, ENCODING)) else: self.send(bytes("VIDEO_CALL_ABORT", ENCODING)) root.destroy() def update_gui(self, msg, is_sent=False): display_listbox.insert("end", msg.decode(ENCODING)) def receive_vcall(self): # get username of who wants to talk with you from_uname = self.socket.recv(self.buffer_size).decode(ENCODING) root = tk.Tk() root.geometry("300x300") l = tk.Label(root, text="Your beloved %s wants to see your face !!" %(from_uname), padx=20, pady=20) l.pack() b1 = tk.Button(root, text="Accept", command=lambda: self.send_confirmation(root, from_uname, True)) b1.pack() b2 = tk.Button(root, text="Reject", command=lambda: self.send_confirmation(root, from_uname, False)) b2.pack() root.mainloop() def send_confirmation(self, root, accept_from, decision): if decision: msg = bytes("VIDEO_CALL_ACCEPT", ENCODING) else: msg = bytes("VIDEO_CALL_REJECTED", ENCODING) self.send(msg) self.send(bytes(accept_from, ENCODING)) root.destroy()
class Server: def __init__(self): self.server_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM) #create socket object port = 5000 self.server_socket.bind(("", port)) #bind socket to port self.server_socket.listen(0) #enable server to accept connections self.videofeed = VideoFeed("server", 0) #create videofeed object print("Waiting for client on port: %d", port) #display port that the socket is listening on client_socket, address = self.server_socket.accept() print("I got a connection from ", address) #display ip address of connected client self.vsock = videosocket.videosocket( client_socket) #create videosocket object self.p1 = threading.Thread(target=self.display_video) self.p2 = threading.Thread(target=self.vidSend) # self.p1.p1Alive = True def display_video(self): #multiprocessing/threading while (True): frame = self.vsock.vreceive() #receive frame data through socket setFrame = self.videofeed.set_frame(frame) #unmarshal frame data cv.imshow('Server', setFrame) #display on window key = cv.waitKey(1) if key in [27, 81, 113]: #quit when q/esc is pressed print("Exiting program. . . .") cv.destroyAllWindows() # self.p1Alive = False # sys.exit() break def vidSend(self): #multiprocessing while (True): # if(self.p1.p1Alive): frame = self.videofeed.get_frame() #get frame from camera self.vsock.vsend(frame) #send frame data through socket # else: # print("breaking") # break def start(self): # p1 = Process(target = self.display_video) #receive # p2 = Process(target = self.vidSend) #send # p1 = threading.Thread(target = self.display_video) # p2 = threading.Thread(target = self.vidSend) self.p1.start() self.p2.start() self.p1.join() self.p2.join() sys.exit()
class Server: def __init__(self): self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_socket.bind(("", 6000)) self.server_socket.listen(5) self.videofeed = VideoFeed(1, "server", 1) print("TCPServer Waiting for client on port 6000") def keyBoard(self): global out global qflag global wflag global startflag while True: if keyboard.is_pressed('q') and qflag: print("q is pressed") timestr = time.strftime('%Y%m%d-%H%M%S') out = cv2.VideoWriter('testVideo\\' + timestr + '.mp4', fourcc, 20.0, (640, 480)) startflag = True #print("frame count start write: ", +frameCnt) qflag = False if keyboard.is_pressed('w') and wflag: out.release() print("w is pressed") classface = threading.Thread(target=MyClass.my_main, args=( timestr, hahaha, )) classface.start() startflag = False wflag = False if not hahaha.empty(): hahaha.get() qflag = True wflag = True print("finish") def mysend(self, vsock): global out global qflag global wflag global startflag sendCnt = 0 while True: sendCnt = sendCnt + 1 frame1 = self.videofeed.get_frame(sendCnt, startflag) vsock.vsend(frame1) if keyboard.is_pressed('q') and qflag: print("q is pressed") timestr = time.strftime('%Y%m%d-%H%M%S') out = cv2.VideoWriter('testVideo\\' + timestr + '.mp4', fourcc, 30.0, (640, 480)) startflag = True #print("frame count start write: ", +frameCnt) qflag = False if keyboard.is_pressed('w') and wflag: out.release() print("w is pressed") classface = threading.Thread(target=MyClass.my_main, args=( timestr, hahaha, )) classface.start() startflag = False wflag = False if not hahaha.empty(): hahaha.get() qflag = True wflag = True print("finish") #print(1111) def myreceive(self, vsock): while True: #print(2222) frame = vsock.vreceive() self.videofeed.set_frame(frame, startflag, out)