LoginSignup
18
14

More than 5 years have passed since last update.

Homebrew の ffmpeg でいつの間にかインストールオプションが無くなってた件・・・

Last updated at Posted at 2019-04-16

GW は一人バイクで放浪の旅に出ます。
streampack 木村です。

1月にディスプレイ出力不良で交換してもらった業務 Macbook が頻繁に固まるんですよ。
日に何度もフリーズ、酷いときは勝手に再起動したりしてストレスがマッハに!

いい加減業務に支障をきたすので新しい Macbook に変えてもらい環境構築中。
ffmpeg をインストールしようとして以前と同じ方法
インストールコマンド一発! MAC の ffmpeg で H.265(HEVC) を使えるようにする
で brew で入れようとしたら


$ brew install ffmpeg --with-fdk-aac --with-freetype --with-libass --with-libvpx  --with-sdl2 --with-x265

Error: invalid option: --with-fdk-aac

怒られたよ! 何で??

Github を見てみる

option が無いよ・・・

ffmpeg.rb
class Ffmpeg < Formula
  desc "Play, record, convert, and stream audio and video"
  homepage "https://ffmpeg.org/"
  url "https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.xz"
  sha256 "0c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d"
  head "https://github.com/FFmpeg/FFmpeg.git"

  bottle do
    sha256 "14a4dc07d1ffb6d44d90adb72185434d6c0127cf26a8ebd05ca64fa2c4baca56" => :mojave
    sha256 "761b20937690043ced7797a18538e5adf32cda5d557810dca030ddd0cd4cd5ec" => :high_sierra
    sha256 "8bf6a1fda6bc5adcb6dc1b89e1886dbdb2a8730d146d7fdd7ed43f4dee07d663" => :sierra
  end

  depends_on "nasm" => :build
  depends_on "pkg-config" => :build
  depends_on "texi2html" => :build

  depends_on "aom"
  depends_on "fontconfig"
  depends_on "freetype"
  depends_on "frei0r"
  depends_on "gnutls"
  depends_on "lame"
  depends_on "libass"
  depends_on "libbluray"
  depends_on "libsoxr"
  depends_on "libvorbis"
  depends_on "libvpx"
  depends_on "opencore-amr"
  depends_on "openjpeg"
  depends_on "opus"
  depends_on "rtmpdump"
  depends_on "rubberband"
  depends_on "sdl2"
  depends_on "snappy"
  depends_on "speex"
  depends_on "tesseract"
  depends_on "theora"
  depends_on "x264"
  depends_on "x265"
  depends_on "xvid"
  depends_on "xz"

  def install
    args = %W[
      --prefix=#{prefix}
      --enable-shared
      --enable-pthreads
      --enable-version3
      --enable-hardcoded-tables
      --enable-avresample
      --cc=#{ENV.cc}
      --host-cflags=#{ENV.cflags}
      --host-ldflags=#{ENV.ldflags}
      --enable-ffplay
      --enable-gnutls
      --enable-gpl
      --enable-libaom
      --enable-libbluray
      --enable-libmp3lame
      --enable-libopus
      --enable-librubberband
      --enable-libsnappy
      --enable-libtesseract
      --enable-libtheora
      --enable-libvorbis
      --enable-libvpx
      --enable-libx264
      --enable-libx265
      --enable-libxvid
      --enable-lzma
      --enable-libfontconfig
      --enable-libfreetype
      --enable-frei0r
      --enable-libass
      --enable-libopencore-amrnb
      --enable-libopencore-amrwb
      --enable-libopenjpeg
      --enable-librtmp
      --enable-libspeex
      --enable-videotoolbox
      --disable-libjack
      --disable-indev=jack
      --enable-libaom
      --enable-libsoxr
    ]

    system "./configure", *args
    system "make", "install"

    # Build and install additional FFmpeg tools
    system "make", "alltools"
    bin.install Dir["tools/*"].select { |f| File.executable? f }
  end

  test do
    # Create an example mp4 file
    mp4out = testpath/"video.mp4"
    system bin/"ffmpeg", "-filter_complex", "testsrc=rate=1:duration=1", mp4out
    assert_predicate mp4out, :exist?
  end
end

どうやら以下で消滅した模様

スクリーンショット 2019-04-15 19.12.48.png

んでどうすりゃ H.265 を使えるの?

何もしなくて良いです。デフォルトでインストールされます。全部入りです!

$ brew install ffmpeg

$ brew ls
aom         gmp         libogg          opencore-amr    snappy
cairo       gnutls      libpng          openjpeg        speex
ffmpeg      graphite2   libsamplerate   openssl         sqlite
flac        harfbuzz    libsndfile      opus            tesseract
fontconfig  icu4c       libsoxr         p11-kit         theora
freetype    jpeg        libtasn1        pcre            unbound
frei0r      lame        libtiff         pixman          webp
fribidi     leptonica   libunistring    python          x264
gdbm        libass      libvorbis       readline        x265
gettext     libbluray   libvpx          rtmpdump        xvid
giflib      libevent    little-cms2     rubberband      xz
glib        libffi      nettle          sdl2

最後に

オチとしては「インストールオプションが無くなってた」ってことなんですが、$ brew options ffmpeg でも何も表示されないし。
これが分かるまでに Error: invalid option: --with-fdk-aac でggったり、結構色々とネットの海をうろちょろしてしまいました。

ココとか
https://github.com/Homebrew/homebrew-core/issues/31510

ココとか
https://github.com/Homebrew/brew/issues/5732

オプション指定しなくていいのは楽ですが、全部入っちゃうのはどうなんでしょうねえ。

4/19追記

@ohokihai さんからコメントを頂戴したので。

一応記事のままでも内蔵AACはインストールされますので、-acodec aac でエンコードが可能です。

ただし、ffmpeg 公式でも品質は fdk-aac > 内蔵AAC と言われていますので、 fdk-aac を使いたい場合は https://github.com/varenc/homebrew-ffmpeg で今まで通りオプション付きでインストールすることができます。

18
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14