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 Enable support for e.g. fullscreen mode via X and the X C-language binding. It does not build a graphical interface
a52 Enable support for decoding ATSC A/52 streams used in DVD
altivec Add support for optimizations for G4 and G5/ppc970 processors
aom Enable experimental support for AV1 codec
archive Enable support for libarchive stream extractor
aribsub Enable support for decoding ARIB STD-B24 subtitles
bidi Enable bidirectional language support
bluray Enable libbluray for Blu-ray disc support
cddb Access cddb servers to retrieve and submit information about compact disks
chromaprint Enable libchromaprint for Chromaprint based audio fingerprinter support
chromecast Enable experimental support for Google Chromecast
dav1d Enable support for media-libs/dav1d AV1 decoder
dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
dc1394 Enable IIDC cameras support
directx Enable Win32 DirectX, D3D11va and DxVA2 support
dts Enable DTS Coherent Acoustics decoder support
dvbpsi Enable support for Mpeg-TS files (.ts, .m2ts, .mts) via media-libs/libdvbpsi
encode Enable streaming-output support and videolan manager to control multiple streams from within one instance
faad Enable AAC audio decoding library support via media-libs/faad2
fdk Enable the Fraunhofer AAC codec library
flac Add support for FLAC: Free Lossless Audio Codec
fluidsynth Enable Fluidsynth MIDI software synthesis (with external sound fonts)
gcrypt Enable cryptography support via libgcrypt
gme Enable support for media-libs/game-music-emu for playing various video game music formats
gstreamer Enable GStreamer based decoding support (currently supports only video decoding)
ieee1394 Enable FireWire/iLink IEEE1394 support (dv, camera, ...)
kate Adds support for Ogg Kate subtitles via libkate
kms Enable kernel mode setting video output plugin via x11-libs/libdrm
libass SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support
libav Prefer libav over ffmpeg whenever both are supported
libcaca Add support for colored ASCII-art graphics
libnotify Enable desktop notification support
libplacebo Enable support for GPU accelerated video rendering with media-libs/libplacebo
libtar Uses libtar instead of the built-in tar reader for reading custom skins
libtiger Enable Ogg Kate subtitles rendering using libtiger
linsys Enable support for Linux Linear Systems Ltd. SDI and HD-SDI input cards
lirc Add support for lirc (Linux's Infra-Red Remote Control)
live Enable live555 streaming media support (client support for rtsp)
lua Enable Lua scripting support, needed for including support for Jamendo (online music platform) and similar things
macosx-notifications Enable Mac OS X notifications module (formerly growl)
mad Add support for mad (high-quality mp3 decoder library and cli frontend)
matroska Enable matroska support using reference libraries (fallback on other existing matroska support if disabled, i.e., matroska enabled FFmpeg)
modplug Add libmodplug support for playing SoundTracker-style music files
mpeg Add libmpeg2 support for mpeg-1 and mpeg-2 video streams
mtp Enable support for Media Transfer Protocol
musepack Enable support for the musepack audio codec
neon Enable optimization support for ARM NEON processors
nfs Enable support for nfs protocol via net-fs/libnfs
omxil Enable OpenMAX Integration Layer codec module
opencv Enable OpenCV (computer vision) filter module
optimisememory Enable optimisation for memory rather than performance
opus Enable Opus audio codec support
postproc Enable image post-processing via libpostproc (part of FFmpeg)
projectm Enable the projectM visualization plugin
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!
sdl-image Enable sdl image video decoder (depends on sdl)
sftp Enable libssh2 to support SFTP file transfer
shout Enable libshout output
sid Adds support for playing C64 SID files through media-libs/libsidplay:2
skins Enable support for the skins2 interface
soxr Enable SoX Resampler support via media-libs/soxr
srt Enable support for Secure Reliable Transport (SRT) via net-libs/srt
svg Add support for SVG (Scalable Vector Graphics)
taglib Enable tagging support with taglib
theora Add support for the Theora Video Compression Codec
tremor Enable tremor, a fixed-point version of the Ogg Vorbis decoder
twolame Enable twolame support (MPEG Audio Layer 2 encoder)
upnp Enable support for the Intel SDK stack based UPnP discovery module instead of CyberLink
v4l Enable support for video4linux (using linux-headers or userspace libv4l libraries)
vaapi Enable Video Acceleration API for hardware decoding
vnc Enable VNC (remote desktop viewer) support
vorbis Add support for the OggVorbis audio codec
vpx Enable the decoder(s) from the WebM VP8 / VP9 Codec SDK
wayland Enable dev-libs/wayland backend
x264 Enable h264 encoding using x264
x265 Support X265 Encoder
zeroconf Enable support for zero-configuration networking via avahi
zvbi Enable support for teletext subtitles via the zvbi library

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 qt5 gnutls live lua matroska rtsp theora upnp vcdx

Streaming online multimedia

VLC provides users with the option to stream multimedia objects (YouTube, Vimeo, music, and more) to enable this functionality simply enable the lua USE flag, if you have app-portage/gentoolkit installed, it is a highly recommended package to have, simply issue:

root #euse -E lua -p media-video/vlc

After proper configuration and installation to stream multimedia in VLC you will find the option under File --> Open Network Stream in it you will be able to input URLs to popular multimedia websites such as YouTube along with other websites as well.

Webm support

Webm is a popular video format. To have it work the vorbis, vpx and matroska USE flags must be enabled.


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 — a powerful command-line media player
  • Mpv — a free and open source command-line media player.

External resources