VLC Media Player
videolan.org/vlcFree, 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.
- Homepage: videolan.org/vlc
- GitHub: github.com/videolan/vlc
- Source: code.videolan.org/videolan/vlc
- iOS App: apps.apple.com/us/app/vlc-media-player/id650377962
- Android App: play.google.com/.../org.videolan.vlc
- Subreddit: r/VLC
- Web info: web-check.xyz/check/videolan.org
VLC Media Player Source Code
Author
Description
VLC media player - plays everything, runs anywhere. Code here: https://code.videolan.org/videolan/vlc
Homepage
http://www.videolan.org/vlcLicense
GPL-2.0
Created
29 Jan 12
Last Updated
12 Jul 26
Latest version
Primary Language
C
Size
671,096 KB
Stars
18,981
Forks
6,051
Watchers
18,981
Language Usage
Star History
Top Contributors
-
@robUx4 (9918)
-
@jbkempf (7098)
-
@fcartegnie (6797)
-
@tguillem (5350)
-
@fkuehne (3953)
-
@claucambra (3547)
-
@funman (3045)
-
@fuzun (2558)
-
@pdherbemont (2432)
-
@alexandre-janniaux (2304)
-
@chouquette (1955)
-
@ivoire (1912)
-
@hartman (1649)
-
@chubinou (1644)
-
@jpsaman (1627)
-
@antoinecellerier (1623)
-
@jagannatharjun (1265)
-
@ePirat (1162)
-
@ilkka-ollakka (959)
-
@linkfanel (827)
-
@tmatth (652)
-
@FilipRoseen-refp (601)
-
@rom1v (590)
-
@3unjee (567)
-
@jnqnfe (551)
-
@AlaricSenat (421)
-
@thresheek (395)
-
@mstorsjo (388)
-
@ipkiss42 (333)
-
@oaubert (267)
-
@JohannesKauffmann (254)
-
@komh (253)
-
@quink-black (228)
-
@etix (212)
-
@helkanen (211)
-
@haasn (171)
-
@magwyz (161)
-
@Geal (149)
-
@Psilokos (143)
-
@hpi1 (129)
-
@TypX (126)
-
@durkovic (122)
-
@flx42 (120)
-
@julianscheel (115)
-
@yoann (113)
-
@SeanMcG (110)
-
@edwardcwang (107)
-
@ssbssa (104)
-
@LeonVitanos (102)
-
@AbelTesfaye (79)
-
@mirsal (78)
-
@its-ayush-07 (67)
-
@lool (66)
-
@Christoph-Miebach (61)
-
@xlmod (54)
-
@rohanrajpal (53)
-
@mfkl (52)
-
@esphynox (52)
-
@Labnann (50)
-
@srikiraju (48)
-
@XHCFS (47)
-
@umxprime-vlabs (45)
-
@tvermaashutosh (44)
-
@nkoriyama (41)
-
@mcraiha (40)
-
@danielverkamp (39)
-
@salshaaban (37)
-
@dheitmueller (37)
-
@dilaroga (36)
-
@mtrz (34)
-
@brad0 (34)
-
@sebastinas (34)
-
@sammirata (34)
-
@eramdam (33)
-
@msabwat (33)
-
@kodawah (32)
-
@dnicolson (30)
-
@kwizart (30)
-
@DimStar77 (29)
-
@jmenon (28)
-
@impulze (27)
-
@ConfusedVorlon (26)
-
@yhuelf (23)
-
@jknockel (23)
-
@elthariel (23)
-
@k10kan (23)
-
@caprica (22)
-
@mohit-marathe (22)
-
@Djain318 (22)
-
@akashm1990 (21)
-
@Thannoy (21)
-
@ileoo (21)
-
@lu-zero (21)
-
@lukasdurfina (21)
-
@qchateau (21)
-
@ovheurdrive (20)
-
@cmathe (20)
-
@XilasZ (20)
-
@anotherwon (20)
-
@shalzz (19)
Recent Commits
-
Claudio Cambra (09 Jul 26)
macosx: Improve fallback string for header view in abstract grouping data sources Signed-off-by: Claudio Cambra <[email protected]>
-
Claudio Cambra (09 Jul 26)
macosx: Add fallback display string for section headers Signed-off-by: Claudio Cambra <[email protected]>
-
Serhii Bykov (26 May 26)
macosx: fix crash when right-clicking empty space in library table view
-
Saifelden Mohamed Ismail (08 Jul 26)
decoder: don't drain the audio output again before a flush
-
Thomas Guillem (10 Jul 26)
core: input_item: hide libvlc_owner in input_item_owner
-
Thomas Guillem (10 Jul 26)
lib: media_player: don't hold media and next_media Not needed since the last commit (libvlc_media_t and input_item_t share the same ref count). This allows to fix a discrepancy between lib and core for libvlc_media_player_get_media (cf. updated comment).
-
Thomas Guillem (09 Jul 26)
lib: media: share the input item reference count A media had its own reference count, linked to its item by the unretained item->libvlc_owner pointer, never cleared on destruction. The libvlc player callbacks could resolve medias via libvlc_owner after its destruction. The media is now destroyed with its input item, via the new libvlc_owner_release callback. There is now a one to one relation between `libvlc_media_t` and `input_item_t` (not possible anymore to have several media referencing a single item). Fixes the following ASan report, triggered by the new test_media_player_switch_media test without this fix: ``` xeon ~/work/git/vlc/build-asan $ ./test/test_libvlc_media_player testapi: Testing set_media testapi: Waiting for playing testapi: Testing media switch while playing testapi: Waiting for playing testapi: Waiting for the media change ================================================================= ==953845==ERROR: AddressSanitizer: heap-use-after-free on address 0x504000054c70 at pc 0x7f83b5f47330 bp 0x7f83a88fcfb0 sp 0x7f83a88fcfa8 WRITE of size 4 at 0x504000054c70 thread T4 (vlc-input) #0 0x7f83b5f4732f in on_media_meta_changed ../../lib/media_player.c:417 #1 0x7f83b5588a29 in input_thread_Events ../../src/player/input.c:1130 #2 0x7f83b552e47d in input_SendEvent ../../src/input/event.h:36 #3 0x7f83b552ed2e in input_SendEventMetaInfo ../../src/input/event.h:167 #4 0x7f83b553dc57 in EsOutDeleteInfoEs ../../src/input/es_out.c:4911 #5 0x7f83b5544a73 in EsOutDelLocked ../../src/input/es_out.c:3303 #6 0x7f83b5545c1f in EsOutDel ../../src/input/es_out.c:3354 #7 0x7f83b555475c in es_out_Del ../../include/vlc_es_out.h:153 #8 0x7f83b555475c in CmdExecuteDel ../../src/input/es_out_timeshift.c:1600 #9 0x7f83b5554afb in Del ../../src/input/es_out_timeshift.c:447 #10 0x7f83aa338e7a in es_out_Del ../../include/vlc_es_out.h:151 #11 0x7f83aa338e7a in DeleteTrack ../../modules/demux/mock.c:902 #12 0x7f83aa338f4d in Close ../../modules/demux/mock.c:1544 #13 0x7f83b54dba60 in module_unneed ../../src/modules/modules.c:291 #14 0x7f83b550d06b in vlc_access_Destroy ../../src/input/access.c:53 #15 0x7f83b559cb2e in vlc_stream_Delete ../../src/input/stream.c:150 #16 0x7f83b555f47c in demux_Delete ../../include/vlc_demux.h:298 #17 0x7f83b555f47c in InputSourceDestroy ../../src/input/input.c:3037 #18 0x7f83b5562cf5 in End ../../src/input/input.c:1442 #19 0x7f83b556d443 in Run ../../src/input/input.c:421 #20 0x7f83b585b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234 #21 0x7f83b529eb7a in start_thread nptl/pthread_create.c:448 #22 0x7f83b531c7f7 in __clone3 ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 0x504000054c70 is located 32 bytes inside of 48-byte region [0x504000054c50,0x504000054c80) freed by thread T0 here: #0 0x7f83b58f38f8 in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52 #1 0x7f83b5f421fe in libvlc_media_release ../../lib/media.c:379 #2 0x7f83b5f49578 in libvlc_media_player_set_media ../../lib/media_player.c:983 #3 0x55dce6183996 in test_media_player_switch_media ../../test/libvlc/media_player.c:200 #4 0x55dce6187017 in main ../../test/libvlc/media_player.c:759 #5 0x7f83b5235ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 previously allocated by thread T0 here: #0 0x7f83b58f4610 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77 #1 0x7f83b5f41c21 in libvlc_media_new_from_input_item ../../lib/media.c:236 #2 0x7f83b5f41e2e in libvlc_media_new_location ../../lib/media.c:278 #3 0x55dce6183902 in test_media_player_switch_media ../../test/libvlc/media_player.c:184 #4 0x55dce6187017 in main ../../test/libvlc/media_player.c:759 #5 0x7f83b5235ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 Thread T4 (vlc-input) created by T0 here: #0 0x7f83b58ecae1 in pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:245 #1 0x7f83b5645891 in vlc_clone_attr ../../src/posix/thread.c:179 #2 0x7f83b5645d75 in vlc_clone ../../src/posix/thread.c:190 #3 0x7f83b5563f04 in input_Start ../../src/input/input.c:134 #4 0x7f83b5584138 in vlc_player_input_Start ../../src/player/input.c:101 #5 0x7f83b55772e4 in vlc_player_Start ../../src/player/player.c:1255 #6 0x7f83b5f498a5 in libvlc_media_player_play ../../lib/media_player.c:1051 #7 0x55dce6183932 in test_media_player_switch_media ../../test/libvlc/media_player.c:192 #8 0x55dce6187017 in main ../../test/libvlc/media_player.c:759 #9 0x7f83b5235ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 SUMMARY: AddressSanitizer: heap-use-after-free ../../lib/media_player.c:417 in on_media_meta_changed Shadow bytes around the buggy address: 0x504000054980: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa 0x504000054a00: fa fa 00 00 00 00 00 00 fa fa fd fd fd fd fd fa 0x504000054a80: fa fa fd fd fd fd fd fa fa fa 00 00 00 00 00 00 0x504000054b00: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 04 0x504000054b80: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa =>0x504000054c00: fa fa 00 00 00 00 00 04 fa fa fd fd fd fd[fd]fd 0x504000054c80: fa fa 00 00 00 00 00 00 fa fa fd fd fd fd fd fd 0x504000054d00: fa fa 00 00 00 00 00 01 fa fa 00 00 00 00 00 00 0x504000054d80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x504000054e00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x504000054e80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==953845==ABORTING ``` Refs https://code.videolan.org/videolan/VLCKit/-/merge_requests/391
-
Thomas Guillem (09 Jul 26)
input: add libvlc_owner_release Called when the input item is destroyed, to release libvlc_owner. This will allow the libvlc media to share the reference count of its input item and to be destroyed with it.
-
Thomas Guillem (09 Jul 26)
core: es_out: document input_item_node_t lifecycle
-
Thomas Guillem (09 Jul 26)
core: services_discovery: document input_item_node_t lifecycle
-
Alexandre Janniaux (10 Jul 26)
audio_output: apply the output delay first The output delay was applied after the block's play_date had already been converted, so the reconversion when play_date == VLC_TICK_INVALID was skipped and the first block kept its play_date that didn't account for the delay. On a slave clock the delay is folded into play_date by vlc_clock_slave_to_system(), so the output start_date wasn't accounting for the delay while every later block carried the delay, producing a drift equal to the configured delay, triggering the resampler right after startup. The audio filters were likewise fed the first block with the stale delay, since aout_FiltersSetClockDelay() ran after aout_FiltersPlay(). The delay update was introduced after the filters in commit a3e4cb4a907f5fdbface2c4a1012461fc4382f92, back when the single clock conversion also happened at the end of the function, after the delay update, so the delay was correctly reflected in play_date. This is a regression from 7dc7847c343a7fe27e78a5b100cf773ca8eddbcc, i.e. "aout: convert pts before filtering the input block", since the conversion moved before filtering to detect discontinuities, but left the delay update where it was.
-
Serhii Bykov (08 Jul 26)
macosx: enable multi-selection in playlist items table
-
jianfeng.zheng (08 Jul 26)
direct3d11: add Mthreads based video super resolution Signed-off-by: jianfeng.zheng <[email protected]>
-
jianfeng.zheng (08 Jul 26)
dxgi_fmt: add the Mthreads manufacturer ID Signed-off-by: jianfeng.zheng <[email protected]>
-
Damien Erambert (08 Jul 26)
macosx: update 26 icons - fix the gradient direction of even stripes in mono mode for dev icon - disable refractivity feature on dev icon and regular icon
-
Steve Lhomme (10 Jul 26)
package/win32: add skins to MSI package if it's built with it
-
Steve Lhomme (10 Jul 26)
package/win32: remove translations from MSI package if it's not built
-
Steve Lhomme (09 Jul 26)
configure: allow generating installer with no translation Simply honor the --disable-nls flag.
-
Steve Lhomme (09 Jul 26)
package/win32: do not create NSIS "Web plugins" section if activeX is disabled
-
Steve Lhomme (09 Jul 26)
qt: remove dead outdated code
-
Steve Lhomme (09 Jul 26)
package/win32: remove irrelevant package-wince target
-
Steve Lhomme (12 May 20)
configure: remove unused PKGDIR Unused since 6ae2da5f04b182f5c13339f759c1cf877f55f049.
-
Steve Lhomme (06 May 20)
NSIS: don't uninstall the ActiveX if it wasn't installed
-
Steve Lhomme (05 May 20)
NSIS: use more values from the defines
-
Leon Vitanos (26 Jun 26)
qml: navigation now checks for whether item is navigable indirectly solves focus going to invisible "See All" button
-
Leon Vitanos (17 Jun 26)
qml: navigation fixes in multiple views
-
Leon Vitanos (16 Jun 26)
qml: navigation fixes for BrowseTreeDisplay
-
Leon Vitanos (16 Jun 26)
qml: navigation fixes for BrowseHomeDisplay
-
Leon Vitanos (15 Jun 26)
qml: navigation fix when going Up from VideoAll list avoids stack overflow due to infinite recursion
-
Leon Vitanos (20 May 26)
qml: swap sidebar and back button order
VLC Media Player Security
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 Address 213.36.253.2
- Hostname goldeneye.videolan.org
- Location Paris, Ile-de-France, France, EU
- ISP Scaleway SAS
- ASN AS12322
Associated Countries
-
FR
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
VLC Media Player Android App
APK Info
- App VLC for Android
- Creation Date 18 Nov 17
- Last Updated 19 Jul 24
- Current Version 2.0.6
- Creator Videolabs
- Downloads 100,000,000+ downloads
- Privacy Report View on Exodus →
De-Googled Compatibility
- GrapheneOS Native 4.0 / 4 (40)
- LineageOS Native 4.0 / 4 (14)
- e OS microG 4.0 / 4 (8)
- CalyxOS microG 4.0 / 4 (8)
- LineageOS microG 4.0 / 4 (5)
- iodeOS microG 4.0 / 4 (3)
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
Version Info
- Current Version 3.7.3
- Last Updated 24 Apr 26
- First Released 19 Jul 13
- Minimum iOS Version 9.0
- Device Models Supported 139
App Details
- IPA Size 186.22 Mb
- Price Free (USD)
- Age Advisory 4+
- Supported Languages 48
- Developer VideoLAN
- Bundle ID org.videolan.vlc-ios
Screenshots
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
- Added #669
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!