Java framework for the vlc media player
Latest commit 982f4b5 Oct 17, 2018



The vlcj project provides a Java framework to allow an instance of a native VLC media player to be embedded in a Java AWT Window or Swing JFrame.

You get more than just simple bindings, you also get a higher level framework that hides a lot of the complexities of working with LibVLC.

vlcj is primarily developed and therefore extensively tested on Linux - it does also work just fine on Windows and MacOSX, although there may be some limitations on OSX.

At least JDK 1.6 is required, and it works without changes on JDK 1.7+.

This is the open source vlcj project page, see also the 'official' home page where you can find more information as well as some new simple tutorials.

Version 3.0.0+ of vlcj requires version 2.1.0+ of VLC, earlier versions of VLC are not supported and will not work.

Version 3.0.0+ of vlcj requires version 3.5.2 of JNA.

Some features of version 3.0.0+ of vlcj (such as the new audio equalizer API) require version 2.2.0+ of VLC.

If you still need to use VLC 2.0.x then you must stay with vlcj 2.x.x instead of upgrading to the new vlcj 3.0.0 series.

Maven Dependency

Add the following Maven dependency to your own project pom.xml:



03/02/2016 Experimental branch with direct rendering media player improvements, removing a full frame memory copy. This branch is not backwardly compatibly with vlcj 3.x.

30/12/2015 Made new release 3.10.1 at Maven Central, fixes a problem finding VLC plugins on Windows after the upgrade to JNA 4.1.0.

20/12/2015 Made new release 3.10.0 at Maven Central, uses JNA 4.1.0, support new meta data and event exposed by LibVLC 3.x (not yet released), minor Javadoc update, minor fix to the media list player.

12/08/2015 Made new release 3.9.0 (Mal edition) at Maven Central, fixes a YouTube issue, adds supports for new LibVLC 3.x audio volume/mute/cork events.

14/07/2015 Made new release 3.8.0 (New Horizons edition) at Maven Central, check the github issues milestone for details. New extended chapter and title information (LibVLC 3.0.0+). Minor bug fixes and improvements.

25/04/2015 Made new release 3.7.0 at Maven Central, check the github issues milestone for details. Play media using Java IO (LibVLC 3.0.0+)! Minor fixes and improvements.

10/03/2015 Made new release 3.6.0 at Maven Central, check the github issues milestone for details. Minor fixes and improvements.

02/03/2015 vlcj-pro released, free time-limited trial packages are available from the official vlcj-pro product page.

Version 3.0.0+ of vlcj requires version 2.1.0+ of vlc, earlier versions of vlc are not supported and will not work.

Some features provided by vlcj depend on the runtime version of vlc. The most current release of vlcj often tracks the bleeding edge of VLC development, consequently some features provided by vlcj will require a very recent version of VLC and in some cases a pre-release version of VLC may be needed. Where the runtime version of VLC is not new enough, in most cases vlcj attempts to fail-safe.

See also vlcj-info for a small library that can extract information from local media files using the MediaInfo library.

You can also follow @capricasoftware on Twitter for more vlcj news.


Some new tutorials are available at the official project page.

The vlcj project page is at github.

Online Javadoc is available:


There are many examples in the vlcj test sources showing how to use vlcj.

For a more complete example of a feature-rich media player built with vlcj, see vlcj-player.


Development of vlcj is carried out by Caprica Software.

Free support for Open Source and non-commercial projects is generally provided - you can use github issues for this purpose.

Support for commercial projects is provided exclusively on commercial terms - send an email to the following address for more information:

mark [dot] lee [at] capricasoftware [dot] co [dot] uk


The vlcj framework is provided under the GPL, version 3 or later.

If you want to consider a commercial license for vlcj that allows you to use and redistribute vlcj without complying with the GPL then send your proposal to:

mark [dot] lee [at] capricasoftware [dot] co [dot] uk