Dependencies

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

Core Dependencies

Those are required by almost every component. | Project | Source Download Link | Purpose | Client or Server | Notes | |---------|----------------------|---------|------------------|:------| |Cython|https://pypi.org/project/Cython/#files|C extensions for Python|both|Required| |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| |PyGObject|https://pypi.org/project/PyGObject/#files|Bindings for GObject based libraries such as GTK and GStreamer|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| |

Network Layer

See Network | Project | Source Download Link | Purpose | Client or Server | Notes | |---------|----------------------|---------|------------------|:------| |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 and browsing|both|| |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 |

Authentication

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|

Python modules

| 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 |

Encodings

See picture encodings | Project | Source Download Link | Purpose | Client or Server | |---------|----------------------|---------|------------------| |x264|ftp://ftp.videolan.org/pub/x264/snapshots/|h264 encoding|server| |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| |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|

Audio

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|

Dependency Graphs

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