|
@@ -1,71 +0,0 @@
|
|
|
-import cv2
|
|
|
-import socket
|
|
|
-import math
|
|
|
-import pickle
|
|
|
-import sys
|
|
|
-import time
|
|
|
-import datetime
|
|
|
-
|
|
|
-#max_length = 65000
|
|
|
-max_length = 65000
|
|
|
-host = "60.250.156.230"
|
|
|
-port = 8000
|
|
|
-
|
|
|
-sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
|
-
|
|
|
-#cap = cv2.VideoCapture('rtsp://admin:admin@192.168.50.182/av2_0')
|
|
|
-#cap = cv2.VideoCapture('rtsp://admin:abcd1234@192.168.51.48/av2_0')
|
|
|
-cap = cv2.VideoCapture('rtsp://admin:abcd1234@169.254.185.181/av2_0')
|
|
|
-#cap = cv2.VideoCapture(0)
|
|
|
-ret, frame = cap.read()
|
|
|
-x = datetime.datetime.now()
|
|
|
-t=x.minute*60+x.second
|
|
|
-y = 0
|
|
|
-print(x)
|
|
|
-print(x.second)
|
|
|
-encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),75]
|
|
|
-while ret and (y-t)!=60:
|
|
|
- # compress frame
|
|
|
- #time.sleep(0.1)
|
|
|
- z = datetime.datetime.now()
|
|
|
- y = z.minute*60+z.second
|
|
|
- frame = cv2.resize(frame, (240,180), interpolation=cv2.INTER_AREA)
|
|
|
- retval, buffer = cv2.imencode(".jpg", frame,encode_param)
|
|
|
-
|
|
|
- if retval:
|
|
|
- # convert to byte array
|
|
|
- buffer = buffer.tobytes()
|
|
|
- # get size of the frame
|
|
|
- buffer_size = len(buffer)
|
|
|
-
|
|
|
- num_of_packs = 1
|
|
|
- if buffer_size > max_length:
|
|
|
- num_of_packs = math.ceil(buffer_size/max_length)
|
|
|
-
|
|
|
- frame_info = {"packs":num_of_packs}
|
|
|
- # send the number of packs to be expected
|
|
|
- print("Number of packs:", num_of_packs)
|
|
|
- sock.sendto(pickle.dumps(frame_info), (host, port))
|
|
|
-
|
|
|
- left = 0
|
|
|
- right = max_length
|
|
|
-
|
|
|
- for i in range(num_of_packs):
|
|
|
- print("left:", left)
|
|
|
- print("right:", right)
|
|
|
-
|
|
|
- # truncate data to send
|
|
|
- data = buffer[left:right]
|
|
|
- left = right
|
|
|
- right += max_length
|
|
|
-
|
|
|
- # send the frames accordingly
|
|
|
- sock.sendto(data, (host, port))
|
|
|
-
|
|
|
- ret, frame = cap.read()
|
|
|
- time.sleep(0.04)
|
|
|
-
|
|
|
-
|
|
|
-print("done")
|
|
|
-x = datetime.datetime.now()
|
|
|
-print(x)
|