ffmpeg 对 h264 文件的编码和解码最低要求配置

ffmpeg 对 h264 文件的编码和解码最低要求配置

我正在尝试编译具有最低要求的 ffmpeg,以便使用 h264 进行编码/解码。

到目前为止我的命令行配置是:

./configure --disable-yasm --disable-everything --enable-encoder=libx264 --enable-encoder=libfaac --enable-decoder=h264 --enable-muxer=h264 --enable-demuxer=h264 --enable-parser=h264 --enable-protocol=file

编译完成后,我尝试这样做:

./ffmpeg -i ~/Dropbox/TestFile.mov -vcodec libx264 test.mp4

但我收到一个错误:

ffmpeg version N-58081-g2925571 Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov 14 2013 15:49:58 with Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
  configuration: --disable-yasm --disable-everything --enable-encoder=libx264 --enable-encoder=libfaac --enable-decoder=h264 --enable-muxer=h264 --enable-demuxer=h264 --enable-parser=h264 --enable-protocol=file
  libavutil      52. 52.100 / 52. 52.100
  libavcodec     55. 43.100 / 55. 43.100
  libavformat    55. 21.100 / 55. 21.100
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 91.100 /  3. 91.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/mGs/Dropbox/TestFile.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2013-06-23 14:33:09
    model           : iPhone 4S
    model-fra       : iPhone 4S
    encoder         : 6.0
    encoder-fra     : 6.0
    date            : 2013-06-23T16:33:09+0200
    date-fra        : 2013-06-23T16:33:09+0200
    make            : Apple
    make-fra        : Apple
  Duration: 00:00:42.09, start: 0.000000, bitrate: 20960 kb/s
    Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20880 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      rotate          : 180
      creation_time   : 2013-06-23 14:33:09
      handler_name    : Core Media Data Handler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, 63 kb/s (default)
    Metadata:
      creation_time   : 2013-06-23 14:33:09
      handler_name    : Core Media Data Handler
[NULL @ 0x7fd999802e00] Unable to find a suitable output format for 'test.mp4'
test.mp4: Invalid argument

这可能是因为我忘记在 ffmpeg 配置上启用某些功能......但我不知道是什么。

测试文件是从iPhone 4S 相机获取的视频。

编辑 :

Enabled decoders:
h264

Enabled encoders:

Enabled hwaccels:

Enabled parsers:
h264

Enabled demuxers:
asf         mov         rm
h264            mpegts          rtsp

Enabled muxers:
ffm         h264

Enabled protocols:
file            rtp         udp
http            tcp

Enabled filters:
aformat         format          trim
anull           null
atrim           setpts

显然它并没有激活编码器 libx264,尽管我已经在命令行中指定了它......

答案1

您正在尝试创建.mp4文件,但您没有mp4启用多路复用器。在配置行中更改--enable-muxer=h264--enable-muxer=mp4,它应该可以工作。

相关内容