diff -Naur ffmpeg_wrapper.orig/ffmpeg_wrapper.module ffmpeg_wrapper/ffmpeg_wrapper.module
--- ffmpeg_wrapper.orig/ffmpeg_wrapper.module	2011-10-02 17:45:36.000000000 -0700
+++ ffmpeg_wrapper/ffmpeg_wrapper.module	2011-10-03 20:16:48.861930006 -0700
@@ -596,57 +596,71 @@
       $options[] = "-vhook '". ffmpeg_wrapper_path_to_vhook('watermark.so') ." -f ". $params['ffmpeg_video_wm_file'] ."'";
     }
 
-    // build the audio config
-    if ($params['ffmpeg_audio_advanced']) {
-
-      // use a specifc codec?
-      if ($params['ffmpeg_audio_acodec']) {
-        $options[] =  '-acodec ' . $params['ffmpeg_audio_acodec'];
-      }
-
-      // use a specific sample rate?
-      if ($params['ffmpeg_audio_ar'] ) {
-        $options[] = '-ar ' . $params['ffmpeg_audio_ar'];
-      }
-
-      // use a specific bit rate?
-      if ($params['ffmpeg_audio_ab']) {
-        $options[] = '-ab ' . $params['ffmpeg_audio_ab'];
-      }
+    if ($params['ffmpeg_output_type'] == 'jpg') {
+    // Thumbnail
+      // set one frame
+      $options[] = '-vframes 1';
+      // set codec
+      $options[] = '-vcodec mjpeg -f rawvideo';
+//      // set the frame size
+//      $options[] = '-s '. $size . ' ' . $pad;
+//      // set frame time
+      $options[] = $params['ffmpeg_time_advanced']
+        ? '-ss \''. $params['ffmpeg_time']  .'\' -an'
+        : '-ss \'20\' -an';
     }
-
-    // build the video config
-    if ($params['ffmpeg_video_advanced']) {
-
-      // is codec set?
-      if ($params['ffmpeg_video_vcodec']) {
-        $options[] = '-vcodec ' . $params['ffmpeg_video_vcodec'];
-      }
-
-      // is frame size set?
-      if ($params['ffmpeg_video_size']) {
-        $options[] = '-s ' . $params[$params['ffmpeg_video_size'] == 'other' ? 'ffmpeg_video_size_other' : 'ffmpeg_video_size'];
-      }
-
-      // Is a specific bit rate requested?
-      if ($params['ffmpeg_video_br'] == 'other' && ! empty($configuration['ffmpeg_video_br_other'])) {
-        $options[] = '-b '. $configuration['ffmpeg_video_br_other'];
+    else {
+      // build the audio config
+      if ($params['ffmpeg_audio_advanced']) {
+
+        // use a specifc codec?
+        if ($params['ffmpeg_audio_acodec']) {
+          $options[] =  '-acodec ' . $params['ffmpeg_audio_acodec'];
+        }
+
+        // use a specific sample rate?
+        if ($params['ffmpeg_audio_ar'] ) {
+          $options[] = '-ar ' . $params['ffmpeg_audio_ar'];
+        }
+
+        // use a specific bit rate?
+        if ($params['ffmpeg_audio_ab']) {
+          $options[] = '-ab ' . $params['ffmpeg_audio_ab'];
+        }
+      }
+
+      // build the video config
+      if ($params['ffmpeg_video_advanced']) {
+
+        // is codec set?
+        if ($params['ffmpeg_video_vcodec']) {
+          $options[] = '-vcodec ' . $params['ffmpeg_video_vcodec'];
+        }
+
+        // is frame size set?
+        if ($params['ffmpeg_video_size']) {
+          $options[] = '-s ' . $params[$params['ffmpeg_video_size'] == 'other' ? 'ffmpeg_video_size_other' : 'ffmpeg_video_size'];
+        }
+
+        // Is a specific bit rate requested?
+        if ($params['ffmpeg_video_br'] == 'other' && ! empty($configuration['ffmpeg_video_br_other'])) {
+          $options[] = '-b '. $configuration['ffmpeg_video_br_other'];
+        }
+        else if ($params['ffmpeg_video_br'] && $params['ffmpeg_video_br'] != 'source') {
+          $options[] = '-b ' . $params['ffmpeg_video_br'];
+        }
+
+        // is frame rate set?
+        if ($params['ffmpeg_video_fps']) {
+          $options[] = '-r ' . $params['ffmpeg_video_fps'];
+        }
+      }
+
+      // implement truncating
+      if ($params['ffmpeg_time_advanced']) {
+        $options[] = '-t ' . $params['ffmpeg_time'];
       }
-      else if ($params['ffmpeg_video_br'] && $params['ffmpeg_video_br'] != 'source') {
-        $options[] = '-b ' . $params['ffmpeg_video_br'];
-      }
-
-      // is frame rate set?
-      if ($params['ffmpeg_video_fps']) {
-        $options[] = '-r ' . $params['ffmpeg_video_fps'];
-      }
-    }
-
-    // implement truncating
-    if ($params['ffmpeg_time_advanced']) {
-      $options[] = '-t ' . $params['ffmpeg_time'];
     }
-
     // add the output file
     $options[] = $destination;
   }
diff -Naur ffmpeg_wrapper.orig/ffmpeg_wrapper_ui/ffmpeg_wrapper_ui.module ffmpeg_wrapper/ffmpeg_wrapper_ui/ffmpeg_wrapper_ui.module
--- ffmpeg_wrapper.orig/ffmpeg_wrapper_ui/ffmpeg_wrapper_ui.module	2011-10-02 17:45:14.000000000 -0700
+++ ffmpeg_wrapper/ffmpeg_wrapper_ui/ffmpeg_wrapper_ui.module	2011-10-03 20:14:50.621934915 -0700
@@ -438,7 +438,7 @@
     '#title' => t('Output format'),
     '#options' => _ffmpeg_wrapper_ui_supported_formats(),
     '#default_value' => ! empty($configuration['ffmpeg_output_type']) ? $configuration['ffmpeg_output_type'] : NULL,
-    '#description' => t('Select the output format. Note, some formats may require setting audio or video codecs.'),
+    '#description' => t('Select the output format. Note, some formats may require setting audio or video codecs. (\'jpg\' format creates a thumbnail, using time entry from \'Video length\' for frame position)'),
   );
 
   // ---------------------------------------------
@@ -562,13 +562,12 @@
     '#description' => t('Use this to limit the length of the output video. Useful for making a video teaser'),
     '#default_value' => ! empty($configuration['ffmpeg_time_advanced']) ? $configuration['ffmpeg_time_advanced'] : NULL,
   );
-  $times = array(30 => '30 seconds', 60 => '1 minute', 120 => '2 minutes', 300 => '5 minutes');
   $form['ffmpeg_wrapper']['time']['ffmpeg_time'] = array(
-    '#type' => 'select',
+    '#type' => 'textfield',
     '#title' => t('Video length'),
-    '#options' => $times,
-    '#default_value' => ! empty($configuration['ffmpeg_time']) ? $configuration['ffmpeg_time'] : NULL,
-    '#description' => t("Set the max video length time."),
+    '#default_value' => empty($configuration['ffmpeg_time']) ? '' : $configuration['ffmpeg_time'],
+    '#description' => t("Set the max video length time in seconds. (Also used as frame position for 'jpg' thumbnail)"),
+    '#size' => 12,
   );
 
   // FFmpeg custom command
@@ -962,6 +961,9 @@
       $output[$format['format']] = $format['format'];
     }
   }
+  // If ffmpeg supports mjpeg, add a jpg file type for thumbnail
+  if (isset($output['mjpeg'])) $output['jpg'] = 'jpg';
+  asort($output);
   return $output;
 }
 
