From aa11baa5107f9d077280bc35c7ffccc2442c2045 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sun, 20 May 2018 16:47:42 +0200 Subject: wooooo streaming files over a series of sockets!! --- rpc/rpc.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'rpc') diff --git a/rpc/rpc.py b/rpc/rpc.py index b6a67cc..ee40a0b 100644 --- a/rpc/rpc.py +++ b/rpc/rpc.py @@ -3,6 +3,9 @@ import os import zerorpc import gevent import time +from io import BytesIO +import base64 +from PIL import Image load_dotenv(find_dotenv()) @@ -30,13 +33,36 @@ class CortexRPC(object): print("RPC connected...".format(val)) except zerorpc.TimeoutExpired: print("RPC timeout :(") - # return val - print("defer sending a file...") - gevent.sleep(1) - return self.get_last_frame() + return val + # print("defer sending a file...") + # gevent.sleep(1) + # return self.get_last_frame() def get_last_frame(self): - self.send_frame("test.png", '01234567' * 8 * 8 * 8 * 8 * 2) + # self.send_frame("test.png", '01234567' * 8 * 8 * 8 * 8 * 2) + from os import listdir + from os.path import isfile, join + path = '/Users/user/Desktop/woods_videos/test_clahe_brightness_posterize_256/' + onlyfiles = sorted([f for f in listdir(path) if isfile(join(path, f))]) + + # im = Image.open(join(path, onlyfiles[0])) + # for f in onlyfiles: + # gevent.sleep(1/29) + # output = BytesIO() + # im.save(output, format="JPEG") + # frame = base64.b64encode(output.getvalue()) + # output.close() + # self.send_frame(f, frame) + + for f in onlyfiles: + gevent.sleep(1/30) + output = BytesIO() + im = Image.open(join(path, f)) + im = im.convert('RGB') + im.save(output, format="JPEG") + frame = output.getvalue() + output.close() + self.send_frame(f.replace('png', 'jpg'), frame) return "ok" def send_param(self, key, value): @@ -53,7 +79,7 @@ class CortexRPC(object): def send_frame(self, fn, frame): if self.relay is not None: - print("Sending a frame...") + # print("Send frame " + fn) self.relay.send_frame(fn, frame) else: print("Can't send frame, relay not ready...") -- cgit v1.2.3-70-g09d2