diff --git a/client/sbs_client.bat b/client/sbs_client.bat
index d38be5b30d0ce2b8dadd2ba01d1ae49ff8efb71f..4e9b5e56306bf76164c3091487c14c659421011c 100644
--- a/client/sbs_client.bat
+++ b/client/sbs_client.bat
@@ -1,7 +1,8 @@
 @echo off
-rem Using the sh variant through msys(git) or similar linux like environment is recommended
+rem Using the bash variant through msys(git) or similar linux like environment is recommended
+rem For script arguments see sbs_client.sh
 
 :loop
-	%cd%\sbs_client.py %1
+	%cd%\sbs_client.py "%1" %2
 	timeout /t %2
 	goto loop
diff --git a/client/sbs_client.py b/client/sbs_client.py
index e954f238dc348b0a419417a25bc3fcc9430f0db3..9ba2bd4c11afbc934874343db7a26bbe87909004 100755
--- a/client/sbs_client.py
+++ b/client/sbs_client.py
@@ -42,17 +42,17 @@ def sendImage(stopCode = None):
                 raise Exception('Service unavailable')
 
     except Exception as err:
-        logging.error('An error has occurred while sending the file: "{0}", for: {1}'.format(err, stopCode))
+        logError('An error has occurred while sending the file: "{0}", for: {1}'.format(err, stopCode))
 
 # Removing image for security purposes 
 def removeImage():
     try:
         os.remove(TMP_IMAGE)
     except Exception as err:
-        logging.error('An error has occurred while deleting temporary file: "{0}"'.format(err))
+        logError('An error has occurred while deleting temporary file: "{0}"'.format(err))
 
 # Taking a picture from default webcam and saving it
-def takePicture(cameraIndex):
+def takePicture(cameraIndex, model):
     try:
         cap = cv2.VideoCapture(cameraIndex)
         if not cap.isOpened():
@@ -63,7 +63,6 @@ def takePicture(cameraIndex):
             raise Exception('Unable to capture image')
 
         # matching serverside parameters, for comparable results
-        model = cv2.CascadeClassifier(MODEL_PATH)
         faces = model.detectMultiScale(cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY), 1.3, 5)
 
         if len(faces) != 0:
@@ -76,19 +75,28 @@ def takePicture(cameraIndex):
 
         return True
     except Exception as err:
-        logging.error('An error has occurred while preprocessing camera image: "{0}"'.format(err))
+        logError('An error has occurred while preprocessing camera image: "{0}"'.format(err))
         return False
 
+def logError(msg):
+    logging.error('{0}:{1}'.format(datetime.now().strftime("%Y-%m-%d %H:%M:%S"), msg))
+
 def main(argv):
-    if argv != None and (len(argv) <= 1 or not re.match("^[\w\d_-]+$", argv[1])):
+    if argv != None and (len(argv) <= 2 or not re.match("^[\w\d_-]+$", argv[1]) or not re.match("^[\d]+$", argv[2])):
         return False
 
-    if takePicture(0):
-        sendImage(argv[1])
-        removeImage()
+    try:
+        model = cv2.CascadeClassifier(MODEL_PATH)
+        if takePicture(int(argv[2]), model):
+            sendImage(str(argv[1]))
+            removeImage()
+    except Exception as err:
+        logError('Invalid arguments provided for script "{0}"'.format(err))
+        return False
 
     return True
 
 if __name__ == "__main__":
     if not main(sys.argv):
-        print("Stop identifier not provided (missing argument)")
+        print("Stop identifier or video source not provided (missing argument/s)")
+        exit(1)
diff --git a/client/sbs_client.sh b/client/sbs_client.sh
index 50941c1123243cc09b4fde3b7d33c4a4bba9ad0e..cff9b97cfb6f8a29da1f93ba9f83674d37736008 100755
--- a/client/sbs_client.sh
+++ b/client/sbs_client.sh
@@ -1,18 +1,26 @@
 #!/bin/bash
 
-if [ "$#" -ne 2 ]; then
-	echo "Usage: $0 stop_code freq_secs" >&2
+if [ "$#" -ne 3 ]; then
+	echo "Usage: $0 stop_code freq_secs video_source" >&2
+	echo "  stop_code: string identifier for the stop (f.ex. T35)" >&2
+	echo "  freq_secs: in seconds how often the python script is invoked (does not account for ca. 2 seconds of processing time)" >&2
+	echo "  video_source: numeric index of the OpenCV video source" >&2
 	exit 1
 fi
 
-if [ "$2" -lt 3 ]; then
+if [ "$2" -lt 3 ] 2>/dev/null; then
 	echo "freq_secs must be larger than or equal to 3" >&2
 	exit 1
 fi
 
+if [ "$3" -lt 0 ] 2>/dev/null; then
+	echo "video_source must be larger than or equal to 0" >&2
+	exit 1
+fi
+
 while true
 do
-	python "./sbs_client.py" "$1"
+	python "./sbs_client.py" "$1" $3
 	ret=$?
 	if [ $ret -ne 0 ]; then
 		exit 1