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.
This package is known to build and work properly
using an LFS 11.3 platform.
Package Information
VLC Dependencies
Recommended
alsa-lib-1.2.8,
desktop-file-utils-0.26,
FFmpeg-5.1.2,
liba52-0.7.4,
libgcrypt-1.10.1
libmad-0.15.1b,
Lua-5.2.4, and
a graphical environment
Optional features and packages
dbus-1.14.6,
libidn-1.41, and
libssh2-1.10.0
Optional input plugins
libarchive-3.6.2,
libcddb-1.3.2,
libdv-1.0.0,
libdvdcss-1.4.3,
libdvdread-6.1.3,
libdvdnav-6.1.1,
opencv-4.7.0,
Samba-4.17.5,
v4l-utils-1.22.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.10.1,
FLAC-1.4.2,
libass-0.17.0,
libmpeg2-0.5.1,
libpng-1.6.39,
libtheora-1.1.1,
libva-2.17.0,
libvorbis-1.3.7,
Opus-1.3.1,
Speex-1.2.1,
libvpx-1.13.0,
x264-20230215,
aom,
aribb24,
dav1d,
Dirac,
FluidLite,
FluidSynth,
libdca,
libkate,
OpenMAX,
Schroedinger,
Shine,
SoX,
Tremor,
Twolame, and
Zapping VBI
Optional video plugins
AAlib-1.4rc5,
Fontconfig-2.14.2,
FreeType-2.13.0,
FriBidi-1.0.12,
librsvg-2.54.5,
libvdpau-1.5,
SDL-1.2.15
(with SDL_image),
libcaca, and
libmfx
Optional audio plugins
PulseAudio-16.1,
libsamplerate-0.2.2,
spatialaudio, and
JACK
Optional interface plugins
Qt-5.15.8 (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.0,
libnotify-0.8.1,
libxml2-2.10.3,
taglib-1.13,
xdg-utils-1.1.3 (runtime),
AtmoLight,
libmicrodns,
protobuf, and
Srt
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/vlc
Installation of VLC
Install VLC by running the following commands:
export LUAC=/usr/bin/luac5.2 &&
export LUA_LIBS="$(pkg-config --libs lua52)" &&
export CPPFLAGS="$(pkg-config --cflags lua52)" &&
BUILDCC=gcc ./configure --prefix=/usr --disable-libva &&
make
To test the results, issue: make check.
Now, as the root
user:
make docdir=/usr/share/doc/vlc-3.0.18 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+-2.24.33 or
GTK+-3.24.36 installed (for the icon cache) and
desktop-file-utils-0.26 (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
export ...: These commands ensure building with
Lua-5.2.4. Upstream does not support lua 5.4 yet.
--disable-libva
: This switch is required to disable
video acceleration in VLC since it is incompatible with ffmpeg-5, and
upstream has no plans to port it due to complexity.
--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.10.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.