-
-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JavaFX Video Player #326
JavaFX Video Player #326
Conversation
Progress on gurkenlabs#291
Multiple videos should be able to play at the same time.
Obviously the build will fail as the build server is using openjdk 11, which does not have openjfx. OpenJDK 11 doesn't include OpenJFX. There is also no gradle/maven repository for openjfx 8... |
* Add JavaFX to classpath * Figured out how to make JavaFX compile with jdk8 and jdk11 * Travis needs OpenJFX 8 to compile for Java 8
Merge conflicts are now resolved. This is what it looks like (the video is low definition, here is the original for comparison) |
* Fix javadoc and improve security of url handling
This PR is ready for review |
Thank you for the remarkable work you've done here! It's really nice to see major features being tackled by the community. How do you feel about this? What possible alternatives to a JavaFX panel did you find during your research? |
The reason I selected JavaFX is because there are simply are no other java video libraries that are under active development and are compatible with LitiEngine's license. Xuggler has a compatible license (LGPL) but hasn't been updated in 6 years, and is deprecated by the authors I also tried using VLC's remote control interface but I wasn't able to figure out how to stream the video output the java process. I suppose the most promising alternative is ffmpeg-cli-wrapper which is BSD but it hasn't had a new release in ~ 3 years. The latest commit to the repo was 2 years ago, excluding the one they just pushed 3 hours ago. I thought the project was dead up until the point I started typing this. I'm willing to try using ffmpeg-cli-wrapper if you want. |
Thanks for the suggestions, I'll update the original issue with a list of options. |
There's also a possibility of not including this with LitiEngine itself but instead making it a separate, optional 'plugin' of sorts. |
I agree, but I'd prefer an out-of-the-box approach here. |
Can I suggest splitting this up into two separate PRs?
|
I've been working on #291 using JavaFX.
As a result I had to make some changes to how LitiEngine is compiled.
If you're compiling using a JDK older than JDK11, then JavaFX must exist on the system classpath. Some JDKs older than JDK11 come with JavaFX, but some don't (most notably openjdk8). If yours doesn't you will have to upgrade to Java 11 or install OpenJFX onto your system manually.
If you're compiling with JDK11 or newer, then you don't have to do anything. Gradle will automatically add it to the build path.
Using gradle to add JavaFX to the build path is not possible with JDKs older than JDK11, as the OpenJFX gradle plugin required to install it is only compatible with Java 11 or higher. If you attempt to use it on an older version of Java, you will get an UnsupportedClassVersionError upon building the project.
Travis will now build LitiEngine using both Java 8 and Java 11 to ensure it can run on both.
TODO