VLC Media Player

videolan.org/vlc
VLC Media Player

Free, cross-platform media player from the non-profit VideoLAN project. Plays almost any audio or video format locally, with no ads, trackers or telemetry. VLC has many powerful features and settings, but the UI can initially be hard to use.

Open Source

VLC Media Player Source Code

Author

videolan

Description

VLC media player - plays everything, runs anywhere. Code here: https://code.videolan.org/videolan/vlc

#c#framework#gplv2#lgpl#multimedia#open-source#vlc

Homepage

http://www.videolan.org/vlc

Repository

  • LicenseGPL-2.0
  • Created29 Jan 12
  • Primary languageC
  • Size670,627 KB
  • Stars19,347
  • Forks6,151
  • Watchers19,347

Language Usage

Language Usage

Project Health

  • Last commit2 hours ago
  • Open issues2
  • Latest releasesvn-trunk

Top Contributors

Recent Commits

  • François Cartegnie(08 Jul 26)

    demux: avi: fix embedded sub segfault refs #29972 Reported-by: HE WEI (ギカク) <[email protected]>

  • François Cartegnie(08 Jul 26)

    demux: ogg: fix skeleton read fix #29959 Reported-by: Tristan Madani <[email protected]>

  • François Cartegnie(27 Apr 26)

    codec: cvdsub: check block payload size when rendering refs #29863

  • François Cartegnie(27 Apr 26)

    codec: cvdsub: refactor RLE unpacking refs #29864

  • François Cartegnie(01 Apr 26)

    codec: png: use checked arithmetic for alloc refs #29719

  • François Cartegnie(01 Apr 26)

    codec: jpeg: use checked arithmetic for alloc refs #29719

  • Alexandre Janniaux(08 Aug 26)

    test: transcode: check the output order on drain The previous commit fixed the regression from commit d8c883e273f333d7e2d8c2c2df1e35b280021df5 which made drained video frames being mixed up ahead of the frames coming right before. This new test stamps the frames and check that everything is coming in order to avoid this issue. To reproduce the issue, the test first generates regular frames and then makes the transcode drain, leading to the held and encoder drain queues. The decoder releases the pictures it was holding, which are encoded and left pending in the transcode output, and the encoder then releases the frames it was holding for itself when it gets drained in turn. seq: 0 1 2 3 | 4 5 6 7 8 | 9 10 11 -------- ----------- -------- regular held frames drained frames frames To ensure this order, the frame sequence number and test stage are saved into each picture. This test heavily relies on the fact that stream output pipeline is processed synchronously by the input and not queued at the input level.

  • Alexandre Janniaux(08 Aug 26)

    transcode: fix the encoded end-of-stream picture order The drained pictures and those that were outputs right before drained but not already sent over were inverted when sent to the downstream stream output component. It put the end of the stream ahead of the blocks that were before it. Regression from d8c883e273f333d7e2d8c2c2df1e35b280021df5.

  • Claudio Cambra(13 Aug 26)

    macosx: Fix infinite load on empty removable storages Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(12 Aug 26)

    macosx: Only dump child cache and reload data when preparse change notification does not target currently-viewed folder Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(12 Aug 26)

    macosx: Acquire input node child counts on separate dispatch queue (and cache them) Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(12 Aug 26)

    macosx: Add childCountForInputNode to media source types Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(11 Aug 26)

    macosx: Handle preparse state on a per-item basis Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(11 Aug 26)

    macosx: Check specifically for suffix in status notifier view notifications Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(11 Aug 26)

    macosx: Notify on in-tree preparse end Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(11 Aug 26)

    macosx: Add preparse meta-info to media source notification emission Signed-off-by: Claudio Cambra <[email protected]>

  • Serhii Bykov(10 Aug 26)

    macos: dispatch media source reloads to the main queue # Conflicts: # modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m

  • Steve Lhomme(13 Aug 26)

    contrib: vulkan-headers: remove old headers before building Older headers can lead to build issues.

  • Steve Lhomme(13 Aug 26)

    contrib: vulkan*: do not require CMake 3.22 We currently require CMake 3.21. And it builds fine with CMake 3.21. It was just bumped to match SPIRV [^1] [^2]. [^1]: https://github.com/KhronosGroup/Vulkan-Headers/commit/234c4b7370a8ea3239a214c9e871e4b17c89f4ab [^2]: https://github.com/KhronosGroup/Vulkan-Loader/commit/b05d038c3348a8c8d4024abe84c7411b3068ebe7

  • Serhii Bykov(11 Aug 26)

    macos: use rounded style for empty library Browse button

  • François Cartegnie(12 Jan 26)

    demux: mp4: fix iTun reads refs #29536

  • François Cartegnie(19 Mar 26)

    demux: mp4: move APV code to proper handler

  • François Cartegnie(19 Mar 26)

    demux: mp4: fix APV invalid deref refs #29677

  • Claudio Cambra(12 Aug 26)

    macosx: Ensure thumbnail is correctly acquired in controls bars and decorative views for ml items Signed-off-by: Claudio Cambra <[email protected]>

  • Claudio Cambra(12 Aug 26)

    macosx: Ensure expected media item title is presented in playqueue and controls bars Signed-off-by: Claudio Cambra <[email protected]>

  • Steve Lhomme(15 Aug 26)

    Revert "CI: use a single job with a matrix for Wasm" For this optimization to work, it required that the script to move the tarball knew about the group name in addition to the job name. But Gitlab doesn't provide this. And we can't really tweak the job name when using grouped jobs... This reverts commit 48428f8375227a68902871774df1c4b793c95cde.

  • Steve Lhomme(11 Aug 26)

    demux: aiff: do not try to read a file if seeking is not possible The AIFF parser parses the file until the end (skipping the chunks data) and then seeks to the beginning of the SSND chunk. If seeking is not possible we can't do that.

  • Steve Lhomme(31 Jul 26)

    demux: aiff: make i_ssnd_pos unsigned It's either -1 (unset) or comes from vlc_stream_Tell() which gives a uint64_t. As a consequence i_ssnd_start and i_ssnd_end and also unsigned.

  • Steve Lhomme(11 Aug 26)

    demux: aiff: use more local variables in Open()

  • Steve Lhomme(31 Jul 26)

    demux: aiff: make i_ssnd_offset a uint32_t It's read as an unsigned 32-bit value.

VLC Media Player Security

4.5/10

Repo Security Summary

Updated 27 Jul 26 Fuzz tested

  • PackagingN/A
  • Maintained10/10
  • Code-Review0/10
  • Token-PermissionsN/A
  • Dangerous-WorkflowN/A
  • CII-Best-Practices0/10
  • Security-Policy0/10
  • License10/10
  • SAST0/10
  • Signed-ReleasesN/A
  • Branch-Protection0/10
  • Binary-Artifacts10/10
  • Fuzzing10/10
  • Pinned-DependenciesN/A

VLC Media Player Website

Website

Official download of VLC media player, the best Open Source player - VideoLAN

Official download of VLC media player, the best Open Source player

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address213.36.253.2
  • Hostnamegoldeneye.videolan.org
  • LocationParis,Ile-de-France,France,EU
  • ISPScaleway SAS
  • ASNAS12322

Associated Countries

  • FRFR

Safety Score

Website marked as safe

100%

Blacklist Check

www.videolan.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

VLC Media Player Android App

APK Info

De-Googled Compatibility

Native3.98/ 462 ratings
microG4.00/ 429 ratings
  • GrapheneOSNative4.0 / 4(41)
  • LineageOSNative4.0 / 4(14)
  • e OSmicroG4.0 / 4(8)
  • CalyxOSmicroG4.0 / 4(8)
  • LineageOSmicroG4.0 / 4(5)
  • iodeOSmicroG4.0 / 4(3)

Tested on Android 6–17 · Updated 29 Jul 26 · View on Plexus →

Trackers

No trackers found

    Permissions

    • Access Network State
    • Bluetooth
    • Internet
    • Modify Audio Settings
    • Receive Boot Completed
    • System Alert Window
    • Vibrate
    • Wake Lock
    • Write External Storage
    • Write Settings
    • Bind Data Consumer
    • Read Extension Data

    VLC Media Player iOS App

    App Info

    VLC media player

    VLC is a free and open source cross-platform multimedia player. It can play all your movies, shows and music in most formats directly without conversion. It allows file synchronization with Dropbox, GDrive, OneDrive, Box, iCloud Drive, iTunes, direct downloads and through Wi-Fi sharing as well as streaming from SMB, FTP, SFTP, NFS, UPnP/DLNA media servers and the web. VLC offers support for advanced subtitles including full SSA compatibility, multi-track audio, playback speed control and rendering through Chromecast. VLC is completely free and open source.

    Rating

    Rated 3.7 out of 5 stars by 5,717 users

    Version Info

    • Current Version3.7.3
    • Last Updated24 Apr 26
    • First Released19 Jul 13
    • Minimum iOS Version9.0
    • Device Models Supported139

    App Details

    • IPA Size186.22 Mb
    • PriceFree (USD)
    • Age Advisory4+
    • Supported Languages48
    • DeveloperVideoLAN
    • Bundle IDorg.videolan.vlc-ios

    Screenshots

    • App screenshot
    • App screenshot
    • App screenshot
    • App screenshot

    VLC Media Player Reviews

    More Video Players

    ⚠️ This section is still a work in progress ⚠️
    Check back soon, or help us complete it by submiting a pull request on GitHub.
    Or submit an entry here

    About the Data: VLC Media Player

    Change History

    Edit VLC Media Player Data

    You can edit VLC Media Player's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
    Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

    Origin Data

    Modify Data

    API

    You can access VLC Media Player's data programmatically via our API. Simply make a GET request to:

    https://api.awesome-privacy.xyz/v1/services/vlc-media-player

    The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

    Share VLC Media Player

    Help your friends compare Video Players, and pick privacy-respecting software and services.
    Share VLC Media Player and Awesome Privacy with your network!