ffmpeg 命令失败

ffmpeg command failed

我正在尝试使用 FFMPEG 命令将任何视频格式转换为 mp4。

服务器管理员执行我创建的以下命令并显示错误:

ffmpeg -ss 00:03:00  -i  /video/1444107854.mov -c:v libx264 /video/player/1444107854.mp4  -vframes 1 /video/thumb/1444107854.jpg

这是错误:

[aac @ 0x2b845a0] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.

我怎样才能避免这个错误以及实验性编解码器,所以任何人都可以让我知道如果我明确指定什么是最好的编解码器。

我的ffmpeg和服务器如下:

ffmpeg version N-75903-g14573b9 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)

编辑 1: 我稍微更改了命令并添加 -c:a copy 以按原样复制音频流,但仍然没有希望:

新命令:

ffmpeg -ss 00:03:00  -i  /video/1444107854.mov -c:v libx264 -c:a copy /video/player/1444107854.mp4  -vframes 1 /video/thumb/1444107854.jpg

执行此操作后,我得到了一个 23k 大小的文件,显然在日志中它只复制音频流,最终输出中没有添加视频。 它的日志如下:

> ffmpeg version N-75903-g14573b9 Copyright (c) 2000-2015 the FFmpeg
> developers   built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)  
> configuration: --enable-libx264 --enable-gpl   libavutil      55. 
> 3.100 / 55.  3.100   libavcodec     57.  5.100 / 57.  5.100   libavformat    57.  3.100 / 57.  3.100   libavdevice    57.  0.100 /
> 57.  0.100   libavfilter     6. 10.100 /  6. 10.100   libswscale      4.  0.100 /  4.  0.100   libswresample   2.  0.100 /  2.  0.100   libpostproc    54.  0.100 / 54.  0.100 Input #0, mpeg, from
> '/video/1444108714.mpg':  
> Duration: 00:00:02.14, start: 0.184278, bitrate: 15689 kb/s
>     Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], max. 38810 kb/s, 29.97 fps, 29.97 tbr,
> 90k tbn, 59.94 tbc
>     Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s [swscaler @ 0x347fda0] deprecated pixel format used, make sure you did
> set range correctly [libx264 @ 0x34708a0] using SAR=1/1 [libx264 @
> 0x34708a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264
> @ 0x34708a0] profile High, level 4.0 [libx264 @ 0x34708a0] 264 - core
> 148 r2597 e86f3a1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 -
> http://www.videolan.org/x264.html - options: cabac=1 ref=3
> deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00
> mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
> deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=34
> lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0
> bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
> b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
> keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
> mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
> aq=1:1.00 [mp4 @ 0x346f6c0] Codec for stream 1 does not use global
> headers but container format requires global headers [mp4 @ 0x346f6c0]
> track 1: codec frame size is not set Output #0, mp4, to
> '/video/player/1444108714.mp4':  
> Metadata:
>     encoder         : Lavf57.3.100
>     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 30k tbn,
> 29.97 tbc
>     Metadata:
>       encoder         : Lavc57.5.100 libx264
>     Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, 5.1(side), 448 kb/s Output #1, image2, to '/video/thumb/1444108714.jpg':  
> Metadata:
>     encoder         : Lavf57.3.100
>     Stream #1:0: Video: mjpeg, yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
>     Metadata:
>       encoder         : Lavc57.5.100 mjpeg Stream mapping:   Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))   Stream #0:1 -> #0:1 (copy)   Stream #0:0 -> #1:0 (mpeg2video (native) -> mjpeg (native)) Press [q] to stop, [?] for help [mp4 @ 0x346f6c0]
> Non-monotonous DTS in output stream 0:1; previous: 2208, current: 672;
> changing to 2209. This may result in incorrect timestamps in the
> output file. frame=    0 fps=0.0 q=0.0 Lq=0.0 size=      23kB
> time=00:00:00.07 bitrate=2447.5kbits/s video:0kB audio:23kB
> subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
> 3.457839%

编辑 2:

ffmpeg -y -i ./1445675270.m4b -c:v libx264  -crf 20 -preset slow -pix_fmt yuv420p -movflags +faststart -c:a libfdk_aac -b:a 128k  ./player/1445675270.mp4 -vframes 1 ./thumb/1445675270.jpg

以上命令输出如下信息,如有建议,将不胜感激

ffmpeg version git-2015-10-11-49f4967 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
  configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
  libavutil      55.  3.100 / 55.  3.100
  libavcodec     57.  5.100 / 57.  5.100
  libavformat    57.  3.100 / 57.  3.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 11.100 /  6. 11.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.100 /  2.  0.100
  libpostproc    54.  0.100 / 54.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x31e07c0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './1445675270.m4b':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2005-08-01 07:26:16
    tool            : ?
    title           : MAKE_2005-08-01
    artist          : MAKE Magazine
    composer        : MAKE Magazine - Phillip Torrone
    album           : Interview with Janus Wireless
    grouping        : MAKE Magazine enhanced podcast
    genre           : Podcast
    date            : 2005
    comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
  Duration: 00:02:57.54, start: 0.000000, bitrate: 162 kb/s
    Chapter #0:0: start 0.000000, end 17.000000
    Metadata:
      title           : MAKE Magazine @ DEFCON with JANUS
    Chapter #0:1: start 17.000000, end 37.000000
    Metadata:
      title           : Janus
    Chapter #0:2: start 37.000000, end 83.000000
    Metadata:
      title           : Construction
    Chapter #0:3: start 83.000000, end 109.000000
    Metadata:
      title           : The MAKERs
    Chapter #0:4: start 109.000000, end 177.540000
    Metadata:
      title           : Display
    Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 32 kb/s (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
    Stream #0:1(eng): Subtitle: mov_text (text / 0x74786574), 0 kb/s
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
    Stream #0:2(eng): Video: tiff (tiff / 0x66666974), rgb24, 167x166, 126 kb/s, SAR 206:275 DAR 17201:22825, 0.03 fps, 1 tbr, 22050 tbn, 22050 tbc (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
      encoder         : TIFF (Uncompressed)
    Stream #0:3(eng): Subtitle: mov_text (tx3g / 0x67337874), 160x160, 0 kb/s (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
    Stream #0:4: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 167x166 [SAR 1:1 DAR 167:166], 90k tbr, 90k tbn, 90k tbc
[swscaler @ 0x3242360] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x3228c40] width not divisible by 2 (167x166)
Output #0, mp4, to './player/1445675270.mp4':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
    tool            : ?
    title           : MAKE_2005-08-01
    artist          : MAKE Magazine
    composer        : MAKE Magazine - Phillip Torrone
    album           : Interview with Janus Wireless
    grouping        : MAKE Magazine enhanced podcast
    genre           : Podcast
    date            : 2005
    Chapter #0:0: start 0.000000, end 17.000000
    Metadata:
      title           : MAKE Magazine @ DEFCON with JANUS
    Chapter #0:1: start 17.000000, end 37.000000
    Metadata:
      title           : Janus
    Chapter #0:2: start 37.000000, end 83.000000
    Metadata:
      title           : Construction
    Chapter #0:3: start 83.000000, end 109.000000
    Metadata:
      title           : The MAKERs
    Chapter #0:4: start 109.000000, end 177.540000
    Metadata:
      title           : Display
    Stream #0:0(eng): Video: h264, none, q=2-31, 128 kb/s, SAR 206:275 DAR 0:0, 1 fps (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
      encoder         : Lavc57.5.100 libx264
    Stream #0:1(eng): Audio: aac, 0 channels, 128 kb/s (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
      encoder         : Lavc57.5.100 libfdk_aac
Output #1, image2, to './thumb/1445675270.jpg':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
    tool            : ?
    title           : MAKE_2005-08-01
    artist          : MAKE Magazine
    composer        : MAKE Magazine - Phillip Torrone
    album           : Interview with Janus Wireless
    grouping        : MAKE Magazine enhanced podcast
    genre           : Podcast
    date            : 2005
    Chapter #1:0: start 0.000000, end 17.000000
    Metadata:
      title           : MAKE Magazine @ DEFCON with JANUS
    Chapter #1:1: start 17.000000, end 37.000000
    Metadata:
      title           : Janus
    Chapter #1:2: start 37.000000, end 83.000000
    Metadata:
      title           : Construction
    Chapter #1:3: start 83.000000, end 109.000000
    Metadata:
      title           : The MAKERs
    Chapter #1:4: start 109.000000, end 177.540000
    Metadata:
      title           : Display
    Stream #1:0(eng): Video: mjpeg, none, q=2-31, 128 kb/s, SAR 206:275 DAR 0:0, 1 fps (default)
    Metadata:
      creation_time   : 2005-08-01 07:26:16
      handler_name    : ?Apple Alias Data Handler
      encoder         : Lavc57.5.100 mjpeg
Stream mapping:
  Stream #0:2 -> #0:0 (tiff (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))
  Stream #0:2 -> #1:0 (tiff (native) -> mjpeg (native))
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

这里有三个不同的问题。

问题 1:实验性 AAC 编码器

The encoder 'aac' is experimental but experimental codecs are not enabled,
add '-strict -2' if you want to use it.

您有多种选择:

  • 添加 -strict -2 作为消息状态。这将允许您使用本机 FFmpeg AAC 编码器。最近对该编码器进行了改进。

  • 通过重新编译支持 libfdk_aac 使用不同的编码器。这是 ffmpeg 支持的最好的 AAC 编码器。见 FFmpeg Wiki: AAC Encoding.

  • stream copy(重新混合)音频与 -c:a copy 一样,就像您在第二个命令中所做的那样。这仅在输出容器格式支持流复制的音频格式时才有效。

问题 2:空输出

Output file is empty, nothing was encoded
(check -ss / -t / -frames parameters if used)

您试图使用 -ss 00:03:00 跳过前 3 分钟,但您的输入持续时间只有大约 2 秒。

问题 3:打开编码器时出错

Error while opening encoder for output stream #0:0
maybe incorrect parameters such as bit_rate, rate, width or height

这表明输出流 #0:0 存在问题,在本例中,根据控制台输出的结尾,指的是视频流:

Stream mapping:
  Stream #0:2 -> #0:0 (tiff (native) -> h264 (libx264))

当您看到“Error while opening encoder”消息时,值得仔细查看控制台输出,了解与上述流相关的更具体的错误。在这种情况下是:

[libx264 @ 0x3228c40] width not divisible by 2 (167x166)

您需要 scale or crop 视频才能被 2 整除:

-vf scale=-2:ih

或:

-vf crop=iw-1:ih