CentOS

How to Install VLC on Fedora 44 / 43 / 42

VLC is the do-everything media player on Linux: it plays almost any audio or video container without prompting for codecs, handles DVD and Blu-ray ISO mounts, streams from network sources, and even runs as a lightweight transcoder on the command line. On Fedora, the basic vlc package is available from the default repositories, but most users want the full RPM Fusion plugin set so VLC can decode H.264, H.265, AAC, AC3 and the rest of the proprietary codec family that ships free OS distributions cannot touch.

Original content from computingforgeeks.com - post 116

This guide installs VLC on Fedora 44, 43, and 42. It covers the default Fedora install (limited codec coverage), the recommended RPM Fusion install (full codec support), the Flatpak alternative for users who prefer a sandboxed build, hardware-accelerated video decoding on Wayland, and a short reference of the keyboard shortcuts and CLI flags worth bookmarking.

Prerequisites

A Fedora 44, 43, or 42 desktop (Workstation, KDE Spin, Sway Spin, anything with a graphical session) with sudo access. RPM Fusion adds about 25 MiB to the package metadata cache and pulls 30-40 MiB more for the full VLC plugin set, so set aside roughly 200 MiB total for the install. No firewall or SELinux tweaks required.

Quick install from the default Fedora repo

Fedora carries VLC in the default updates repo. For a basic install (open-source codecs only, no H.264 or H.265 hardware decode), this single command is enough:

sudo dnf install -y vlc

Verify what Fedora’s repo offers before you run it:

dnf info vlc

The package version matches the upstream VideoLAN release for the Fedora cycle:

Available packages
Name           : vlc
Epoch          : 1
Version        : 3.0.23
Release        : 10.fc44
Architecture   : x86_64
Repository     : updates
Summary        : The cross-platform open-source multimedia framework, player and server
URL            : https://www.videolan.org

This works, but you will quickly hit a video that VLC refuses to play because Fedora is shipped without proprietary codec libraries. The fix is to add RPM Fusion and reinstall.

RPM Fusion is a community-maintained repository that ships the packages Fedora cannot include directly (patent-encumbered codecs, NVIDIA drivers, proprietary firmware, etc.). For VLC specifically, RPM Fusion contributes the vlc-plugins-freeworld add-on along with a full set of decoder libraries that VLC’s plugin loader picks up at runtime.

Step 1: Enable RPM Fusion (free and nonfree)

Install both the free and nonfree RPM Fusion release packages. The free repo carries the codec libraries themselves; the nonfree repo carries the patent-encumbered components and a handful of useful extras:

sudo dnf install -y \
  "https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm" \
  "https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm"

The $(rpm -E %fedora) expansion auto-resolves to your Fedora major version, so the same line works on Fedora 44, 43, and 42 without editing.

Confirm the four new repos are now in the list:

dnf repolist | grep -i rpmfusion

You should see the four RPM Fusion entries (both free and nonfree, both base and updates):

rpmfusion-free            RPM Fusion for Fedora 44 - Free
rpmfusion-free-updates    RPM Fusion for Fedora 44 - Free - Updates
rpmfusion-nonfree         RPM Fusion for Fedora 44 - Nonfree
rpmfusion-nonfree-updates RPM Fusion for Fedora 44 - Nonfree - Updates

For a deeper look at RPM Fusion (full codec swap, hardware-accelerated H.264, NVIDIA driver path), see the RPM Fusion and multimedia codecs guide.

Step 2: Install VLC and its plugin set

With RPM Fusion enabled, the dnf install vlc command pulls the full plugin family (Qt frontend, freeworld codec wrappers, ffmpeg integration, extra UI plugins) automatically:

sudo dnf install -y vlc

The transaction is around 100 packages because VLC has a wide plugin surface area. Key plugin packages that get installed:

vlc                                  Core player
vlc-gui-qt                           Qt6 graphical interface
vlc-gui-skins2                       Legacy skinnable UI
vlc-plugin-ffmpeg                    FFmpeg decoder/encoder backend
vlc-plugin-visualization             Audio visualisers
vlc-plugin-notify                    Desktop notifications
vlc-plugins-freeworld                Proprietary codec wrappers (RPM Fusion)
vlc-plugins-extra                    Less-common decoders and filters

Step 3: Verify the install

Check the VLC version. The Fedora 44 cycle ships VLC 3.0.23 “Vetinari”:

vlc --version 2>&1 | head -3
which vlc

The first three lines name the release, the build host, and the GCC compiler version used by the Fedora build farm:

VLC version 3.0.23 Vetinari (3.0.23-2-0-g79128878dd)
Compiled by mockbuild on 7af706f7c391472fb092764527b88fbf (Apr 17 2026 00:00:00)
Compiler: gcc version 16.0.1 20260321 (Red Hat 16.0.1-0) (GCC)
/usr/bin/vlc

VLC’s first window on Fedora 44 GNOME 50 looks like this, with the privacy dialog asking whether to allow metadata network access:

VLC 3.0.23 Vetinari running on Fedora 44 GNOME 50 with the privacy and network access policy dialog on first launch

Click Continue to accept the defaults. Then VLC is ready: drop a file in or use Media > Open File from the menu.

Launch VLC from the application menu (under Sound & Video) or directly from the terminal. To open a specific file at launch, pass it as an argument:

vlc /path/to/video.mkv &

Alternative: VLC via Flatpak

If you prefer a sandboxed install that does not touch system libraries (useful on minimal or Silverblue setups), VideoLAN publishes the official VLC Flatpak on Flathub:

flatpak install -y flathub org.videolan.VLC

The Flatpak ships its own bundled codec set, so it works on a stock Fedora install even without RPM Fusion. The tradeoffs: it lives behind Flatpak’s filesystem portal (you grant per-directory access), starts a fraction of a second slower than the RPM build, and uses around 200 MiB extra disk for the runtime. If you have not enabled Flathub yet, walk through the one-time setup in the Flatpak and Flathub guide.

Enable hardware-accelerated video playback

By default, VLC decodes video in software with FFmpeg. On laptops or low-power desktops, this drives the CPU hard during 4K H.265 playback and drains battery. Switch on VA-API (Intel and AMD GPUs) or VDPAU (older NVIDIA drivers) decoding in Preferences:

Open VLC, go to Tools > Preferences, switch the “Show settings” radio at the bottom-left to All, then navigate to Input / Codecs > Video codecs > FFmpeg. Set Hardware decoding to “VA-API video decoder” on Intel or AMD, or “VDPAU video decoder” on older NVIDIA stacks. Restart VLC.

Confirm the right path is in use by playing a known H.265 file and checking Tools > Codec Information. The Decoder line should mention vaapi or vdpau rather than avcodec.

For full multimedia stack coverage (the libavcodec-freeworld ffmpeg swap that ships with the unrestricted codec set, plus driver-specific notes for Intel quicksync and AMD VAAPI), follow the RPM Fusion codecs guide.

VLC on the command line

VLC is also a competent CLI tool. A few practical recipes:

Convert a video to MP4 with H.264 video and AAC audio (basic transcode):

vlc -I dummy input.mkv \
  --sout='#transcode{vcodec=h264,acodec=aac,vb=2000,ab=128,channels=2}:standard{access=file,mux=mp4,dst=output.mp4}' \
  vlc://quit

Stream an MP4 over HTTP on port 8080 so other devices on the LAN can play it in any browser or VLC client:

vlc -I dummy input.mp4 \
  --sout='#standard{access=http,mux=ts,dst=:8080}'

Extract a still frame from a video at the 30-second mark:

vlc input.mkv \
  --rate=1 --start-time=30 --stop-time=31 \
  --video-filter=scene --vout=dummy --aout=dummy \
  --scene-format=png --scene-path=/tmp \
  --scene-prefix=frame --scene-replace vlc://quit

For complex transcoding pipelines, FFmpeg directly is usually cleaner than VLC’s --sout syntax. VLC’s CLI shines for streaming and quick one-off conversions.

Keep VLC updated

VLC updates ship through the normal dnf cycle once Fedora packages the new upstream release:

sudo dnf upgrade -y vlc 'vlc-plugin-*' 'vlc-plugins-*'

If you installed via Flatpak, update with:

flatpak update -y org.videolan.VLC

Uninstall VLC

Remove the package and all plugins in one transaction:

sudo dnf remove -y 'vlc*'

User preferences live under ~/.config/vlc/. Remove them if you want a clean reinstall:

rm -rf ~/.config/vlc ~/.local/share/vlc ~/.cache/vlc

Troubleshooting

VLC plays audio but no video (or vice versa)

Almost always a missing codec for that container’s video stream. Open the file in VLC, then Tools > Codec Information to see the exact codec name (H.264, HEVC, AV1). Make sure RPM Fusion is enabled and reinstall the full VLC plugin set:

sudo dnf install -y vlc-plugins-freeworld 'vlc-plugin-*'

Black or green video frame

Usually a mismatch between VLC’s hardware decoder and the actual GPU driver. Drop back to software decoding to confirm the file plays: Tools > Preferences > Input/Codecs > Hardware-accelerated decoding, set to “Disable”. If video appears, the hardware path is the problem; try a different decoder (VA-API vs VDPAU) or update the GPU driver.

Audio plays at the wrong speed or pitch

The audio output module disagrees with the system’s PipeWire or PulseAudio config. Switch VLC’s audio output to “PulseAudio audio output” under Tools > Preferences > Audio > Output module and restart VLC.

VLC crashes immediately on launch with a SIGABRT

Usually a broken user configuration after an upgrade. Wipe the local config and let VLC regenerate defaults:

mv ~/.config/vlc ~/.config/vlc.bak
vlc &

Useful VLC shortcuts

A short reference of the keyboard shortcuts that pay for themselves the most:

ShortcutWhat it does
SpacePlay / pause
FToggle fullscreen
MMute audio
+ / -Increase / decrease playback speed
= (equals)Reset playback speed to 1x
Shift + Left / RightSkip 3 seconds back / forward
Alt + Left / RightSkip 10 seconds back / forward
Ctrl + Left / RightSkip 60 seconds back / forward
EFrame-by-frame forward
Shift + SCapture a still screenshot
VCycle subtitle tracks
BCycle audio tracks
Ctrl + QQuit

Once VLC is playing nicely, the next thing many users want is the rest of the multimedia stack: hardware video acceleration in Chrome and Firefox via the RPM Fusion codecs guide, sandboxed media apps from Flathub, or Google Chrome on Fedora with Widevine DRM for streaming services that need it.

Keep reading

Customize KDE Plasma Desktop with Themes|Modules|Extensions AlmaLinux Customize KDE Plasma Desktop with Themes|Modules|Extensions How To Extract .xz files on a Linux System CentOS How To Extract .xz files on a Linux System Extend Root Filesystem Using LVM on Linux KVM Extend Root Filesystem Using LVM on Linux Install Google Chrome on Fedora 44 / 43 / 42 CentOS Install Google Chrome on Fedora 44 / 43 / 42 Configure Graylog 7 Behind Nginx Reverse Proxy with Let’s Encrypt SSL Monitoring Configure Graylog 7 Behind Nginx Reverse Proxy with Let’s Encrypt SSL Install JBoss EAP 7.x on CentOS / RHEL / Rocky 8 CentOS Install JBoss EAP 7.x on CentOS / RHEL / Rocky 8

Leave a Comment

Press ESC to close