2

继承人的命令:

ffmpeg -i videos/test.mp4 -c:v libvpx -level 216 -profile 0 -qmax 42 -qmin 10 -c:a libvorbis -f webm out.webm

我不断收到此错误:

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

这是完整的回复

# ffmpeg -i videos/test.mp4 -c:v libvpx -level 216 -profile 0 -qmax 42 -qmin 10 -c:a 

libvorbis -f webm out.webm
ffmpeg version N-49225-g7e059c9 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 24 2013 05:14:06 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-54)
  configuration: --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree
  libavutil      52. 15.101 / 52. 15.101
  libavcodec     54. 90.100 / 54. 90.100
  libavformat    54. 61.104 / 54. 61.104
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 33.100 /  3. 33.100
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videos/test.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2010-08-12 15:42:21
  Duration: 00:00:34.20, start: 0.000000, bitrate: 358 kb/s
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 100 kb/s
    Metadata:
      creation_time   : 2010-08-12 15:42:21
      handler_name    : Apple Sound Media Handler
    Stream #0:1(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x320, 251 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 5994 tbc
    Metadata:
      creation_time   : 2010-08-12 15:42:21
      handler_name    : Apple Video Media Handler
Please use -profile:a or -profile:v, -profile is ambiguous
File 'out.webm' already exists. Overwrite ? [y/N] y
v0.9.6
[libvpx @ 0x7e38d20] Failed to initialize encoder: ABI version mismatch
Output #0, webm, to 'out.webm':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    Stream #0:0(eng): Video: vp8, yuv420p, 640x320, q=10-42, 200 kb/s, 90k tbn, 29.97 tbc
    Metadata:
      creation_time   : 2010-08-12 15:42:21
      handler_name    : Apple Video Media Handler
    Stream #0:1(eng): Audio: none, 44100 Hz, stereo, fltp
    Metadata:
      creation_time   : 2010-08-12 15:42:21
      handler_name    : Apple Sound Media Handler
Stream mapping:
  Stream #0:1 -> #0:0 (h264 -> libvpx)
  Stream #0:0 -> #0:1 (aac -> libvorbis)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

有人知道发生了什么吗?我完全迷路了。我尝试了很多不同的命令。从 mp4 转换为 ogg 工作正常,我之前有 mp4 到 webm 工作,但我重新安装了 ffmpeg 以使 mp4 到 ogg 工作,现在我失去了我的 mp4 到 webm 转换。>.< 整个安装过程简直就是一场噩梦。有没有人有一个很好的centos安装ffmpeg的教程,适用于mp4 ogg和webm?我使用了来自 ffmpeg 网站的 centos tut,但它让我失望了。如果有人有任何想法可以为我指明正确的方向,我将不胜感激!

4

3 回答 3

3

真正的问题不在于您使用的设置。这是您的 FFmpeg 配置:

[libvpx @ 0x7e38d20] Failed to initialize encoder: ABI version mismatch

这是应用程序二进制接口。您构建的源代码显然与编码时使用的实际库不同。

看来您安装了多个版本libvpx。删除所有这些,但最新的除外,然后尝试重新编译 FFmpeg。或者从下载页面下载一个静态版本,其中libvpx已经包含了。

于 2013-01-25T10:14:10.447 回答
1

从版本输出中,您使用的是FFmpeg从官方源代码树编译的。

v0.9.6 [libvpx @ 0x7e38d20] Failed to initialize encoder: ABI version mismatch

从您的输出日志中,似乎FFmpegrequest libvpxversion 0.9.6libvpx您当前集成的不是0.9.6,因此FFmpeg抱怨错误。

libvpx您可以从这里找到匹配的版本,下载并重新编译。

于 2016-11-02T07:33:26.477 回答
0

您的输入文件具有向后的音频和视频流。您将不得不重新映射它们以进行此转换。

添加

-map 0:1 -map 0:0

为了告诉 ffmpeg 当它默认输出为 V,A 时输入是 A,V

于 2013-01-24T21:51:36.493 回答