diff --git a/person_detection/app.py b/person_detection/app.py
index 1b1fbde..dec9c21 100644
--- a/person_detection/app.py
+++ b/person_detection/app.py
@@ -25,7 +25,6 @@
 
 def gen(camera):
     """Video streaming generator function."""
-    print("Video streaming generator function.")
     while True:
         frame = camera.get_frame()
         yield (b'--frame\r\n'
@@ -35,9 +34,7 @@
 @app.route('/video_feed')
 def video_feed():
     """Video streaming route. Put this in the src attribute of an img tag."""
-    print("video_feed()", args)
     camera = Camera(args)
-    print("Camera: ", camera)
     return Response(gen(camera),
                     mimetype='multipart/x-mixed-replace; boundary=frame')
 
diff --git a/person_detection/person_detection.py b/person_detection/person_detection.py
index 6f56a6f..4b1611d 100644
--- a/person_detection/person_detection.py
+++ b/person_detection/person_detection.py
@@ -63,20 +63,15 @@
         self.n, self.c, self.h, self.w = net.inputs[self.input_blob].shape
         del net
         if args.input == 'cam':
-            input_stream = 0
+            self.input_stream = 0
         elif args.input == 'gstreamer':
             # gst rtp sink
-            input_stream = 'udpsrc port=5000 caps = " application/x-rtp, encoding-name=JPEG,payload=26" ! rtpjpegdepay ! decodebin ! videoconvert ! appsink'
-            #input_stream = 'udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! appsink'
+            self.input_stream = 'udpsrc port=5000 caps = " application/x-rtp, encoding-name=JPEG,payload=26" ! rtpjpegdepay ! decodebin ! videoconvert ! appsink'
+            #self.input_stream = 'udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! appsink'
         else:
             input_stream = args.input
             assert os.path.isfile(args.input), "Specified input file doesn't exist"
 
-        if input_stream == 'gstreamer':
-            self.cap = cv2.VideoCapture(input_stream, cv2.CAP_GSTREAMER)
-        else:
-            self.cap = cv2.VideoCapture(input_stream)
-
         if args.labels:
             with open(args.labels, 'r') as f:
                 self.labels_map = [x.strip() for x in f]
@@ -92,6 +87,12 @@
         cv2.destroyAllWindows()
 
     def frames(self):
+
+        if self.input_stream == 'gstreamer':
+            self.cap = cv2.VideoCapture(self.input_stream, cv2.CAP_GSTREAMER)
+        else:
+            self.cap = cv2.VideoCapture(self.input_stream)
+
         cur_request_id = 0
         next_request_id = 1
 
