Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6212905
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T06:35:57+00:00 2026-05-24T06:35:57+00:00

After looking around for a decent library for playing videos in Java, I’ve come

  • 0

After looking around for a decent library for playing videos in Java, I’ve come unstuck. Everyone around is screaming not to use JMF because it’s outdated, old and requires the user to install it, other alternatives such as VLCJ seem good if they work but are still relatively unstable and rely on hefty amounts of native code, and as for dealing with DVDs, that seems like gold dust to find in a free library!

Current Options:

  • Now JavaFX 2 is gaining momentum it’s been something I’ve been seriously looking at (hence my question here) but I’ve no luck so far in trying to work out how to make it play anything more than bog standard FLV video.
  • VLCJ is working well for what it does (see my current answer) and at the moment is what I’m going ahead with. It uses libvlc to do pretty much anything, as in it can play pretty much any file and plays DVDs out of the box too. Big problem is that you have to use multiple VMs for each player to get it to perform stably, and that means response is relatively slow. I also haven’t got this approach to work on a Mac yet.
  • JMF is ridiculously outdated, horrible and just not really an option as far as I’m concerned. I’ve played with it in the past, and the experience was not a good one!
  • FMJ says it’s a replacement drop in for JMF. I’ve yet to make it work, as have most other people I’ve spoken to, and that in itself makes me weary of its quality and comprehension even if I do manage to get it working!
  • Xuggler is great for what it does, it’s got brilliant tutorials and it’s very well written. But while it’s great for the low level transcoding work, playing a video and getting the frames in the right order and in sync and so on is just a nightmare to get working properly, and again adds more code which means more maintenance, potentially more bugs etc. etc…
  • I haven’t tried GStreamer-Java yet with any anger, though it doesn’t seem to support DVD playback (it’s an open source app I’m working on so commercial plugins aren’t an option either) and it’s codec support doesn’t seem to be the widest.
  • JCodec is an interesting effort, the only one I’ve seen to implement video support from a pure Java perspective – but support for formats is lacking at the moment and it’s a relatively new project.
  • Writing something myself in a different native library for each platform I want to support. This is the absolute last resort option due to the added maintenance and coding time it’d require.

Based on the above (or anything else you can think of), what options would people recommend and are there any other sensible ones I’ve missed out? Or any others people think might be available in the near future?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T06:35:57+00:00Added an answer on May 24, 2026 at 6:35 am

    After doing a lot of research around different options and trying a few out, I’ve gone with VLCJ after all, but here’s the catch – all the VLCJ stuff is done in out of process VM’s. It’s a bit more complicated to set up (see here for how I did it) but afterwards you can throw all you like at it and it works just fine (currently using 3 out of process players with no stability issues.)

    Xuggler was great, but unfortunately too low level for me – the sheer amount of re-inventing the wheel (and a worse wheel at that) required just to get playback with seeking working put me off somewhat; I felt it’d take forever to sort all the problems out with it. For encoding / transcoding / other low level video work though I’d wholeheartedly recommend it – best without a doubt.

    Caveats with my chosen approach? Well, if the external VMs aren’t shut down explicitly they’ll carry on playing the video in the background even after the application has quit, and debugging gets harder with this approach. I also haven’t verified it runs on Mac yet, and my initial suggestion is probably not because from what I’ve heard MacOS doesn’t let one process control another’s window without explicit permission with native code. That should be possible with a bit of work though.

    As a spin off to the project I’m working on at the moment I might see if I can wrap up all this out of process functionality in a simple Java video framework that uses VLCJ underneath. If anyone would be interested in this (I can’t promise anything but the more interest I get, the more likely I am to work on it) then feel free to let me know!

    So after my research and findings, I’d recommend going with VLCJ (but definitely using out of process players) if you just want to play / record / stream video stuff, and Xuggler if you want to do any low level video work with the codecs themselves. At the time of writing, there just is no nice, pure Java solution, and it’ll probably stay that way for a while – fortunately though it is possible to get decent results with native libraries cross platform. It just requires a lot more work!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

After looking around (for not terribly long I have to admit) I wonder if
I've been looking around for a decent jQuery feed/XML parser and found good plugins
I recently ran into a quite complex problem and after looking around a lot
I would like to create a process in my application. But after looking around
After looking at other questions related to sharing solutions between VS 2005 and VS
After looking at another question on SO ( Using NaN in C++ ) I
After looking on MSDN, it's still unclear to me how I should form a
I have a query that is dynamically built after looking up a field list
I am in the process of writing a text editor. After looking at other
I'm looking for a multiline regex that will match occurrences after a blank line.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.