-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
ClassNotFoundException org.bytedeco.javacpp.avutil$AVFrame #137
Comments
That usually means it's having problems loading the native library files. Could you also check the cause of the exception? It usually makes it clear what the original error is. Thanks! |
Yeah, certainly looks like the natives trouble (btw, the os is Windows 7 and Windows 8, both 64 bit). The cause of the exception, unfortunately, does not tell much more. There is only one cause (calling
Is there any special, not very traditional mechanism that is used to load the native libraries? |
The JNI wrappers are built with MSVC10, so that might require the appropriate runtime libraries installed on the machine. They are included in the JARs for OpenCV, but for FFmpeg, I'm thinking we should be able to get away with MinGW, so I think I'll try to change that... |
Quite possible! This evening I'll have a chance to test the case on one more Windows machine.. However, what's also bugging me is that the setup does not work on the same machine, if I open the project with IntelliJ/Cursive (Clojure IDE), rather than with Eclipse. I can't even imagine, what can be so different about their classloaders. Also, meanwhile I am trying to contact the Cursive team with this same very issue and ask them about any pecularities in classloading... I hope we'll manage to nail this one bug down :) JavaCV is a very smooth experience and I really like it improving and persisting in this respect. |
@saudet Hello! How is it going? Any news or thoughts on this one? I haven't been able to test more yet, but it is one of my highest priorities. No news from Cursive either.. |
I have setup a test project: https://github.com/noncom/cursive-jme-jcv and contacted Colin, the creator of Cursive, now we are looking into the subject. |
…pported GCC compiler for FFmpeg, FFTW, and GSL under Windows as well, to prevent compatibility issues (issue bytedeco/javacv#137)
I've just updated the presets so that FFmpeg now gets built with MinGW's GCC (bytedeco/javacpp-presets@52df5ad), and it seems to work fine here. It should fix whatever issue you had too. Let me know though, thanks! |
@saudet great! is it only available in the source form, or is the Maven artifact is up to date already? |
I've deployed a binary snapshot here: https://oss.sonatype.org/content/repositories/snapshots/org/bytedeco/javacpp-presets/ffmpeg/2.6.1-1.0-SNAPSHOT/ |
@saudet Thank you for the binaries! Still testing in progress. I have no access to more computers right now to check if it works on the other computer that it failed the last time (it will be available after about 10-20 days from now). Also, I am trying to check it on the sample project in Cursive (IntelliJ IDEA), and it fails to find the sonatype snapshots repo, so I cannot get to the actual testing %).. However, Eclipse finds the repo, gets the dep and works just fine with the project (as it did before, also). So, waiting for: 1) the opportunity to check on a suspect machine, 2) what Cursive team says about all this... |
@saudet well, here is the situation update:
What is interesting, Eclipse + CCW finds the library OK! So, within Eclipse (my usual setup for work) I have built the app and run it on the same Windows machine that it was failing before (the machine became accessible for me again).
|
You could try unzipping all the DLLs, and running Dependency Walker on them to make sure the system finds all their dependencies. That should help us pinpoint the cause. |
This should all be fixed with version 1.0. Could you give it a try and let me know if you encounter any errors? Thanks! |
Given the lack of feedback, I'm assuming this issue has been fixed and everything is working fine with JavaCV 1.0. Let me know if this isn't the case though, thank you! |
Hi @saudet It works fine with debug mode, but when I release apk and install it on my phone, it crashes with FFmpegFrameRecorder Please check my log cat
|
I have a project that uses JavaCV, written in Clojure. It loads and works fine in Eclipse. However, in IntelliJ IDEA I get a problem with creating a new FFMpegFrameGrabber. It won't be that sad if the same problem wasn't preventing me from using the program on a different PC, where I distribute it in the form of a JAR (the JAR works fine on my PC ok for some reason, my wild guess is of having the local Maven repo with the dependencies available here).
I have read about the similar issues where it is recommended to manually add the
opencv*.jar
andffmpeg*.jar
to the classpath, but they are there! So, the deps are present, the project compiles and runs fine in Eclipse and on my home PC. However, on another PC or in IntelliJ IDEA it fails to create the FFMpegFrameGrabber class because it cannot find the imported classes... this is very strange :/ Theavutil
is some magical device involving native things, so maybe the problem is in this...Here is the full stack trace:
The text was updated successfully, but these errors were encountered: