diff --git a/slave/main.py b/slave/main.py index 77d5244..ba17426 100644 --- a/slave/main.py +++ b/slave/main.py @@ -1,33 +1,49 @@ # importing vlc module +from os import listdir +from os.path import isfile, join +from random import randint from time import sleep import paho.mqtt.client as mqtt from video import Video import multiprocessing import sys +from random import randint class App: def __init__(self, client, x, y): self.client = client self.video = Video(x, y) + self.videos = [join("slave/videos", f) for f in listdir("slave/videos") if isfile(join("slave/videos", f))] + print(self.videos) + print(self.videos[randint(0, len(self.videos))]) def on_connect(self, client, userdata, flags, rc): print("Connected with result code "+str(rc)) - self.client.subscribe("video") + self.client.subscribe("slave") def on_message(self, client, userdata, msg): print(msg.topic+" "+str(msg.payload)) - if msg.payload == b'start': - print("Start") - self.x = multiprocessing.Process(target = self.video.start, args=("slave/sample-mp4-file.mp4",)) + if msg.payload == b'idle': + print("Idle") + self.x = multiprocessing.Process(target = self.idle) self.x.start() elif msg.payload == b'stop': print("Stop") self.x.terminate() + + def idle(self): + while True: + #if self.x is not None: + # self.x.terminate() + video = self.videos[randint(0, len(self.videos))] + self.video.start(video) + + def main(): client = mqtt.Client() @@ -35,7 +51,7 @@ def main(): client.on_connect = app.on_connect client.on_message = app.on_message - client.connect("10.173.54.35", 1883, 60) + client.connect("10.1.1.162", 1883, 60) client.loop_forever() diff --git a/slave/sample-mp4-file.mp4 b/slave/sample-mp4-file.mp4 deleted file mode 100644 index 24b738c..0000000 Binary files a/slave/sample-mp4-file.mp4 and /dev/null differ diff --git a/slave/video.py b/slave/video.py index d9f1d30..9209b06 100644 --- a/slave/video.py +++ b/slave/video.py @@ -50,6 +50,7 @@ class Video: # Closes all the frames cv2.destroyAllWindows() + if __name__ == "__main__": video = Video(0, 0) x = multiprocessing.Process(target = video.start, args=("slave/sample-mp4-file.mp4",))