FFmpeg - 请求的输出格式“mpeg”不是合适的输出格式

时间:2015-05-14 17:54:52

标签: video ffmpeg codec file-conversion mpeg

我正在尝试使用FFmpeg将视频从mp4格式转换为mpeg,这样我就可以合并多个视频。我有一个FFmpeg的自定义版本,我控制配置选项:

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

但我一直收到错误提示“请求输出格式'mpeg'不是合适的输出格式”。同样的命令似乎可以在我的Ubuntu机器上使用FFmpeg的完整版本。我错过了什么?我以为我已经启用了所有mpeg编码器/解码器...... mpeg,mpegvideo,mpeg1video,mpeg2video。

1 个答案:

答案 0 :(得分:3)

可能是使用--disable-everything然后没有启用正确选项的结果。我经常在使用此选项时看到这一点,使用此选项后需要一些试验和错误才能获得所需的一切。

尝试添加--enable-muxer=mpeg