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-10.1
          platform.
        
        
          Package Information
        
        
        
          VLC Dependencies
        
        
          Recommended
        
        
          alsa-lib-1.2.4, desktop-file-utils-0.26, FFmpeg-4.3.2,
          liba52-0.7.4, libgcrypt-1.9.2 libmad-0.15.1b, Lua-5.2.4, and X Window
          System,
        
        
          Optional features and packages
        
        
          dbus-1.12.20, libidn-1.36, and
          libssh2-1.9.0
        
        
          Optional input plugins
        
        
          libarchive-3.5.1, libcddb-1.3.2, libdv-1.0.0,
          libdvdcss-1.4.2, libdvdread-6.1.1,
          libdvdnav-6.1.0, opencv-4.5.1
          (currently broken), Samba-4.13.4, v4l-utils-1.20.0,
          libbluray,
          libdc1394,
          libnfs, libproxy, libraw1394,
          Live555, and
          VCDImager (requires
          libcdio-2.1.0)
        
        
          Optional mux/demux plugins
        
        
          libogg-1.3.4, Game Music Emu,
          libdvbpsi,
          libshout,
          libmatroska
          (requires libebml), libmodplug,
          Musepack, and
          sidplay-libs
        
        
          Optional codec plugins
        
        
          FAAD2-2_10_0, FLAC-1.3.3, libass-0.15.0, libmpeg2-0.5.1, libpng-1.6.37,
          libtheora-1.1.1, libva-2.10.0,
          libvorbis-1.3.7, Opus-1.3.1, Speex-1.2.0, x264-20210211,
          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.13.1, FreeType-2.10.4, FriBidi-1.0.9,
          librsvg-2.50.3, libvdpau-1.4, SDL-1.2.15 (with SDL_image),
          libcaca, and
          libmfx
        
        
          Optional audio plugins
        
        
          PulseAudio-14.2, libsamplerate-0.2.1, spatialaudio,
          and JACK
        
        
          Optional interface plugins
        
        
          Qt-5.15.2 (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.7.0, libnotify-0.7.9,
          libxml2-2.9.10, taglib-1.12, xdg-utils-1.1.3 (runtime), 
          AtmoLight, libmicrodns,
          protobuf, and
          srt
        
        
          User Notes: http://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 CFLAGS="$(pkg-config --cflags lua52)" &&
BUILDCC=gcc ./configure --prefix=/usr    \
                        --disable-opencv \
                        --disable-vpx    &&
make
        
          To test the results, issue: make
          check.
        
        
          Now, as the root user:
        
        
make docdir=/usr/share/doc/vlc-3.0.12 install
        
          ![[Note]](../images/note.png) 
          
            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.25 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-opencv: This
          switch is required to disable opencv which is not compatible with this
          version of vlc.
        
        
          --disable-vpx: This switch
          is required to disable libvpx. The
          latest version is not compatible with this version of vlc.
        
        
          --disable-lua: Use this switch if you
          don't have Lua 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.9.0 is installed. Use this
          switch if you do not want to build this module.
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            There are many options to VLC's
            configure command.
            Check the configure
            --help output for a complete list.