vlcj: A framework for embedding the VLC media player in Java applications.

vlcj can be used to create many different types of rich media applications, including audio players, movie players with native video output embedded in a Java component, network streaming clients and servers, web-cam clients, video processing applications and so on.

vlcj provides low-level Java bindings to the native LibVLC library, and also provides a programming framework with higher level classes and constructs that encapsulate most, if not all, of the difficulties involved when working with LibVLC.

vlcj is developed and maintained by Caprica Software Limited.

The vlcj Open Source project is available at GitHub.

The main package is uk.co.caprica.vlcj.player.

For a rapid start, look at the EmbeddedMediaPlayerComponent class.

Packages 
Package Description
uk.co.caprica.vlcj
Java framework for the VLC media player.
uk.co.caprica.vlcj.factory
Media player factory.
uk.co.caprica.vlcj.factory.discovery
Provides components that can be used to automatically discover the location of the LibVLC native libraries in the absence of proper run-time environment configuration.
uk.co.caprica.vlcj.factory.discovery.provider
Native discovery strategy implementation that searches well-known directories to find native libraries.
uk.co.caprica.vlcj.factory.discovery.strategy
Provides default implementations of components that can be used to automatically discover the location of the LibVLC native libraries for each supported operating system.
uk.co.caprica.vlcj.log
Native LibVLC log component.
uk.co.caprica.vlcj.media
Components that encapsulate media.
uk.co.caprica.vlcj.media.callback
Components used for media that is provided by native media callback functions.
uk.co.caprica.vlcj.media.callback.nonseekable
Components that implement non-seekable media, e.g.
uk.co.caprica.vlcj.media.callback.seekable
Components that implement seekable media.
uk.co.caprica.vlcj.media.discoverer
Provides access to native media service discovery.
uk.co.caprica.vlcj.media.events
Events relating to media.
uk.co.caprica.vlcj.medialist
Provides the classes necessary to create and control native media lists.
uk.co.caprica.vlcj.medialist.events
Media list events.
uk.co.caprica.vlcj.player
This is the main package for media player components, sub-packages provide the classes necessary to create and control native media players and associated resources.
uk.co.caprica.vlcj.player.base
This is the main package for vlcj media player applications, providing the classes necessary to create and control native media players and associated resources.
uk.co.caprica.vlcj.player.base.callback
Provides the classes necessary to support direct access to the native audio samples buffer.
uk.co.caprica.vlcj.player.base.events
Components that implement full-screen behaviour for media players.
uk.co.caprica.vlcj.player.component
Provides higher-level components used to create basic media players with the minimum of application code.
uk.co.caprica.vlcj.player.component.callback
Components used by the CallbackMediaPlayerComponent.
uk.co.caprica.vlcj.player.component.overlay
Provides higher-level components used to create overlays for use with embedded media player components.
uk.co.caprica.vlcj.player.embedded
Provides the classes necessary to support the embedding of native media player video output in Swing/AWT user interface components.
uk.co.caprica.vlcj.player.embedded.fullscreen
Events relating to media.
uk.co.caprica.vlcj.player.embedded.fullscreen.adaptive
Full-screen strategy implementation that picks the best available depending on the run-time operating system.
uk.co.caprica.vlcj.player.embedded.fullscreen.exclusivemode
Full-screen strategy that uses the standard JDK approach.
uk.co.caprica.vlcj.player.embedded.fullscreen.libvlc
Native full-screen strategy that uses LibVLC.
uk.co.caprica.vlcj.player.embedded.fullscreen.osx
Native full-screen strategy for OSX.
uk.co.caprica.vlcj.player.embedded.fullscreen.unsupported
A do-nothing full-screen strategy implementation to explicitly and completely disable full-screen support.
uk.co.caprica.vlcj.player.embedded.fullscreen.windows
Native full-screen strategy for Windows.
uk.co.caprica.vlcj.player.embedded.fullscreen.x
Native full-screen strategy for the X Window System.
uk.co.caprica.vlcj.player.embedded.videosurface
Provides the classes necessary to create user interface components that render native video.
uk.co.caprica.vlcj.player.embedded.videosurface.callback
Full-screen strategy implementation that picks the best available depending on the run-time operating system.
uk.co.caprica.vlcj.player.embedded.videosurface.callback.format
Provides default buffer format implementations.
uk.co.caprica.vlcj.player.list
Provides the classes necessary to create and control native media list players.
uk.co.caprica.vlcj.player.list.events
Media list player events.
uk.co.caprica.vlcj.player.renderer
Provides components that can be used to automatically discover alternate media "renderers" like Chromecast.
uk.co.caprica.vlcj.player.renderer.events
Factory for components that encapsulate native renderer discoverer events.
uk.co.caprica.vlcj.support
Provides various support classes, not generally useful for client applications.
uk.co.caprica.vlcj.support.eventmanager
Base implementation for components that use a native event manager, and components that support provide support for native event handling generally.
uk.co.caprica.vlcj.support.version
Provides various version-related classes.
uk.co.caprica.vlcj.waiter
Synchronous programming framework.
uk.co.caprica.vlcj.waiter.media
Default implementations for commonly needed media conditional waiters used with the synchronous programming framework.
uk.co.caprica.vlcj.waiter.mediaplayer
Default implementations for commonly needed media media player conditional waiters used with the synchronous programming framework.