From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

VLC media player is a wildly popular, cross platform video player and streamer. VLC media player has been quickly achieving its goal[1] of world domination since its initial release in February of 2001.


USE flags

USE flags for media-video/vlc Media player and framework with support for most multimedia files and streaming

X Enables support for, e.g., fullscreen mode via the X Window System. By itself, this flag does not build a graphical interface. local
a52 Enable support for decoding ATSC A/52 streams used in DVD global
aalib Add support for media-libs/aalib (ASCII-Graphics Library) global
alsa Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) global
altivec Add support for optimizations for G4 and G5/ppc970 processors global
aom Enables experimental support for AV1 codec local
archive Enables support for libarchive stream extractor local
avcodec Enables libavcodec support for video/audio encoding/decoding. libavcodec is part of FFmpeg. local
avformat Enables libformat support for reading and writing various media containers. libavformat is part of FFmpeg. local
bidi Enable bidirectional language support global
bluray Enables libbluray for Blu-ray disc support. local
cddb Access cddb servers to retrieve and submit information about compact disks global
chromaprint Enables libchromaprint for Chromaprint based audio fingerprinter support. local
chromecast Enable experimental support for Google Chromecast. local
dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) global
dc1394 Enables IIDC cameras support. local
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces global
directx Enable Win32 DirectX support. local
dts Enable DTS Coherent Acoustics decoder support global
dvb Add support for DVB (Digital Video Broadcasting) global
dvbpsi Enables support for Mpeg-TS files (.ts, .m2ts, .mts) via media-libs/libdvbpsi. local
dvd Add support for DVDs global
dxva2 Enables Win32 DxVA2 support. local
encode Add support for encoding of audio or video files global
faad Enable AAC audio decoding library support via media-libs/faad2. local
fdk Enables the Fraunhofer AAC codec library. local
ffmpeg Enable ffmpeg/libav-based audio/video codec support global
flac Add support for FLAC: Free Lossless Audio Codec global
fluidsynth Enables Fluidsynth MIDI software synthesis (with external sound fonts). local
fontconfig Support for configuring and customizing font access via media-libs/fontconfig global
gcrypt Enables cryptography support via libgcrypt. local
gme Enables support for media-libs/game-music-emu for playing various video game music formats. local
gnutls Add support for net-libs/gnutls (TLS 1.0 and SSL 3.0 support) global
gstreamer Enables GStreamer based decoding support (currently supports only video decoding) local
ieee1394 Enable FireWire/iLink IEEE1394 support (dv, camera, ...) global
jack Add support for the JACK Audio Connection Kit global
jpeg Add JPEG image support global
kate Adds support for Ogg Kate subtitles via libkate. local
libass SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support global
libav Prefer libav over ffmpeg whenever both are supported global
libcaca Add support for colored ASCII-art graphics global
libnotify Enable desktop notification support global
libsamplerate Build with support for converting sample rates using libsamplerate global
libtar Uses libtar instead of the built-in tar reader for reading custom skins. local
libtiger Enables Ogg Kate subtitles rendering using libtiger. local
linsys Enables support for Linux Linear Systems Ltd. SDI and HD-SDI input cards. local
lirc Add support for lirc (Linux's Infra-Red Remote Control) global
live Enables live555 streaming media support (client support for rtsp). local
lua Enable Lua scripting support, needed for including support for Jamendo (online music platform) and similar things. local
macosx-notifications Enables Mac OS X notifications module (formerly growl). local
macosx-qtkit Enables Mac OS X qtkit module: qtcapture (video) and qtsound (audio) module. local
matroska Enables matroska support using reference libraries (fallback on other existing matroska support if disabled, i.e., matroska enabled FFmpeg) local
modplug Add libmodplug support for playing SoundTracker-style music files global
mp3 Add support for reading mp3 files global
mpeg Add libmpeg2 support for mpeg-1 and mpeg-2 video streams local
mtp Enable support for Media Transfer Protocol global
musepack Enable support for the musepack audio codec global
ncurses Add ncurses support (console display library) global
neon Enable optimization support for ARM NEON processors global
nfs Enables support for nfs protocol via net-fs/libnfs local
ogg Add support for the Ogg container format (commonly used by Vorbis, Theora and flac) global
omxil Enables OpenMAX Integration Layer codec module. local
opencv Enabled OpenCV (computer vision) filter module. local
opengl Add support for OpenGL (3D graphics) global
optimisememory Enable optimisation for memory rather than performance. local
opus Support opus decoding via libopus. local
png Add support for libpng (PNG images) global
postproc Enables image post-processing via libpostproc (part of FFmpeg). local
projectm Enables the projectM visualization plugin. local
pulseaudio Add support for PulseAudio sound server global
qt5 Builds a Qt5 based frontend, a graphical interface (overrides qt4). local
rtsp Enables real audio and RTSP modules. local
run-as-root Allows vlc to start for root. Don't enable this unless you have a very specific (e.g. embedded) need for it! local
samba Add support for SAMBA (Windows File and Printer sharing) global
schroedinger Enable Dirac video support (an advanced royalty-free video compression format) via libschroedinger (high-speed implementation in C of the Dirac codec). local
sdl-image Enables sdl image video decoder (depends on sdl) local
sftp Enables libssh2 to support SFTP file transfer. local
shout Enables libshout output. local
sid Adds support for playing C64 SID files through media-libs/libsidplay:2. local
skins Enables support for the skins2 interface. local
speex Add support for the speex audio codec (used for speech) global
svg Add support for SVG (Scalable Vector Graphics) global
swscale Enables image scaling and conversion via libswscale (part of FFmpeg). local
taglib Enable tagging support with taglib global
test Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore global
theora Add support for the Theora Video Compression Codec global
tremor Enables tremor, a fixed-point version of the Ogg Vorbis decoder. local
truetype Add support for FreeType and/or FreeType2 fonts global
twolame Enables twolame support (MPEG Audio Layer 2 encoder). local
udev Enable virtual/udev integration (device discovery, power and storage device support, etc) global
upnp Enables support for the Intel SDK stack based UPnP discovery module instead of CyberLink. local
v4l Enable support for video4linux (using linux-headers or userspace libv4l libraries) global
vaapi Enable Video Acceleration API for hardware decoding global
vcd Video CD support global
vdpau Enable the Video Decode and Presentation API for Unix acceleration interface global
vlm New videolan (media) manager (vlm), a little manager designed to launch and manage multiple streams from within one instance of VLC. local
vnc Enable VNC (remote desktop viewer) support global
vorbis Add support for the OggVorbis audio codec global
vpx Enables the decoder(s) from the WebM VP8 / VP9 Codec SDK. local
wma-fixed Enables fixed point WMA decoder. local
x264 Enable h264 encoding using x264 global
x265 Support X265 Encoder. local
xcb Support the X C-language Binding, a replacement for Xlib; !!! you will need this option to be able to integrate video in the Qt interface, see bug #500678. local
xml Add support for XML files global
xv Add in optional support for the Xvideo extension (an X API for video playback) global
zeroconf Enables support for zero-configuration networking via avahi. local
zvbi Enables support for teletext subtitles via the zvbi library. local

According to VideoLAN some certain USE flags need to be set in order to not get a very bare bones version of VLC.[2] Many of them might be obsolete or be set by the selected profile. For the standard desktop profile one might add to /etc/portage/package.use like

media-video/vlc gnutls live lua matroska rtsp theora upnp vcdx


After setting desired USE flags for the initial installation, emerge VLC:

root #emerge --ask media-video/vlc


VLC is an extremely powerful program capable of playing almost any media file. It can even "play" binary files, although it is really not worth trying since there is really no point in "playing" most binaries.


Alternate interfaces

VLC provides multiple interfaces in addition to the default GUI interface. There is an ncurses-based interface, and a HTTP interface that can be used for streaming or as a remote control. The VLC wiki has a section dedicated to explaining the alternative interfaces.

Users may become confused when using VLC via Portage because, by default, the ebuild does not include the USE flags needed in order to include the dependencies needed for the alternative interfaces. Search the USE flag section above for interface related flags.

Once the flags have been set recompile VLC by using the following command:

root #emerge --changed-use media-video/vlc


When connecting to the HTTP interface, make sure a password is set.

Leave the user name field blank when entering credentials on the web page leave the user name blank.


VLC supports a host of hotkeys[3] for more efficient operation. There is an article on the VLC wiki detailing all available hotkeys for the Qt interface.

See also

  • MPlayer - An older, once powerful command-line media player.
  • Mpv - A much improved fork of MPlayer.

External resources