diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index 0188bcf3a04e67037101068a26e82330ed106f85..d239501056ee841466ef3a61ccc9c9e170e4f93a 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -599,7 +599,11 @@ MediaEncoder::prepareEncoderContext(AVCodec* outputCodec, bool is_video)
 void
 MediaEncoder::forcePresetX264_X265(AVCodecContext* encoderCtx)
 {
+#if (defined(TARGET_OS_IOS) && TARGET_OS_IOS)
+    const char *speedPreset = "ultrafast";
+#else
     const char *speedPreset = "veryfast";
+#endif
     if (av_opt_set(encoderCtx, "preset", speedPreset, AV_OPT_SEARCH_CHILDREN))
         JAMI_WARN("Failed to set x264 preset '%s'", speedPreset);
     const char *tune = "zerolatency";