#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 44. Video Utilities

- Prev

  mpv-0.41.0

- Next

  xine-ui-0.99.14

- Up
- Home

# VLC-3.0.23

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

- Download (HTTP): https://download.videolan.org/vlc/3.0.23/vlc-3.0.23.tar.xz

- Download MD5 sum: ebc3f0d0a94785fd2b2df4087516938e

- Download size: 26 MB

- Estimated disk space required: 957 MB

- Estimated build time: 1.2 SBU (using parallelism=4; with tests)

### VLC Dependencies

#### Recommended

alsa-lib-1.2.15.3, desktop-file-utils-0.28, FFmpeg-8.1, liba52-0.8.0, libgcrypt-1.12.2 libmad-0.15.1b, Lua-5.4.8, Qt-6.11.0, and a graphical environment

#### Optional features and packages

dbus-1.16.2, libidn-1.43, and libssh2-1.11.1

#### Optional input plugins

libarchive-3.8.7, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.5.0, libdvdread-7.0.1, libdvdnav-7.0.0, libproxy-0.5.12, Samba-4.24.0, v4l-utils-1.32.0, libbluray, libdc1394, libnfs, libraw1394, Live555, and VCDImager (requires libcdio-2.1.0)

#### Optional mux/demux plugins

libogg-1.3.6, Game Music Emu, libdvbpsi, libshout, libmatroska (requires libebml), libmodplug, Musepack, and sidplay-libs

#### Optional codec plugins

dav1d-1.5.3, FAAD2-2.11.2, FLAC-1.5.0, libaom-3.13.3, libass-0.17.4, libmpeg2-0.5.1, libpng-1.6.58, libva-2.23.0, libvorbis-1.3.7, Opus-1.6.1, Speex-1.2.1, libvpx-1.16.0, x264-20250815, aribb24, Dirac, FluidLite, FluidSynth, libdca, libkate, libtheora, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame, and Zapping VBI

#### Optional video plugins

AAlib-1.4rc5, Fontconfig-2.17.1, FreeType-2.14.3, FriBidi-1.0.16, gst-plugins-base-1.28.2, libplacebo-7.360.1 (currently broken), librsvg-2.62.1, libcaca, libmfx, and SDL1

#### Optional audio plugins

PulseAudio-17.0, libsamplerate-0.2.2, spatialaudio, and JACK

#### Optional interface plugins

FreeRDP-3.25.0, libtar, libvncclient, and LIRC

#### 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.13, libnotify-0.8.8, libxml2-2.15.3, Protobuf-34.1, taglib-2.2.1, xdg-utils-1.2.1 (runtime), AtmoLight, libmicrodns, and Srt

## Installation of VLC

First, fix a build failure introduced by the latest version of gst-plugins-base:

    sed -i 's/gstvideopool.h/video.h/' modules/codec/gstreamer/gstvlcvideopool.h

Install VLC by running the following commands:

    BUILDCC=gcc ./configure --prefix=/usr &&
    make

To test the results, issue: make check. One test will fail if you are not in a graphical environment.

Now, as the `root` user:

    make docdir=/usr/share/doc/vlc-3.0.23 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.52 installed (for the icon cache) and desktop-file-utils-0.28 (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

## Using VLC

For a while, Qt-5 was the only way to get a graphical interface that this package is known for. It now supports Qt-6, but comes with a lot of downsides as it is a fresh port of the previous interface. Several bits of functionality are broken. For example, pausing and other navigation features are broken, video positioning is incorrect, among other issues.

Another issue is that video playback, despite audio playback with image metadata being fine, is broken on Wayland without the use of the `QT_QPA_PLATFORM` variable. The exact issue is that the video never plays, and the window moves all over the screen. If you're on Wayland, you should run QT_QPA_PLATFORM=xcb vlc -I "qt" to use the Qt interface. This forces the `xcb` window interface to be used instead of `wayland`, since video playback will try to use `xcb` anyway and fail. On X11, this should not be an issue.

However, many issues will still persist. It is recommended to still use VLC through other means until these issues get fixed.

## Command Explanations

`--disable-vpx`: Use this switch if you don't have libvpx installed.

`--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.1 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.

## Contents

Installed Programs: cvlc, nvlc, qvlc, rvlc, vlc and vlc-wrapper
Installed Libraries: libvlccore.so, libvlc.so, and many plugins in /usr/lib/vlc/plugins
Installed Directories: /usr/{include,lib,share}/vlc, /usr/share/kde4, and /usr/share/doc/vlc-3.0.23

### Short Descriptions

cvlc | is a script to run VLC with the dummy interface
nvlc | is a script to run VLC with the ncurses interface
qvlc | is a script to run VLC with the Qt interface
rvlc | is a script to run VLC with a command line interface
vlc | is the VLC media player
vlc-wrapper | is a wrapper to drop privileges with VLC

- Prev

  mpv-0.41.0

- Next

  xine-ui-0.99.14

- Up
- Home