Dependencies

Most of these dependencies should be installed automatically when you install official packages.
Unless otherwise stated, the dependencies are all optional.

Those are required by almost every component. | Project | Source Download Link | Purpose | Client or Server | Notes | |---------|----------------------|---------|------------------|:------| |glib|https://ftp.gnome.org/pub/gnome/sources/glib/|low-level library|both|Required| |gtk|http://ftp.gnome.org/pub/gnome/sources/gtk+/|UI Toolkit|both|Required| |pyopengl|https://pypi.python.org/pypi/PyOpenGL and https://pypi.python.org/pypi/PyOpenGL-accelerate|client OpenGL accelerated rendering|client| | |pycups|https://pypi.org/project/pycups/|Printing|both| |

See Network | Project | Source Download Link | Purpose | Client or Server | Notes | |---------|----------------------|---------|------------------|:------| |rencode|https://pypi.python.org/pypi/rencode/|packet encoding|both |(deprecated in 4.4)| |pyyaml|https://pypi.python.org/pypi/PyYAML/|alternative packet encoder|both |optional (usually unused)| |lz4|https://github.com/lz4/lz4/releases|packet compression|both|Strongly recommended| |aioquic|https://pypi.org/project/aioquic/|low level network protocol|both|quic| |python-cryptography|https://pypi.python.org/pypi/cryptography|Encryption|both|| |python-zeroconf|https://pypi.org/project/zeroconf/|Multicast DNS session publishing|server|| |python-netifaces|https://pypi.python.org/pypi/netifaces|Multicast DNS session publishing|server|| |dbus-python|https://dbus.freedesktop.org/releases/dbus-python/|desktop integration, server control interface|both|not applicable to MS Windows or Mac OSX| |openssl|https://www.openssl.org/source/|SSL|both|| |paramiko|https://pypi.org/project/paramiko/|ssh integration|both|| |sshpass|https://sourceforge.net/projects/sshpass/files/sshpass/|non-interactive SSH password authentication|usually client|| |brotli|https://github.com/google/brotli/releases|HTML client compression|r15540 |

See authentication modules | Project | Source Download Link | Purpose | Client or Server | Notes | |---------|----------------------|---------|------------------|:------| |python-gssapi|https://pypi.org/project/gssapi/ |GSSAPI|server|#1691| |python-kerberos|https://pypi.org/project/kerberos/ |Kerberos|server|#1691| |python-ldap|https://pypi.org/project/python-ldap/ |LDAP|server|#1691| |python-ldap3|https://pypi.org/project/ldap3/ |LDAP v3|server|#1691| |pyu2f|https://pypi.org/project/pyu2f/ |U2F|server|#1789|

| Project | Source Download Link | Notes | |-----------------------------------------------------------|--------------------------------------|:----------------------------------------| | python-ipaddress | https://pypi.org/project/ipaddress/ | unspecified: r11859 | | python-idna | https://pypi.org/project/idna/ | unspecified: r11860 | | python-decorator | https://pypi.org/project/decorator/ | required by gssapi: r18781 | | pyasn1 | https://pypi.org/project/pyasn1/ | unspecified: r5829 | | asn1crypto | https://pypi.org/project/asn1crypto/ | required by python-cryptography: r17856 | | python-packaging | https://pypi.org/project/packaging/ | required by python-cryptography: r15310 | | pyparsing | https://pypi.org/project/pyparsing/ | required by python-cryptography: r15310 | | cffi | https://pypi.org/project/cffi/ | required by python-cryptography: r11633 | | six | https://pypi.org/project/six/ | required by python-cryptography: r11640 | | setuptools | https://pypi.org/project/setuptools/ | unspecified: r5829 | | pycparser | https://pypi.org/project/pycparser/ | required by cffi: r11634 | | pynacl | https://pypi.org/project/PyNaCl/ | crypto library used by paramiko: r19967 | | bcrypt | https://pypi.org/project/bcrypt/ | crypto library used by paramiko: r19965 |

See picture encodings | Project | Source Download Link | Purpose | Client or Server | |---------|----------------------|---------|------------------| |x264|ftp://ftp.videolan.org/pub/x264/snapshots/|h264 encoding|server| |ffmpeg|http://ffmpeg.org/releases/|h264, h265, vp8 and vp9 decoding|client| |vpx|http://downloads.webmproject.org/releases/webm/index.html|vp8 and vp9 codecs|both| |webp|http://downloads.webmproject.org/releases/webp/index.html|webp codec|both| |libpng|ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/|png encoding|both| |libspng|https://libspng.org/download/|faster png encoding|both| |libjpeg-turbo|https://sourceforge.net/projects/libjpeg-turbo/files/|jpeg encoding|both| |python-pillow|https://pypi.python.org/pypi/Pillow|png,jpeg,webp encoding and decoding, format conversion - Required|both| |opencv|https://opencv.org/releases/|Webcam capture]|client| |libyuv|https://chromium.googlesource.com/libyuv/libyuv/|Colourspace Conversion|both| |pycuda|https://pypi.python.org/pypi/pycuda|NVENC|server| |cuda|https://developer.nvidia.com/cuda-toolkit|NVENC|server| |pyNVML|https://pypi.python.org/pypi/nvidia-ml-py/|NVENC|server|

See audio forwarding | Project | Source Download Link | Purpose | |---------|----------------------|---------| |gstreamer|http://gstreamer.freedesktop.org/src/|audio framework| |Ogg|http://downloads.xiph.org/releases/ogg/|ogg container format| |opus|http://downloads.xiph.org/releases/opus/|opus codec| |Flac|http://downloads.xiph.org/releases/flac/|flac codec| |Speex|http://downloads.xiph.org/releases/speex/|speex codec| |Vorbis|http://downloads.xiph.org/releases/vorbis/|vorbis codec| |wavpack|http://www.wavpack.com/downloads.html|wavpack codec| |faac|https://github.com/knik0/faac/releases|aac encoder| |faad|https://github.com/knik0/faad2/releases|aac decoder| |lame|http://sourceforge.net/projects/lame/files/lame/|MP3 encoder| |TwoLame|http://sourceforge.net/projects/twolame/files/twolame/|MP3 encoder|

These graphs were generated using jhbuild dot on MacOS.
The MacOS builds include very low level build dependencies.

Codecs

Codec Dependencies

Python3 Modules

Python 3 Modules

GTK3

GTK 3

Tools

Tools

MacOS Packaging Tools

GTK 3