artclarke / humble-video

Humble Video: Demuxing, Decoding, Filtering, Encoding and Muxing of 100's of video and audio formats and Codecs from the JVM
GNU Affero General Public License v3.0
557 stars 115 forks source link

Crash when multithread transcoding using 0.3.0 #131

Closed borjaevo closed 5 years ago

borjaevo commented 5 years ago

Hi,

I updated from version 0.2.1 to 0.3.0 in some linux x86_64 app that transcodes a queue of mp4 video files to VP9. This app starts a new thread for each video. Using version 0.2.1 only issue is i had to get source framerate with other library, but works very well (thanks for this amazing library). But, when updating to version 0.3.0 (no changes in code) it crashes when creating second decoder. App closes abruptly, no errors shown in console. Some clue about whats happening?

Thanks

BpZ1 commented 5 years ago

I encountered the same problem when trying to decode multiple files on different threads. After I read your comment I tested the old version 0.2.1 and it works perfectly. The exception I'm getting on version 3.0.0 is the following:

java.lang.IllegalArgumentException: could not open codec: Invalid argument (-22) at io.humble.video.VideoJNI.Coder_open(Native Method) at io.humble.video.Coder.open(Coder.java:158)

followed by:

could not queryStreamMetaData on: "somepath"; : Error number -1 occurred (-1) at io.humble.video.VideoJNI.Demuxer_open(Native Method) at io.humble.video.Demuxer.open(Demuxer.java:201)

borjaevo commented 5 years ago

I'm not sure why I could not see exception in my console, but I'm pretty sure error is the same. You are using linux 64 library? I would like to know if it would work in windows or have same problem.

BpZ1 commented 5 years ago

I tested it on windows.

artclarke commented 5 years ago

Guys without sample code it's pretty impossible for me to diagnose what's going on here. Are there any other clues (e.g. the code you're using, the codecs you're setting, the format of your files, etc?)

Perfect work is a simple stand-alone Java program that can replicate it with a small AV file?

I'm going to CLOSE this for the moment, but if you can do that, just re-open and I'll look at the next time I do a bug-scrub.