VLC
VLC media player, running natively on PlayStation 5.
A port of VLC 3.0 as a native PS5 app, with a controller-first interface.
Features
- Plays nearly anything VLC plays: H.264, HEVC (8 and 10-bit), AV1, VP9, VC-1, MPEG-2 and more, up to 4K, with every common audio format, including TrueHD, DTS-HD and Opus.
- Hardware decoding on the PS5's video chip for H.264 and HEVC up to 4K, 10-bit HDR included.
- HDR: HDR10 and HLG go to an HDR TV as HDR, and are tone mapped with natural colours on an SDR one. Dolby Vision files play as their HDR10 base.
- Upscaling to 4K for smaller videos (Off by default): EWA Lanczos Sharp, AMD FSR, FSRCNNX for films and shows, and Anime4K for anime.
- Library with Home, Videos, Music, Playlists and Browse: thumbnails, Continue watching, Favourites and search.
- Playlists: make your own, add any video or song from anywhere with Options, reorder them; covers made from their videos;
.m3ufiles on your drives play too. - Subtitles in every script, styled ASS/SSA, size and colour, delay, plus OpenSubtitles downloads.
- 5.1 / 7.1 surround, equalizer, night mode and audio delay.
- Network: SMB shares, DLNA servers, network links (HTTP, HLS, DASH…), free TV channels and internet radio.
- Phone & PC page: open
http://<ps5-ip>:8080in any browser to send files to the PS5, download them back to your phone or PC, or add your OpenSubtitles key. - Music mode with covers and a visualizer, a photo viewer, DVD / Blu-ray folders, and ZIP / RAR / 7z archives.
- Two looks (Classic and Modern) and 16 languages.
Install
You need a PS5 with kstuff running, plus ShadowMountPlus.
Download the latest release, then:
- Copy the
PPSA85300folder to/data/homebrew/. - Start VLC from the home screen.
- Add your media: a USB drive,
/data/vlc/, or send files from your pc/phone (Options › Send files from a phone).
Optional full access. With etaHEN, OnionHEN or the Helper, VLC can lift its sandbox. This gives it all of /data and USB drives plugged in while it runs. download helper.elf
All VLC Features
✅ In the app.
🎞️ Video
| Feature | Status |
|---|---|
| H.264, HEVC 8/10-bit, AV1, VP9, VC-1, MPEG-2, MPEG-4 and every format FFmpeg knows | ✅ |
| MKV, MP4, AVI, MOV, TS, WebM, FLV, OGG… | ✅ |
| Up to 4K at 60 Hz output | ✅ |
| Auto fast decoding when a file can't keep up | ✅ |
| Fast keyframe seeking | ✅ |
| Aspect ratios (fit, fill, stretch, 16:9, 4:3, 21:9) and zoom | ✅ |
| Deinterlace (auto / yadif) | ✅ |
| Picture controls: brightness, contrast, saturation, gamma, hue | ✅ |
| Rotate, flip, sharpen | ✅ |
| 360° videos (look around with the right stick) | ✅ |
| Frame-by-frame step | ✅ |
| Screenshots to PNG | ✅ |
| Hardware decoding (H.264 / HEVC) | ✅ |
| HDR → SDR tone mapping | ✅ |
| HDR10 output to the TV | ✅ |
| Hardware decoding (VP9 up to 4K) | ✅ |
| Upscaling up to 4K (EWA Lanczos, AMD FSR, FSRCNNX, Anime4K) | ✅ |
🔊 Audio
| Feature | Status |
|---|---|
| AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD, FLAC, ALAC, Opus, Vorbis, MP3 | ✅ |
| 5.1 / 7.1 surround output | ✅ |
| Speaker test | ✅ |
| Stereo downmix for headphones | ✅ |
| Audio delay (lip sync) | ✅ |
| 10-band equalizer with presets | ✅ |
| Night mode (compressor) | ✅ |
| Volume boost up to 200 % | ✅ |
| Preferred audio language | ✅ |
💬 Subtitles
| Feature | Status |
|---|---|
| SRT, ASS/SSA, embedded MKV/MP4, PGS, DVB, DVD, closed captions | ✅ |
| Every script: Arabic, Hebrew, Cyrillic, CJK, Thai, Devanagari… | ✅ |
| Styled ASS/SSA (libass: fonts, positions, karaoke) | ✅ |
Auto-load movie.srt next to the video |
✅ |
| Add a subtitle file while playing | ✅ |
| Subtitle delay | ✅ |
| Size, colour, background box | ✅ |
| Preferred subtitle language | ✅ |
| OpenSubtitles download (your own free API key) | ✅ |
▶️ Playback
| Feature | Status |
|---|---|
| Resume and Continue watching | ✅ |
| Seek preview while scrubbing | ✅ |
| Speed 0.25× – 4× | ✅ |
| Playlists | ✅ |
| Chapters (list, skip, marks on the seek bar) | ✅ |
| Bookmarks inside a file | ✅ |
| A–B repeat | ✅ |
| Loop, repeat list, shuffle | ✅ |
| Playlists (.m3u, .m3u8, .pls) | ✅ |
| Up next with countdown, Watch again | ✅ |
| Sleep timer | ✅ |
| Touchpad swipes (seek, volume) | ✅ |
📚 Library & interface
| Feature | Status |
|---|---|
| Home, Videos, Music, Browse tabs with thumbnails | ✅ |
| Classic and Modern looks | ✅ |
| Colour themes (Modern) + custom theme file | ✅ |
| 16 languages (follows the console's language) | ✅ |
| First-run setup | ✅ |
| Favourites | ✅ |
| Search with on-screen keyboard | ✅ |
| A–Z jump in long lists | ✅ |
| File details (codec, resolution, bitrate…) | ✅ |
| Delete files and folders | ✅ |
| USB drives detected while running | ✅ |
| Music mode: covers, artist / album, plays behind the menus | ✅ |
| Audio visualizer | ✅ |
| Photo viewer with slideshow | ✅ |
| Text / .nfo viewer | ✅ |
🌐 Network
| Feature | Status |
|---|---|
| PC/Phone page: send files over Wi-Fi | ✅ |
| SMB shares (Windows, NAS) with login | ✅ |
| DLNA / UPnP media servers | ✅ |
| Network links: HTTP, HTTPS, HLS, DASH, UDP, RTP, FTP | ✅ |
| Free TV channels (iptv-org) | ✅ |
| Internet radio (radio-browser) | ✅ |
💿 Discs & files
| Feature | Status |
|---|---|
| DVD folders and ISOs with menus | ✅ |
| Blu-ray folders and ISOs (unprotected) | ✅ |
| Blu-ray Java (BD-J) menus | ❌ Java Blu-ray menus not supported |
| ZIP, RAR and 7z archives open like folders | ✅ |
Controls
Library
| Button | Action |
|---|---|
| D-Pad | Move |
| ✕ | Play / open |
| ○ | Back |
| △ | Favourite |
| □ | Details / delete |
| L1 / R1 | Switch tabs |
| L2 / R2 | Jump A–Z |
| R3 | Search |
| Options | Settings, search, network link, phone… |
Player
| Button | Action |
|---|---|
| ✕ | Play / pause |
| ← / → | Back / forward 10 s |
| L2 / R2 | Back / forward 30 s |
| L1 / R1 | Previous / next chapter (or file) |
| △ | Tracks: audio, subtitles, playback, picture |
| □ | Next frame (while paused) |
| L3 | Screenshot |
| Touchpad | Show the controls · swipe to seek or change the volume |
| ○ | Back |
Folders on the PS5
| Path | What |
|---|---|
/data/homebrew/PPSA85300/media/ |
The app's own media folder |
/data/vlc/ |
Your media on the console (needs full access) |
/mnt/usb0 … /mnt/usb7, /mnt/ext0 |
USB and extended storage |
/data/homebrew/PPSA85300/vlc-ps5.log |
Log of the last session (attach it when reporting a problem) |
Building
On Linux (WSL2 Ubuntu works), with PS5_Vulkan built in ~/ps5/PS5_Vulkan:
mkdir -p ~/ps5/vlc-ps5/src && cd ~/ps5/vlc-ps5/src
curl -LO https://download.videolan.org/pub/videolan/vlc/3.0.24/vlc-3.0.24.tar.xz
tar xf vlc-3.0.24.tar.xz && cd - # back to this repository
TARGET=ps5 bash ps5/deps/build-deps.sh # the libraries (FFmpeg, GnuTLS, libass…)
TARGET=ps5 bash ps5/configure-vlc.sh # libvlc 3.0.24 with every plugin linked in
bash ps5/build-title.sh # dist/PPSA85300/ with a signed eboot.bin
The libraries are downloaded by build-deps.sh; the changes to VLC and FFmpeg are in patches/. bash host/build-app.sh builds a Linux version of the app for testing.
Credits
- VLC by VideoLAN and its contributors, and FFmpeg.
- Mihawk-99: PS5_Vulkan, RADV on the PS5.
- ps5-payload-dev SDK, kstuff, etaHEN, ShadowMountPlus and the PS5 scene.
- AMD FidelityFX FSR 1 (MIT licence): the FSR 1 upscaler.
- FSRCNNX by igv (LGPL-3.0): the FSRCNNX upscaler, run from its mpv shader file.
- Anime4K by bloc97 (MIT licence): the Anime4K upscaler, run from its mpv shader files.
- The idea of using these mpv shaders together comes from mpv-anime-build by Chinna95P.
- Dear ImGui, volk, stb, GnuTLS, libsmb2, libupnp, libxml2, libass, FreeType, FriBidi, HarfBuzz, libdvdnav, libbluray and libarchive.
- Fonts: Inter, Selawik, DejaVu Sans Mono and Noto.
- iptv-org, radio-browser.info and OpenSubtitles.
- The "Redesign by Juxtopposed" look is based on VLC Redesign by Juxtopposed, used under CC BY 4.0 and adapted for the PS5. Thanks to StickyGonzales for showing the design working on real VLC.
License
VLC for PS5 is licensed under the GNU General Public License v3.0 (see LICENSE).
VLC itself is GPL-2.0-or-later / LGPL-2.1-or-later. The bundled libraries and fonts keep their own licenses.
