unable to find a suitable output format for 'ffmpeg'
Solution 1
These kind of errors are usually caused by unintended leading or trailing arguments in the ffmpeg
command. If you are using a third-party library that acts as a wrapper to ffmpeg
you must check its documentation and output since it may automatically add arguments (like the path to the ffmpeg
binary for example).
In this particular case ffmpeg
is seen as an unknown output. Some incorrect commands that could raise this error include:
ffmpeg -i [input] -o [output] ffmpeg ...
ffmpeg ffmpeg ...
Solution 2
Same error may suggest ffmpeg simply needs to be told what format to output with the -f flag, because it failed to deduce it from the output file extension.
ffmpeg -i audio.xxx -f flac audio.flac
Solution 3
In my case, command was sent to me by email.
In the following parameter, "-c:a", there was not a dash, but a windows character!
Related videos on Youtube

Comments
-
KDeogharkar 10 months
I am using ffmpeg library for android.
I am passing one
ffmpeg
command for convert video format from.mp4
to.avi
ffmpeg -r 20 -i /storage/emulated/0/WisperMedia/WisperVideos/sample.mp4 -b:v 20M /storage/emulated/0/WisperMedia/WisperVideos/output.avi
But I am getting error like
09-23 09:29:41.525: E/Home(31343): FAILED with output : ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers 09-23 09:29:41.525: E/Home(31343): built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC) 09-23 09:29:41.525: E/Home(31343): configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags= 09-23 09:29:41.525: E/Home(31343): libavutil 54. 7.100 / 54. 7.100 09-23 09:29:41.525: E/Home(31343): libavcodec 56. 1.100 / 56. 1.100 09-23 09:29:41.525: E/Home(31343): libavformat 56. 4.101 / 56. 4.101 09-23 09:29:41.525: E/Home(31343): libavdevice 56. 0.100 / 56. 0.100 09-23 09:29:41.525: E/Home(31343): libavfilter 5. 1.100 / 5. 1.100 09-23 09:29:41.525: E/Home(31343): libswscale 3. 0.100 / 3. 0.100 09-23 09:29:41.525: E/Home(31343): libswresample 1. 1.100 / 1. 1.100 09-23 09:29:41.525: E/Home(31343): libpostproc 53. 0.100 / 53. 0.100 09-23 09:29:41.525: E/Home(31343): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/WisperMedia/WisperVideos/sample.mp4': 09-23 09:29:41.525: E/Home(31343): Metadata: 09-23 09:29:41.525: E/Home(31343): major_brand : isom 09-23 09:29:41.525: E/Home(31343): minor_version : 0 09-23 09:29:41.525: E/Home(31343): compatible_brands: isom3gp4 09-23 09:29:41.525: E/Home(31343): creation_time : 2015-09-23 03:50:16 09-23 09:29:41.525: E/Home(31343): Duration: 00:00:01.56, start: 0.000000, bitrate: 14737 kb/s 09-23 09:29:41.525: E/Home(31343): Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 11819 kb/s, SAR 65536:65536 DAR 16:9, 29.79 fps, 29.92 tbr, 90k tbn, 180k tbc (default) 09-23 09:29:41.525: E/Home(31343): Metadata: 09-23 09:29:41.525: E/Home(31343): rotate : 90 09-23 09:29:41.525: E/Home(31343): creation_time : 2015-09-23 03:50:16 09-23 09:29:41.525: E/Home(31343): handler_name : VideoHandle 09-23 09:29:41.525: E/Home(31343): Side data: 09-23 09:29:41.525: E/Home(31343): displaymatrix: rotation of -90.00 degrees 09-23 09:29:41.525: E/Home(31343): Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default) 09-23 09:29:41.525: E/Home(31343): Metadata: 09-23 09:29:41.525: E/Home(31343): creation_time : 2015-09-23 03:50:16 09-23 09:29:41.525: E/Home(31343): handler_name : SoundHandle 09-23 09:29:41.525: E/Home(31343): [NULL @ 0x41f7f420] Unable to find a suitable output format for 'ffmpeg' 09-23 09:29:41.525: E/Home(31343): ffmpeg: Invalid argument
-
aergistal over 7 yearsAre you sure the output corresponds to the posted command? Because the log says it tries to read a PNG file:
/storage/emulated/0/WisperMedia/WisperImages/Zq3vbi3ZY3ML.png
-
aergistal over 7 yearsAre you by any chance passing multiple
ffmpeg
commands at once? This can only happen if you have a trailingffmpeg
on the initial command, ie:ffmpeg -i something -o something ffmpeg ...
-
KDeogharkar over 7 yearsyou saved my life thank you so much @aergistal . your hint is very useful . actually in this ffmpeg library we dont have to add ffmpeg in command . it automatically adding ffmpeg in command so I have to pass command without ffmpeg. thank you . :)
-
-
Bugs Happen over 3 yearsThis was the case for me. I am using
nl.bravobit:android-ffmpeg:1.1.5
library and it was appending ffmpeg automatically.