VLC
VLC media player is a wildly popular, cross platform video player and streamer. VLC media player has been quickly achieving its goal of world domination[1] since its initial release in February of 2001.
Installation
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
+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
+ffmpeg
Enable ffmpeg/libav-based audio/video codec support
+gcrypt
Enable cryptography support via libgcrypt
+gui
Enable support for a graphical user interface
+libsamplerate
Build with support for converting sample rates using libsamplerate
alsa
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
aom
Enable AV1 encoding/decoding support using media-libs/libaom
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
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
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
directx
Enable Win32 DirectX, D3D11va and DxVA2 support
dvd
Add support for DVDs
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)
fontconfig
Support for configuring and customizing font access via media-libs/fontconfig
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, ...)
jack
Add support for the JACK Audio Connection Kit
jpeg
Add JPEG image support
kate
Adds support for Ogg Kate subtitles via libkate
keyring
Enable support for freedesktop.org Secret Service API password store
libass
SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support
libcaca
Add support for colored ASCII-art graphics
libdrm
Enable kernel mode setting video output plugin via x11-libs/libdrm
libnotify
Enable desktop notification support
libplacebo
Enable support for GPU accelerated video rendering with media-libs/libplacebo
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)
loudness
Enable loudness normalisation according to the EBU R128 standard using media-libs/libebur128
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
mp3
Add support for reading mp3 files
mtp
Enable support for Media Transfer Protocol
musepack
Enable support for the musepack audio codec
ncurses
Add ncurses support (console display library)
nfs
Enable support for nfs protocol via net-fs/libnfs
ogg
Add support for the Ogg container format (commonly used by Vorbis, Theora and flac)
omxil
Enable OpenMAX Integration Layer codec module
optimisememory
Enable optimisation for memory rather than performance
opus
Enable Opus audio codec support
png
Add support for libpng (PNG images)
projectm
Enable the projectM visualization plugin
pulseaudio
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire)
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!
samba
Add support for SAMBA (Windows File and Printer sharing)
selinux
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
sftp
Enable libssh2 to support SFTP file transfer
shout
Enable libshout output
sid
Enable SID (Commodore 64 audio) file support
skins
Enable support for the skins2 interface
soxr
Enable SoX Resampler support via media-libs/soxr
speex
Add support for the speex audio codec (used for speech)
srt
Enable support for Secure Reliable Transport (SRT) via net-libs/srt
ssl
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
svg
Add support for SVG (Scalable Vector Graphics)
taglib
Enable tagging support with taglib
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
theora
Add support for the Theora Video Compression Codec
tremor
Enable tremor, a fixed-point version of the Ogg Vorbis decoder
truetype
Add support for FreeType and/or FreeType2 fonts
twolame
Enable twolame support (MPEG Audio Layer 2 encoder)
udev
Enable virtual/udev integration (device discovery, power and storage device support, etc)
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
vdpau
Enable the Video Decode and Presentation API for Unix acceleration interface
vnc
Enable VNC (remote desktop viewer) support
vpx
Add support for VP8/VP9 codecs (usually via media-libs/libvpx)
wayland
Enable dev-libs/wayland backend
x264
Enable H.264 encoding using x264
x265
Support X265 Encoder
xml
Add support for XML files
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.
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 app-portage/gentoolkit is installed (it is a highly recommended package to have), simply issue:
root #euse -E lua -p media-video/vlcAfter proper configuration and installation, streams can be opened via Media --> Open Network Stream.... Enter URLs to popular multimedia websites, such as YouTube or other websites.
WebM support
WebM is a popular video format. To have it work the vorbis , vpx , and matroska USE flags must be enabled.
VLSub
VLSub is an optional lua extension to automatically download subtitles from www.opensubtitles.org. To use it the lua and archive flags must be enabled.
Emerge
After setting desired USE flags for the initial installation, emerge VLC:
root #emerge --ask media-video/vlcUsage
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.
HTTP
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.
Hotkeys
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
- https://www.hongkiat.com/blog/vlc-tips-tricks/ - Tips and tricks for VLC.
- https://lifehacker.com/the-best-hidden-features-of-vlc-1654434241 - A lifehacker article on hidden features in VLC.
- https://www.shortcutworld.com/en/win/vlc-media-player.html - A list of keyboard shortcuts for VLC. Highly useful if VLC is frequently used!