diff --git a/configure.ac b/configure.ac
index 0eb26518b331cfef48e3132187ae627455bda91b..c558fc93bb12afd85021daee8cdfc88b71c6f6b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -425,16 +425,29 @@ AS_IF([test "x$with_restcpp" = "xyes"], [
 );
 
 dnl Check for libav
-PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.58.100,, AC_MSG_ERROR([Missing libavutil development files]))
+AS_IF([test "${SYS}" = "darwin"], [
+    PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.58.100,, AC_MSG_ERROR([Missing libavutil development files]))
 
-PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.89.100,, AC_MSG_ERROR([Missing libavcodec development files]))
-LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS"
+    PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.89.100,, AC_MSG_ERROR([Missing libavcodec development files]))
+    LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS"
 
-PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.71.100,, AC_MSG_ERROR([Missing libavformat development files]))
+    PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.71.100,, AC_MSG_ERROR([Missing libavformat development files]))
 
-PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.6.100,, AC_MSG_ERROR([Missing libavdevice development files]))
+    PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.6.100,, AC_MSG_ERROR([Missing libavdevice development files]))
 
-PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.6.100,, AC_MSG_ERROR([Missing libswscale development files]))
+    PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.6.100,, AC_MSG_ERROR([Missing libswscale development files]))
+],[
+    PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.75.100,, AC_MSG_ERROR([Missing libavutil development files]))
+
+    PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.106.101,, AC_MSG_ERROR([Missing libavcodec development files]))
+    LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS"
+
+    PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.81.100,, AC_MSG_ERROR([Missing libavformat development files]))
+
+    PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.8.101,, AC_MSG_ERROR([Missing libavdevice development files]))
+
+    PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.7.103,, AC_MSG_ERROR([Missing libswscale development files]))
+]);
 
 dnl Video is default-enabled
 AC_ARG_ENABLE([video], AS_HELP_STRING([--disable-video], [Disable video]))
diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index cf657a96c7d4ab098890fd2b5432b2d5ac0a2c56..99b0c9dfea1f425613c62c4f0819b45af4a793f8 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -1,9 +1,13 @@
+ifndef HAVE_MACOSX
+FFMPEG_HASH := 18516d3e695980525bd9758dc7b8a8e36cd3f09e
+else
 FFMPEG_HASH := n3.3.3
+endif
 FFMPEG_URL := https://git.ffmpeg.org/gitweb/ffmpeg.git/snapshot/$(FFMPEG_HASH).tar.gz
 
 PKGS+=ffmpeg
 
-ifeq ($(call need_pkg,"libavutil >= 55.58.100 libavcodec >= 57.89.100 libavformat >= 57.71.100 libavdevice >= 57.6.100 libswscale >= 4.6.100"),)
+ifeq ($(call need_pkg,"libavutil >= 55.75.100 libavcodec >= 57.106.101 libavformat >= 57.82.100 libavdevice >= 57.8.101 libswscale >= 4.7.103"),)
 PKGS_FOUND += ffmpeg
 endif
 
@@ -20,8 +24,7 @@ FFMPEGCONF += \
 	--enable-gpl \
 	--enable-swscale \
 	--enable-protocols \
-	--disable-programs \
-	--disable-sdl
+	--disable-programs
 
 #enable muxers/demuxers
 FFMPEGCONF += \
@@ -137,6 +140,7 @@ endif
 
 ifdef HAVE_MACOSX
 FFMPEGCONF += \
+	--disable-sdl \
 	--enable-indev=avfoundation \
 	--enable-videotoolbox \
 	--enable-hwaccel=h263_videotoolbox \
@@ -149,8 +153,7 @@ FFMPEGCONF += \
 	--target-os=darwin \
 	--enable-cross-compile \
 	--arch=$(ARCH) \
-	--enable-pic \
-	--enable-indev=avfoundation
+	--enable-pic
 endif
 
 ifndef HAVE_IOS