diff --git a/Changelog b/Changelog
index 7372d0d48ca991e822d48ae0df2955993148f520..4242cea3da0cec1dcf2f508b9e96196eb28e5460 100644
--- a/Changelog
+++ b/Changelog
@@ -31,6 +31,7 @@ version next:
 - new option: -progress
 - 3GPP Timed Text decoder
 - GeoTIFF decoder support
+- ffmpeg -(no)stdin option
 
 
 version 0.11:
diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index c9b6514fed65533c65e4b58caff8d83323fda233..904a50589a5c8971a4a98b5d89843539683788c2 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -361,6 +361,14 @@ the encoding process. It is made of "@var{key}=@var{value}" lines. @var{key}
 consists of only alphanumeric characters. The last key of a sequence of
 progress information is always "progress".
 
+@item -stdin
+Enable interaction on standard input. On by default unless standard input is
+used as an input.
+
+Useful, for example, if ffmpeg is in the background process group. Roughly
+the same result can be achieved with @code{ffmpeg ... < /dev/null} but it
+requires a shell.
+
 @item -debug_ts (@emph{global})
 Print timestamp information. It is off by default. This option is
 mostly useful for testing and debugging purposes, and the output
diff --git a/ffmpeg.c b/ffmpeg.c
index 9057fe178ad1672aa56eff6cebd025bd84f2293c..2d12241a0a540d242284e09e00a4144c2b8e36ba 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -5878,6 +5878,8 @@ static const OptionDef options[] = {
       "add timings for each task" },
     { "progress", HAS_ARG | OPT_EXPERT, {(void*)opt_progress},
       "write program-readable progress information", "url" },
+    { "stdin", OPT_BOOL | OPT_EXPERT, {(void*)&stdin_interaction},
+      "enable or disable interaction on standard input" },
     { "timelimit", HAS_ARG, {(void*)opt_timelimit}, "set max runtime in seconds", "limit" },
     { "dump", OPT_BOOL | OPT_EXPERT, {(void*)&do_pkt_dump},
       "dump each input packet" },