Skip to content

Instantly share code, notes, and snippets.

@JoziGila
Created October 1, 2019 13:53
Show Gist options
  • Save JoziGila/6df2c8826e92d1de854f12f3700aa160 to your computer and use it in GitHub Desktop.
Save JoziGila/6df2c8826e92d1de854f12f3700aa160 to your computer and use it in GitHub Desktop.
import argparse
import pickle
import socket
import struct
import cv2
HOST = None
PORT = 12345
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("-ip", required=True, type=str,
help="Ip of the camera")
args = vars(ap.parse_args())
HOST = args['ip']
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect((HOST, PORT))
data = b""
payload_size = struct.calcsize(">L")
print("payload_size: {}".format(payload_size))
while True:
while len(data) < payload_size:
print("Recv: {}".format(len(data)))
data += socket.recv(4096)
print("Done Recv: {}".format(len(data)))
packed_msg_size = data[:payload_size]
data = data[payload_size:]
msg_size = struct.unpack(">L", packed_msg_size)[0]
print("msg_size: {}".format(msg_size))
while len(data) < msg_size:
data += socket.recv(4096)
frame_data = data[:msg_size]
data = data[msg_size:]
frame=pickle.loads(frame_data, fix_imports=True, encoding="bytes")
frame = cv2.imdecode(frame, cv2.IMREAD_COLOR)
cv2.imshow(HOST, frame)
cv2.waitKey(1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment