Video playback in jME3

it is possible that the reason for javacv being GPL is also that one of the libraries it uses is GPL, (primarily ffmpeg). In order for this to be a true jme solution itd pretty much have to be a BSD licence.

opencv is indeed bsd though… I think to pursue this we’d first need to see if we could something to work, most likely not using ffmpeg. I dont think ffmpeg in any form is non gpl, and its a very mature project with a big history. i dont see us talking ffmpeg into something thats bsd compatible.

@totiman9 in your code you commented out OpenCVFrameGrabber, suggesting you were experimenting with it. did you get it to work? I tried it using the bunny.webm file and it came out in quite a weird way.

@icamefromspace: good point. Oh well…

@icamefromspace Nope, didn’t get it work properly either, bufferoverflows, not properly rendering image, etc. Probably does not work with the current implementation. It certainly does get the IplImage from the video though, problem is getting it to work with jme image.

@totiman9 said: @icamefromspace Nope, didn't get it work properly either, bufferoverflows, not properly rendering image, etc. Probably does not work with the current implementation. It certainly does get the IplImage from the video though, problem is getting it to work with jme image.

Probably its about a different format? I think it does not get BGR8 with it but something else.

BTW, I made a little research and found that GPL is chosen by FFmpeg because otherwise all implementations of .H264 codecs have to pay to VIA Licensing. Some other link. And this. I am not sure if this is accurate since I am no lawyer and all the legal stuff just seems plain crazy to me, but what I want to say is that maybe you should do more research on why and what is all that. Although, I bet, the most significant result of touching the legal matters can only be a headache and nausea.

Yes, you should at best stick to a decoder that just decodes some open format. The licensing model of the compression formats is the issue most of the time. Thats why we stuck to theora / vorbis with the current code. A small file action to convert files in the SDK would also be cool :wink:

For those interested in the Berkelium route mentioned by @sbook it seems its successor is alive and well:
https://code.google.com/p/javachromiumembedded/

This could have many other uses as well, so I’d be very happy to see someone take a crack at it.

2 Likes
@erlend_sh said: For those interested in the Berkelium route mentioned by @sbook it seems its successor is alive and well: https://code.google.com/p/javachromiumembedded/

This could have many other uses as well, so I’d be very happy to see someone take a crack at it.

Looks really interesting, I wonder how the performance holds up. If Berkelium/Java wasn’t such a horrible mess to compile for things other than Windows I would’ve invested more time in it, things were looking promising in the initial things I had gotten working. :wink: