【问题标题】:ffmpeg: Image2 => Error while opening encoderffmpeg:Image2 => 打开编码器时出错
【发布时间】:2012-11-10 14:11:06
【问题描述】:

我收到以下错误 ffmpeg。

为输出流 #0:0 打开编码器时出错 - 可能是比特率、速率、宽度或高度等参数不正确

ffmpeg -f image2 -i %05d.jpg -vcodec libx264 foo.mp4

我很确定我以前使用过这个确切的命令,而且没问题。这是我的终端输出。任何帮助将不胜感激。

$ ffmpeg -f image2 -i %05d.jpg -vcodec libx264 foo.mp4
ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 22 2012 17:59:05 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libfreetype --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
  libavutil      51. 73.101 / 51. 73.101

  libavcodec     54. 59.100 / 54. 59.100

  libavformat    54. 29.104 / 54. 29.104

  libavdevice    54.  2.101 / 54.  2.101

  libavfilter     3. 17.100 /  3. 17.100

  libswscale      2.  1.101 /  2.  1.101

  libswresample   0. 15.100 /  0. 15.100

  libpostproc    52.  0.100 / 52.  0.100

Input #0, image2, from '%05d.jpg':
  Duration: 00:00:04.44, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1201x900 [SAR 1:1 DAR 1201:900], 25 fps, 25 tbr, 25 tbn, 25 tbc
[libx264 @ 0x7fab0881aa00] width not divisible by 2 (1201x900)
Output #0, mp4, to 'foo.mp4':
    Stream #0:0: Video: h264, yuvj420p, 1201x900 [SAR 1:1 DAR 1201:900], q=-1--1, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> libx264)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    对我有用的解决方案是使用

    -vf scale=1920:1080
    

    作为输出视频之前的一个选项,即

    ffmpeg -y -loop 1 -i "input.png" -c:v libx264 -t 5 -pix_fmt yuv420p -vf scale=1920:1080 out.mp4
    

    它会自动正确调整图像大小,但我从未测试过分辨率大于 1920:1080 (TBD) 时会发生什么。

    【讨论】:

      【解决方案2】:

      您必须裁剪输入图像,以便得到的宽度和高度除以 2

      裁剪过滤器: -vf "crop=in_w-1:in_h"

      $ ffmpeg -f image2 -i %05d.jpg -vf "crop=in_w-1:in_h" -vcodec libx264 foo.mp4

      UPD

      我们可以写出通向偶数边的公式

      $ ffmpeg -f image2 -i %05d.jpg -vf "crop=((in_w/2)*2):((in_h/2)*2)" -vcodec libx264 foo.mp4

      【讨论】:

        猜你喜欢
        • 2014-12-02
        • 2015-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-02
        • 2023-04-07
        • 2016-12-21
        • 1970-01-01
        相关资源
        最近更新 更多