diff --git a/ffmpeg.c b/ffmpeg.c
index a1abd30cfed69b304d39a0e83e6885c4fe884efe..2974edd1770c8b56df082b011e00e538af470867 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3985,6 +3985,9 @@ int main(int argc, char **argv)
     /* parse options */
     parse_options(argc, argv, options, opt_output_file);
 
+    if(nb_output_files <= 0 && nb_input_files == 0)
+        show_help();
+
     /* file converter / grab */
     if (nb_output_files <= 0) {
         fprintf(stderr, "At least one output file must be specified\n");
diff --git a/ffplay.c b/ffplay.c
index 5eb5a21165f7a8275f85ce6282c8ce10fdc278a2..39d960a7e4dc84c25d1de72a328d8b87e26fbb14 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -2539,6 +2539,7 @@ int main(int argc, char **argv)
     parse_options(argc, argv, options, opt_input_file);
 
     if (!input_filename) {
+        show_help();
         fprintf(stderr, "An input file must be specified\n");
         exit(1);
     }