Difference between revisions of "VLC media player"
(→See also: Add link to playerctl for controlling vlc) |
(→See also: link Wikipedia article) |
||
(66 intermediate revisions by 33 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:Multimedia players]] |
+ | [[de:VLC]] | ||
+ | [[fa:پخشکننده صوتیتصویری VLC]] | ||
[[ja:VLC media player]] | [[ja:VLC media player]] | ||
− | From the project [ | + | From the project [https://www.videolan.org/vlc/ home page]: |
− | : | + | :VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols. |
== Installation == | == Installation == | ||
− | [[ | + | [[Install]] the {{Pkg|vlc}} package. |
Notable variants are: | Notable variants are: | ||
* {{AUR|vlc-git}} - Development branch. | * {{AUR|vlc-git}} - Development branch. | ||
− | + | * {{AUR|vlc-nox}} - Without X support. | |
− | |||
== Language == | == Language == | ||
− | + | VLC does not offer an option to change language in its ''Preferences'' menu. But you can use the ''LANGUAGE='' prefix. For instance, modify the {{ic|/usr/share/applications/vlc.desktop}} line: | |
Exec=/usr/bin/vlc %U | Exec=/usr/bin/vlc %U | ||
to: | to: | ||
Line 23: | Line 24: | ||
== Skins == | == Skins == | ||
− | VLC can be "skinned" for a different look and feel. You can | + | VLC can be "skinned" for a different look and feel. You can get skins at the [https://www.videolan.org/vlc/skins.php skins website]. |
− | + | To install a skin download it and move it to: | |
~/.local/share/vlc/skins2 | ~/.local/share/vlc/skins2 | ||
Open up VLC, click ''Tools > Preferences''. When the preferences window opens up you should be in the "Interface" tab | Open up VLC, click ''Tools > Preferences''. When the preferences window opens up you should be in the "Interface" tab | ||
− | Choose the "Use custom skin" radio button, and | + | Choose the "Use custom skin" radio button, and select the downloaded skin. |
Restart VLC for the change to take effect. | Restart VLC for the change to take effect. | ||
− | |||
− | |||
== Web interface == | == Web interface == | ||
Line 48: | Line 47: | ||
== Tips and tricks == | == Tips and tricks == | ||
− | === | + | === Twitch.tv streaming over VLC === |
− | + | See [[Streamlink#Twitch]]. | |
− | + | === Playing streamed content from a local DLNA server === | |
− | + | If you find that trying to play uPNP/DLNA content (by going to ''View > Playlist > Local Network > Universal Plug'n'Play''), that vlc fails to see the DLNA server on the local network, then make sure that the firewall is not blocking port 1900 UDP. It is essential that this port is open in order to play local uPNP/DLNA content. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Control using hotkeys or cli === | === Control using hotkeys or cli === | ||
Line 71: | Line 64: | ||
Either run the script from the command line or register the script with keyboard shortcuts through your desktop. | Either run the script from the command line or register the script with keyboard shortcuts through your desktop. | ||
+ | |||
+ | Alternatively, you can use dbus-send [https://theelitist.github.io/control-vlc-media-player-through-d-bus as discussed here] to interact with VLC: | ||
+ | $ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause | ||
=== Preventing multiple instances === | === Preventing multiple instances === | ||
− | The default settings for VLC is to open a new instance of the program for each file that is opened. This can be annoying if you are using VLC for something like playing your music collection. | + | The default settings for VLC is to open a new instance of the program for each file that is opened. This can be annoying if you are using VLC for something like playing your music collection. You can disable this in ''Tools > Preferences > Interface > Instances > Allow only one instance''. Optionally, tick ''Enqueue files when in one instance mode'' which keeps current file playing and adds any newly opened files to the current playlist. |
+ | |||
+ | === Hardware acceleration support === | ||
+ | |||
+ | See [[Hardware video acceleration]]. | ||
− | + | VLC automatically tries to use an available API, but you can override it by going to ''Tools > Preferences > Input & Codecs'' and choosing the suitable option under ''Hardware-accelerated decoding'', e.g. {{ic|Video Acceleration (VA) API}} for VA-API or {{ic|Video Decode and Presentation API for Unix (VDPAU)}} for VDPAU. | |
− | |||
− | |||
− | |||
− | |||
− | === | + | === systemd service === |
+ | VLC's web interface can be started from systemd. First, you need to create a default user. This example will use UID 75 since it's not reserved according to [[DeveloperWiki:UID / GID Database]]. | ||
− | + | # useradd -c "VLC daemon" -d / -G audio -M -p \! -r -s /usr/bin/nologin -u 75 -U vlcd | |
− | + | Now create the systemd service file: | |
− | == | + | {{hc|/etc/systemd/system/vlc.service|<nowiki> |
+ | [Unit] | ||
+ | Description=VideoOnLAN Service | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=forking | ||
+ | User=vlcd | ||
+ | ExecStart=/usr/bin/vlc --daemon --syslog -I http --http-port 8090 --http-password</nowiki> ''password''<nowiki> | ||
+ | Restart=on-abort | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </nowiki>}} | ||
+ | |||
+ | [[Start]] and [[enable]] {{ic|vlc.service}}. Log in to http://''yourmachine'':8090/ with no username and with the password you put in the service file. | ||
+ | |||
+ | === Chromecast support === | ||
+ | |||
+ | Starting with 3.0 release (''Vetinari'' branch), VLC can stream to chromecast devices on the same wireless network. | ||
+ | |||
+ | Install packages: | ||
− | + | * {{Pkg|libmicrodns}} - VLC can find the chromecast device and it shows up in ''Playback > Renderer'' menu | |
+ | * {{Pkg|protobuf}} - enables streaming to the selected device in ''Playback > Renderer'' menu | ||
− | + | == Troubleshooting == | |
− | |||
− | |||
− | |||
− | |||
− | |||
=== Video broken or other issue after upgrade === | === Video broken or other issue after upgrade === | ||
Now and then VLC will have some issues with configuration even in minor releases. Before making bug reports, remove or rename your configuration located at {{ic|~/.config/vlc}} and confirm whether the issue is still there. | Now and then VLC will have some issues with configuration even in minor releases. Before making bug reports, remove or rename your configuration located at {{ic|~/.config/vlc}} and confirm whether the issue is still there. | ||
+ | |||
+ | If using a ffmpeg variant from the AUR, be sure that you have upgraded it as well. Pacman will not upgrade it when necessary and a mismatch will break VLC. | ||
=== Segmentation fault === | === Segmentation fault === | ||
− | When starting VLC you can get a segfault, a possible workaround to this is running the following: | + | When starting VLC you can get a segfault, and ruling out general factors such as [[Microcode]], a possible workaround to this is running the following: |
− | + | ||
+ | # /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins | ||
+ | |||
Then reinstall VLC. | Then reinstall VLC. | ||
+ | |||
+ | If that does not work, VLC has a segfault issue with {{ic|plugins.dat}} (see {{Bug|57777}}), simply remove the file: | ||
+ | |||
+ | # rm /usr/lib/vlc/plugins/plugins.dat | ||
=== Missing icons in dropdown menus === | === Missing icons in dropdown menus === | ||
− | This can happen under XFCE, there will be no more icons in dropdown menus, like | + | This can happen under XFCE, there will be no more icons in dropdown menus, like the PCI card icon. |
Execute these commands to reactivate these icons: | Execute these commands to reactivate these icons: | ||
Line 118: | Line 140: | ||
$ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true | $ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true | ||
}} | }} | ||
+ | |||
+ | === Failed to open VDPAU backend === | ||
+ | |||
+ | See [[Hardware video acceleration#Failed to open VDPAU backend]]. | ||
+ | |||
+ | Since your system probably doesn't support VDPAU you should tell VLC to use VA-API instead, see [[#Hardware acceleration support]]. | ||
+ | |||
+ | === No playback via SFTP of media files names containing spaces === | ||
+ | |||
+ | If VLC does not play any videos or audio files over SFTP make sure you have {{Pkg|sshfs}} installed. | ||
+ | |||
+ | If it refuses to play any media files containing spaces via SFTP and always asks for authentication change the Exec line in the vlc.desktop file from | ||
+ | |||
+ | Exec=/usr/bin/vlc --started-from-file %U | ||
+ | |||
+ | to | ||
+ | |||
+ | Exec=/usr/bin/vlc --started-from-file %F | ||
+ | |||
+ | [https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/239431/comments/11] | ||
== See also == | == See also == | ||
+ | * [[Wikipedia:VLC media player|Wikipedia article]] | ||
* [[List of applications#Multimedia]] | * [[List of applications#Multimedia]] | ||
− | * [ | + | * [https://www.videolan.org/vlc/ VLC homepage] |
* [https://github.com/acrisci/playerctl playerctl]: A command-line utility and library for controlling media players | * [https://github.com/acrisci/playerctl playerctl]: A command-line utility and library for controlling media players | ||
− | * [ | + | * [https://wiki.videolan.org/Control_VLC_via_a_browser Control VLC via a browser] |
Revision as of 09:14, 13 May 2018
From the project home page:
- VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols.
Contents
Installation
Notable variants are:
Language
VLC does not offer an option to change language in its Preferences menu. But you can use the LANGUAGE= prefix. For instance, modify the /usr/share/applications/vlc.desktop
line:
Exec=/usr/bin/vlc %U
to:
Exec=LANGUAGE=fr /usr/bin/vlc %U
to switch VLC interface to French.
Skins
VLC can be "skinned" for a different look and feel. You can get skins at the skins website.
To install a skin download it and move it to:
~/.local/share/vlc/skins2
Open up VLC, click Tools > Preferences. When the preferences window opens up you should be in the "Interface" tab
Choose the "Use custom skin" radio button, and select the downloaded skin.
Restart VLC for the change to take effect.
Web interface
Run VLC with the parameter --extraintf=http
to use both the desktop and web interface. The --http-host
parameter specifies the address to, which is localhost
by default. To set a password, use --http-password
, otherwise VLC will not allow you to log in.
# vlc --extraintf=http --http-host 0.0.0.0:8080 --http-password 'yourpasswordhere'
Or you can enable this feature in the UI by navigating to View > Add Interface > Web Interface.
VLC defaults to port 8080: http://127.0.0.1:8080
Edit /usr/share/vlc/lua/http/.hosts
to allow remote connections. You will need to restart VLC in order for changes to take effect.
Tips and tricks
Twitch.tv streaming over VLC
See Streamlink#Twitch.
Playing streamed content from a local DLNA server
If you find that trying to play uPNP/DLNA content (by going to View > Playlist > Local Network > Universal Plug'n'Play), that vlc fails to see the DLNA server on the local network, then make sure that the firewall is not blocking port 1900 UDP. It is essential that this port is open in order to play local uPNP/DLNA content.
Control using hotkeys or cli
Install openbsd-netcat.
Get script at: http://crunchbang.org/forums/viewtopic.php?pid=112035%23p112035#p112035
Follow instructions in script to setup a socket for VLC.
Either run the script from the command line or register the script with keyboard shortcuts through your desktop.
Alternatively, you can use dbus-send as discussed here to interact with VLC:
$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
Preventing multiple instances
The default settings for VLC is to open a new instance of the program for each file that is opened. This can be annoying if you are using VLC for something like playing your music collection. You can disable this in Tools > Preferences > Interface > Instances > Allow only one instance. Optionally, tick Enqueue files when in one instance mode which keeps current file playing and adds any newly opened files to the current playlist.
Hardware acceleration support
See Hardware video acceleration.
VLC automatically tries to use an available API, but you can override it by going to Tools > Preferences > Input & Codecs and choosing the suitable option under Hardware-accelerated decoding, e.g. Video Acceleration (VA) API
for VA-API or Video Decode and Presentation API for Unix (VDPAU)
for VDPAU.
systemd service
VLC's web interface can be started from systemd. First, you need to create a default user. This example will use UID 75 since it's not reserved according to DeveloperWiki:UID / GID Database.
# useradd -c "VLC daemon" -d / -G audio -M -p \! -r -s /usr/bin/nologin -u 75 -U vlcd
Now create the systemd service file:
/etc/systemd/system/vlc.service
[Unit] Description=VideoOnLAN Service After=network.target [Service] Type=forking User=vlcd ExecStart=/usr/bin/vlc --daemon --syslog -I http --http-port 8090 --http-password password Restart=on-abort [Install] WantedBy=multi-user.target
Start and enable vlc.service
. Log in to http://yourmachine:8090/ with no username and with the password you put in the service file.
Chromecast support
Starting with 3.0 release (Vetinari branch), VLC can stream to chromecast devices on the same wireless network.
Install packages:
- libmicrodns - VLC can find the chromecast device and it shows up in Playback > Renderer menu
- protobuf - enables streaming to the selected device in Playback > Renderer menu
Troubleshooting
Video broken or other issue after upgrade
Now and then VLC will have some issues with configuration even in minor releases. Before making bug reports, remove or rename your configuration located at ~/.config/vlc
and confirm whether the issue is still there.
If using a ffmpeg variant from the AUR, be sure that you have upgraded it as well. Pacman will not upgrade it when necessary and a mismatch will break VLC.
Segmentation fault
When starting VLC you can get a segfault, and ruling out general factors such as Microcode, a possible workaround to this is running the following:
# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins
Then reinstall VLC.
If that does not work, VLC has a segfault issue with plugins.dat
(see FS#57777), simply remove the file:
# rm /usr/lib/vlc/plugins/plugins.dat
This can happen under XFCE, there will be no more icons in dropdown menus, like the PCI card icon.
Execute these commands to reactivate these icons:
$ gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true $ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true
Failed to open VDPAU backend
See Hardware video acceleration#Failed to open VDPAU backend.
Since your system probably doesn't support VDPAU you should tell VLC to use VA-API instead, see #Hardware acceleration support.
No playback via SFTP of media files names containing spaces
If VLC does not play any videos or audio files over SFTP make sure you have sshfs installed.
If it refuses to play any media files containing spaces via SFTP and always asks for authentication change the Exec line in the vlc.desktop file from
Exec=/usr/bin/vlc --started-from-file %U
to
Exec=/usr/bin/vlc --started-from-file %F
See also
- Wikipedia article
- List of applications#Multimedia
- VLC homepage
- playerctl: A command-line utility and library for controlling media players
- Control VLC via a browser