Introduction to VLC
VLC is a media player, streamer, and encoder. It can play from many inputs, such as files, network streams, capture devices, desktops, or DVD, SVCD, VCD, and audio CD. It can use most audio and video codecs (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, etc.), and it can also convert to different formats and/or send streams through the network.
Note
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Package Information
VLC Dependencies
Recommended
alsa-lib-1.2.10, desktop-file-utils-0.27, FFmpeg-6.1.1, liba52-0.7.4, libgcrypt-1.10.3 libmad-0.15.1b, Lua-5.4.6, and a graphical environment
Optional features and packages
dbus-1.14.10, libidn-1.42, and libssh2-1.11.0
Optional input plugins
libarchive-3.7.2, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, opencv-4.9.0, Samba-4.19.4, v4l-utils-1.26.1, libbluray, libdc1394, libnfs, libproxy, libraw1394, Live555, and VCDImager (requires libcdio-2.1.0)
Optional mux/demux plugins
libogg-1.3.5, Game Music Emu, libdvbpsi, libshout, libmatroska (requires libebml), libmodplug, Musepack, and sidplay-libs
Optional codec plugins
FAAD2-2.11.1, FLAC-1.4.3, libaom-3.8.1, libass-0.17.1, libmpeg2-0.5.1, libpng-1.6.40, libva-2.20.0, libvorbis-1.3.7, Opus-1.4, Speex-1.2.1, libvpx-1.14.0, x264-20230215, aribb24, dav1d, Dirac, FluidLite, FluidSynth, libdca, libkate, libthora, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, and Zapping VBI
Optional video plugins
AAlib-1.4rc5, Fontconfig-2.15.0, FreeType-2.13.2, FriBidi-1.0.13, libplacebo-6.338.1 (currently broken), librsvg-2.57.1, libvdpau-1.5, sdl12-compat-1.2.68, libcaca, libmfx
Optional audio plugins
PulseAudio-17.0, libsamplerate-0.2.2, spatialaudio, and JACK
Optional interface plugins
(Qt-5.15.12 or qt-alternate-5.15.12) (required for the graphical user interface), libtar, libvncclient, LIRC, and freerdp
Optional visualisations and video filter plugins
Goom, libvsxu, and projectM
Optional service discovery plugins
Avahi-0.8, libmtp and libupnp
Miscellaneous options
GnuTLS-3.8.3, libnotify-0.8.3, libxml2-2.12.4, taglib-1.13.1, xdg-utils-1.1.3 (runtime), AtmoLight, libmicrodns, protobuf, and Srt
Installation of VLC
Install VLC by running the following commands:
BUILDCC=gcc ./configure --prefix=/usr --disable-libplacebo &&
make
To test the results, issue: make check.
Now, as the root
user:
make docdir=/usr/share/doc/vlc-3.0.20 install
Note
This package installs icon files into the /usr/share/icons/hicolor
hierarchy and desktop files into the /usr/share/applications
hierarchy. You can improve system performance and memory usage by updating /usr/share/icons/hicolor/index.theme
and /usr/share/applications/mimeinfo.cache
. To perform the update you must have GTK+-3.24.40 installed (for the icon cache) and desktop-file-utils-0.27 (for the desktop cache) and issue the following commands as the root
user:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor &&
update-desktop-database -q
Command Explanations
--disable-libplacebo
: This switch is required to disable support for using libplacebo as a rendering pipeline because VLC is incompatible with the latest version of libplacebo.
--disable-vpx
: Use this switch to disable libvpx.
--disable-mad
: Use this switch if you don't have libmad installed.
--disable-avcodec --disable-swscale
: Use these switches if you don't have FFmpeg installed.
--disable-a52
: Use this switch if you don't have liba52 installed.
--disable-xcb
: Use this switch if you don't have X Window System installed.
--disable-alsa
: Use this switch if you don't have ALSA installed.
--disable-libgcrypt
: Use this switch if you don't have libgcrypt installed.
--disable-sftp
: The default is to build the sftp module if libssh2-1.11.0 is installed. Use this switch if you do not want to build this module.
Note
There are many options to VLC's configure command. Check the configure --help output for a complete list.