diff --git a/flatland/evaluators/aicrowd_helpers.py b/flatland/evaluators/aicrowd_helpers.py
index 2a4458c754b1384da0b0ad61ba034e9d68a2429b..6e300a266b8fb3030b7ef81c6d1f9ebcf6c3a321 100644
--- a/flatland/evaluators/aicrowd_helpers.py
+++ b/flatland/evaluators/aicrowd_helpers.py
@@ -55,7 +55,7 @@ def make_subprocess_call(command, shell=False):
     return result.returncode, stdout, stderr
 
 
-def generate_movie_from_screenshot(frames_folder):
+def generate_movie_from_frames(frames_folder):
     """
         Expects the frames in the  frames_folder folder 
         and then use ffmpeg to generate the video
@@ -66,9 +66,9 @@ def generate_movie_from_screenshot(frames_folder):
     frames_path = os.path.join(frames_folder, "flatland_frame_%04d.png")
     thumb_output_path = os.path.join(frames_folder, "out_thumb.mp4")
     return_code, output, output_err = make_subprocess_call(
-        "/usr/bin/ffmpeg -r 25 -start_number 0 -i " + 
+        "ffmpeg -r 7 -start_number 0 -i " + 
         frames_path + 
-        " -c:v libx264 -vf fps=25 -pix_fmt yuv420p -s 320x240 " + 
+        " -c:v libx264 -vf fps=7 -pix_fmt yuv420p -s 320x320 " + 
         thumb_output_path
     )
     if return_code != 0:
@@ -79,9 +79,9 @@ def generate_movie_from_screenshot(frames_folder):
     frames_path = os.path.join(frames_folder, "flatland_frame_%04d.png")
     output_path = os.path.join(frames_folder, "out.mp4")
     return_code, output, output_err = make_subprocess_call(
-        "/usr/bin/ffmpeg -r 25 -start_number 0 -i " + 
+        "ffmpeg -r 7 -start_number 0 -i " + 
         frames_path + 
-        " -c:v libx264 -vf fps=25 -pix_fmt yuv420p -s 320x240 " + 
+        " -c:v libx264 -vf fps=7 -pix_fmt yuv420p -s 600x600 " + 
         output_path
     )
     if return_code != 0:
diff --git a/flatland/evaluators/service.py b/flatland/evaluators/service.py
index 281b8ef689b853c70abfd3bef3e1f7b23b7b35b8..2853d84c16b9d8fcf1094945745020faf52aefac 100644
--- a/flatland/evaluators/service.py
+++ b/flatland/evaluators/service.py
@@ -375,14 +375,29 @@ class FlatlandRemoteEvaluationService:
                 to operate on all the test environments.
                 """
             )
+        
+        mean_reward = np.mean(self.simulation_rewards)
+        mean_percentage_complete = np.mean(self.simulation_percentage_complete)
+
+        # Generate the video
+        #
+        # Note, if you had depdency issues due to ffmpeg, you can 
+        # install it by : 
+        #
+        # conda install -c conda-forge x264 ffmpeg
+        
+        print("Generating Video from thumbnails...")
+        video_output_path, video_thumb_output_path = \
+            aicrowd_helpers.generate_movie_from_frames(
+                self.vizualization_folder_name
+            )
+        print("Videos : ", video_output_path, video_thumb_output_path)
 
         _command_response = {}
         _command_response['type'] = messages.FLATLAND_RL.ENV_SUBMIT_RESPONSE
         _payload = {}
-        _payload['mean_reward'] = np.mean(self.simulation_rewards)
-        _payload['mean_percentage_complete'] = \
-            np.mean(self.simulation_percentage_complete)
-        
+        _payload['mean_reward'] = mean_reward
+        _payload['mean_percentage_complete'] = mean_percentage_complete
         _command_response['payload'] = _payload
         self.send_response(_command_response, command)