I was installing FFmpeg and libav today using brew install ffmpeg libav
when I noticed unbound
in the dependencies list.
It's very strange because unbound
is DNS resolver and why ffmpeg would need it.
❯ brew install ffmpeg libav
==> Installing dependencies for ffmpeg: aom, frei0r, gmp, libtasn1, nettle, p11-kit, unbound, gnutls, lame, libass, libbluray, libsoxr, libvidstab, libvpx, opencore-amr, opus, libsndfile, libsamplerate, rubberband, sdl2, speex, giflib, leptonica, tesseract, theora, x264, x265 and xvid
I even checked the info list for ffmpeg but unbound
was not present there
❯ brew info ffmpeg
ffmpeg: stable 4.2.1 (bottled), HEAD
Play, record, convert, and stream audio and video
https://ffmpeg.org/
/usr/local/Cellar/ffmpeg/4.2.1_2 (287 files, 56.6MB)*
- Poured from bottle on 2019-12-19 at 10:45:56
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
==> Dependencies
Build: nasm ✘, pkg-config ✔, texi2html ✘
Required: aom ✔, fontconfig ✔, freetype ✔, frei0r ✔, gnutls ✔, lame ✔, libass ✔, libbluray ✔, libsoxr ✔, libvidstab ✔, libvorbis ✔, libvpx ✔, opencore-amr ✔, openjpeg ✔, opus ✔, rtmpdump ✔, rubberband ✔, sdl2 ✔, snappy ✔, speex ✔, tesseract ✔, theora ✔, x264 ✔, x265 ✔, xvid ✔, xz ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 66,434 (30 days), 280,128 (90 days), 1,079,492 (365 days)
install-on-request: 48,053 (30 days), 203,583 (90 days), 759,254 (365 days)
build-error: 0 (30 days)
Links for reference
brew deps --tree
can help you figure this out. In the case of ffmpeg
, unbound
is pulled in by gnutls
for HTTPS support.
% brew deps --tree ffmpeg
ffmpeg
├── aom
├── fontconfig
│ └── freetype
│ └── libpng
├── freetype
│ └── libpng
├── frei0r
├── gnutls
│ ├── gmp
│ ├── libidn2
│ │ ├── gettext
│ │ └── libunistring
│ ├── libtasn1
│ ├── libunistring
│ ├── nettle
│ │ └── gmp
│ ├── p11-kit
│ │ └── libffi
│ └── unbound
│ ├── libevent
│ │ └── [email protected]
│ └── [email protected]
├── lame
├── libass
│ ├── freetype
│ │ └── libpng
│ ├── fribidi
│ └── harfbuzz
│ ├── cairo
│ │ ├── fontconfig
│ │ │ └── freetype
│ │ │ └── libpng
│ │ ├── freetype
│ │ │ └── libpng
│ │ ├── glib
│ │ │ ├── gettext
│ │ │ ├── libffi
│ │ │ ├── pcre
│ │ │ └── python
│ │ │ ├── gdbm
│ │ │ ├── [email protected]
│ │ │ ├── readline
│ │ │ ├── sqlite
│ │ │ │ └── readline
│ │ │ └── xz
│ │ ├── libpng
│ │ ├── lzo
│ │ └── pixman
│ ├── freetype
│ │ └── libpng
│ ├── glib
│ │ ├── gettext
│ │ ├── libffi
│ │ ├── pcre
│ │ └── python
│ │ ├── gdbm
│ │ ├── [email protected]
│ │ ├── readline
│ │ ├── sqlite
│ │ │ └── readline
│ │ └── xz
│ ├── graphite2
│ └── icu4c
├── libbluray
│ ├── fontconfig
│ │ └── freetype
│ │ └── libpng
│ └── freetype
│ └── libpng
├── libsoxr
├── libvidstab
├── libvorbis
│ └── libogg
├── libvpx
├── opencore-amr
├── openjpeg
│ ├── libpng
│ ├── libtiff
│ │ └── jpeg
│ └── little-cms2
│ ├── jpeg
│ └── libtiff
│ └── jpeg
├── opus
├── rtmpdump
│ └── [email protected]
├── rubberband
│ ├── libsamplerate
│ │ └── libsndfile
│ │ ├── flac
│ │ │ └── libogg
│ │ ├── libogg
│ │ └── libvorbis
│ │ └── libogg
│ └── libsndfile
│ ├── flac
│ │ └── libogg
│ ├── libogg
│ └── libvorbis
│ └── libogg
├── sdl2
├── snappy
├── speex
│ └── libogg
├── tesseract
│ ├── leptonica
│ │ ├── giflib
│ │ ├── jpeg
│ │ ├── libpng
│ │ ├── libtiff
│ │ │ └── jpeg
│ │ ├── openjpeg
│ │ │ ├── libpng
│ │ │ ├── libtiff
│ │ │ │ └── jpeg
│ │ │ └── little-cms2
│ │ │ ├── jpeg
│ │ │ └── libtiff
│ │ │ └── jpeg
│ │ └── webp
│ │ ├── jpeg
│ │ ├── libpng
│ │ └── libtiff
│ │ └── jpeg
│ └── libtiff
│ └── jpeg
├── theora
│ ├── libogg
│ └── libvorbis
│ └── libogg
├── x264
├── x265
├── xvid
└── xz
On Homebrew unbound is a dependency of gnutls which is a dependency of ffmpeg when using --enable-gnutls
(which is used by default in the ffmpeg Homebrew formulae).
gnutls (or openssl, mbedtls, libtls, securetransport) is used in ffmpeg for HTTPS support.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With