FFmpeg - Requested output format 'mpeg' is not a suitable output format

Jon G picture Jon G · May 14, 2015 · Viewed 10.7k times · Source

I am trying to use FFmpeg to convert a video from mp4 format to an mpeg, so that I can merge multiple videos. I have a custom build of FFmpeg where I control the configuration options:

ffmpeg -y -i VID_20150514_171122_12085.mp4 -an -f mpeg VID_20150514_184208.mp4.0.mpg
ffmpeg version git-2015-02-25-b0d3322 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (GCC)
  configuration: --arch=arm --cpu=cortex-a8 --target-os=linux --enable-runtime-cpudetect --enable-pic --disable-shared --enable-static --cross-prefix=/home/jon/Development/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --enable-cross-compile --sysroot=/home/jon/Development/android-ndk-r10d/platforms/android-9/arch-arm/ --extra-cflags='-I../x264 -mfloat-abi=softfp -mfpu=neon -fPIE -pie' --extra-ldflags='-L../x264 -fPIE -pie' --enable-version3 --enable-gpl --disable-doc --enable-yasm --disable-everything --enable-decoder=mpeg --enable-decoder=mpeg4 --enable-decoder=aac --enable-decoder=h264 --enable-decoder=libx264 --enable-encoder=libx264 --enable-decoder=mpegvideo --enable-decoder=mpeg1video --enable-decoder=mpeg2video --enable-encoder=mpeg --enable-encoder=mpeg4 --enable-encoder=aac --enable-encoder=h264 --enable-encoder=mpeg1video --enable-encoder=mpeg2video --enable-parser=aac --enable-parser=mpeg4video --enable-parser=ac3 --enable-parser=h261 --enable-parser=h264 --enable-parser=vc1 --enable-demuxer=mpegvideo --enable-demuxer=aac --enable-demuxer=m4v --enable-demuxer=mov --enable-demuxer=h264 --enable-demuxer=vc1 --enable-muxer=h264 --enable-muxer=mpeg2video --enable-muxer=mp4 --enable-muxer=mov --enable-protocols --enable-indev=v4l --enable-indev=v4l2 --enable-filter=aresample --enable-filter=scale --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-symver --enable-network --enable-libx264 --enable-zlib --enable-muxer=md5
  libavutil      54. 19.100 / 54. 19.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 23.105 / 56. 23.105
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.101 /  5. 11.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20150514_171122_12085.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.23.105
  Duration: 00:00:09.79, start: 0.773229, bitrate: 2013 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2005 kb/s, 30.35 fps, 30.35 tbr, 18k tbn, 60.71 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[NULL @ 0xb7520490] Requested output format 'mpeg' is not a suitable output format
VID_20150514_184208.mp4.0.mpg: Invalid argument

But I keep getting an error saying "Requested output format 'mpeg' is not a suitable output format". The same command seems to work on my Ubuntu machine with a full build of FFmpeg. What am I missing? I thought I had all the mpeg encoders/decoders enabled ... mpeg, mpegvideo, mpeg1video, mpeg2video.

Answer

llogan picture llogan · May 14, 2015

Probably the result of using --disable-everything and then not enabling the proper options. I see this often when this option is used, and It will take some trial and error to get everything you need after using this option.

Try adding --enable-muxer=mpeg.