diff --git a/src/org/jitsi/impl/neomedia/codec/video/h264/JNIEncoder.java b/src/org/jitsi/impl/neomedia/codec/video/h264/JNIEncoder.java
index 47e627d99da58983993b83ed791e54634612f0d7..9d02458f4369ed43a90368cdaf78d1ddea11fd42 100644
--- a/src/org/jitsi/impl/neomedia/codec/video/h264/JNIEncoder.java
+++ b/src/org/jitsi/impl/neomedia/codec/video/h264/JNIEncoder.java
@@ -63,6 +63,36 @@ public class JNIEncoder
         = "net.java.sip.communicator.impl.neomedia.codec.video.h264."
             + "defaultProfile";
 
+    /**
+     * A preset is a collection of options that will provide a certain encoding
+     * speed to compression ratio. A slower preset will provide
+     * better compression (compression is quality per size).
+     */
+    public static final String PRESET_PNAME
+        = "org.jitsi.impl.neomedia.codec.video.h264.preset";
+
+    /**
+     * The available presets we can use with the encoder.
+     */
+    public static final String[] AVAILABLE_PRESETS =
+    {
+        "ultrafast",
+        "superfast",
+        "veryfast",
+        "faster",
+        "fast",
+        "medium",
+        "slow",
+        "slower",
+        "veryslow"
+    };
+
+    /**
+     * The default value of the {@link #PRESET_PNAME}
+     * <tt>ConfigurationService</tt> property.
+     */
+    public static final String DEFAULT_PRESET = AVAILABLE_PRESETS[0];
+
     /**
      * Key frame every 150 frames.
      */
@@ -489,6 +519,11 @@ else if("h264.profile".equals(k))
             logger.warn("The FFmpeg JNI library is out-of-date.");
         }
 
+        String preset
+            = (cfg == null)
+                ? null
+                : cfg.getString(PRESET_PNAME, DEFAULT_PRESET);
+
         if (FFmpeg.avcodec_open2(
                     avctx,
                     avcodec,
@@ -503,7 +538,7 @@ else if("h264.profile".equals(k))
                     //"crf" /* constant quality mode, constant ratefactor */, "0",
                     "intra-refresh", "1",
                     "partitions", "b8x8,i4x4,p8x8",
-                    "preset", "ultrafast",
+                    "preset", preset,
                     "thread_type", "slice",
                     "tune", "zerolatency")
                 < 0)