【问题标题】:ffmpeg unable to find encoder 'libvorbis'ffmpeg 找不到编码器“libvorbis”
【发布时间】:2013-10-27 14:00:04
【问题描述】:

我无法将视频文件转码为 webm,因为我的机器无法找到 libvorbis。当我运行以下命令时:

ffmpeg -y -i /public/uploads/tmp/1382112521-11953-7661/webm_Untitled.mov -vcodec libvpx -acodec libvorbis -s 640x360  -b 1500k -ab 160000 -f webm -g 30 -aspect 1.7777777777777777 /public/uploads/tmp/1382112521-11953-7661/tmpfile.webm

我得到了错误

Unknown encoder 'libvorbis'

我已经在我的机器上安装了 libvorbis(当我尝试“brew install libvorbis”时,它告诉我:警告:libvorbis-1.3.3 已经安装)。

我该如何解决这个问题?

这是完整的日志:

ffmpeg -y -i /public/uploads/tmp/1382112521-11953-7661/webm_Untitled.mov -vcodec libvpx -acodec libvorbis -s 640x360  -b 1500k -ab 160000 -f webm -g 30 -aspect 1.7777777777777777 /public/uploads/tmp/1382112521-11953-7661/tmpfile.webm
ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Oct 18 2013 12:20:19 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvpx
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  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 '/public/uploads/tmp/1382112521-11953-7661/webm_Untitled.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2013-09-27 20:08:57
  Duration: 00:00:02.14, start: 0.000000, bitrate: 17460 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17292 kb/s, 29.88 fps, 29.83 tbr, 90k tbn, 180k tbc
    Metadata:
      creation_time   : 2013-09-27 20:08:57
      handler_name    : Core Media Data Handler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 123 kb/s
    Metadata:
      creation_time   : 2013-09-27 20:08:57
      handler_name    : Core Media Data Handler
Please use -b:a or -b:v, -b is ambiguous
Unknown encoder 'libvorbis'

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    2020 年编辑:

    Homebrew 现在默认安装 libvorbis,所以你可以直接运行:

    brew install ffmpeg
    

    如果你使用 Homebrew,试试这个:

    brew install ffmpeg --with-libvorbis
    

    ...或者,如果您已经尝试使用 Homebrew 安装 ffmpeg...

    brew reinstall ffmpeg --with-libvorbis
    

    如果你也想要 libvpx:

    brew reinstall ffmpeg --with-libvpx --with-libvorbis
    

    【讨论】:

    • --with-libvpx 是我正确转换 webm 所必需的。它给了我这个错误,直到我按照@yndolok 的建议重新安装了 libvpx:Encoder (codec vp8) not found for output stream
    • 看起来很有希望,brew info ffmpeg 确实表明默认情况下未安装 libvorbis。但是当我尝试运行这些时,我得到 Error: invalid option: --with-libvorbis on Mojave using Homebrew 2.0.2。由于某种原因,我的 shell 中似乎没有正确应用该标志。
    【解决方案2】:

    您的 ffmpeg 构建未使用 --enable-libvorbis 编译,如果您希望在 ffmpeg 中支持 libvorbis,这是必需的,但您有一些选择:

    注意:Vorbis 已被 Opus 淘汰,因此请考虑改用 libopus,尤其是在编码为 VP9/VP8 (WebM) 时。


    下载构建

    这是一个简单的选择。已经编译的macOS builds of ffmpeg 可用并带有libvorbis 支持。您只需下载可执行文件,并可选择将其放入/usr/local/bin


    自制

    核心

    Hombrew core FFmpeg formulae 默认包含对 libvorbis 的支持(截至 2019 年 3 月 1 日)。首先,install Homebrew,然后运行:

    brew install ffmpeg
    

    但是,核心公式不再支持其他非默认选项,例如 --with-aom,因此如果您想自定义它,请参阅下面的选项。

    自制-ffmpeg

    这是一个第三方水龙头,提供 Homebrew 公式,您可以启用许多其他选项。首先install Homebrew,然后:

    1. 如果您是从 Homebrew 核心安装的,请卸载 ffmpeg

      brew uninstall ffmpeg
      
    2. 然后从 homebrew-ffmpeg 安装 ffmpeg:

      brew tap homebrew-ffmpeg/ffmpeg
      brew install homebrew-ffmpeg/ffmpeg/ffmpeg
      

    有关更多选项和信息,请参阅homebrew-ffmpeg


    编译

    有关手动编译的完整说明,请参阅FFmpeg Wiki: macOS

    【讨论】:

      【解决方案3】:

      Homebrew stopped supporting --with-libvorbis 选项在 2018 年末推出。包含用于 Linux、macOS 和 Windows 的 libvorbis 的预编译二进制文件:https://ffmpeg.org/download.html

      【讨论】:

        【解决方案4】:

        这里建议使用重建 ffmpeg 解决了这个问题:

        ./configure --disable-encoder=vorbis --enable-libvorbis; make; make install
        

        http://xiphmont.livejournal.com/51160.html

        【讨论】:

        • 你的链接是404
        猜你喜欢
        • 1970-01-01
        • 2014-02-13
        • 2012-06-15
        • 2021-03-01
        • 2011-04-13
        • 2013-03-03
        • 2012-07-24
        • 2017-08-24
        • 2014-05-25
        相关资源
        最近更新 更多