diff --git a/recipes/ffmpeg/ffmpeg.patch b/recipes/ffmpeg/ffmpeg.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9719e12c7393139f8d02c1d49c62a9230298e1b9
--- /dev/null
+++ b/recipes/ffmpeg/ffmpeg.patch
@@ -0,0 +1,26 @@
+diff --git a/configure b/configure
+index 7201941..e3b2875 100755
+--- a/configure
++++ b/configure
+@@ -5055,6 +5055,8 @@ case $target_os in
+         ;;
+     minix)
+         ;;
++    redox)
++        ;;
+     none)
+         ;;
+     *)
+diff --git a/ffmpeg.c b/ffmpeg.c
+index 888d19a..aeeb0e5 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -91,7 +91,7 @@
+ 
+ #if HAVE_TERMIOS_H
+ #include <fcntl.h>
+-#include <sys/ioctl.h>
++//#include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <termios.h>
+ #elif HAVE_KBHIT
diff --git a/recipes/ffmpeg/recipe.sh b/recipes/ffmpeg/recipe.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e52f4ab18142de86e6e3e2ce3952cc561340d854
--- /dev/null
+++ b/recipes/ffmpeg/recipe.sh
@@ -0,0 +1,39 @@
+GIT=https://github.com/FFmpeg/FFmpeg
+
+function recipe_update {
+    echo "skipping update"
+    skip=1
+}
+
+function recipe_build {
+    ./configure \
+        --enable-cross-compile \
+        --target-os=redox \
+        --arch=x86_64 \
+        --cross_prefix=x86_64-unknown-redox- \
+        --prefix=/ \
+        --disable-doc \
+        --disable-network \
+        --disable-ffplay \
+        --disable-ffprobe \
+        --disable-ffserver
+    make
+    skip=1
+}
+
+function recipe_test {
+    echo "skipping test"
+    skip=1
+}
+
+function recipe_clean {
+    make clean
+    skip=1
+}
+
+function recipe_stage {
+    dest="$(realpath $1)"
+    make DESTDIR="$dest" install
+    rm -rf "$1"/{include,lib,share}
+    skip=1
+}