FFMPEG opening mov stopped working

Hello experts,

We have been using Fiji to process .MOV quicktime videos with great success using the FFMPEG. Unfortunately an update in the last week or so has stopped the movie import working and we now get an error (see below).

Any help much appreciated.

Cheers
David

(Fiji Is Just) ImageJ 2.0.0-rc-54/1.51f; Java 1.8.0_66 [64-bit]; Windows 7 6.1; 65MB of 6020MB (1%)
 
java.lang.AbstractMethodError: com.sun.jna.Structure.getFieldOrder()Ljava/util/List;
    at com.sun.jna.Structure.fieldOrder(Structure.java:936)
    at com.sun.jna.Structure.getFields(Structure.java:962)
    at com.sun.jna.Structure.deriveLayout(Structure.java:1129)
    at com.sun.jna.Structure.calculateSize(Structure.java:1053)
    at com.sun.jna.Structure.calculateSize(Structure.java:1006)
    at com.sun.jna.Structure.allocateMemory(Structure.java:393)
    at com.sun.jna.Structure.<init>(Structure.java:184)
    at com.sun.jna.Structure.<init>(Structure.java:172)
    at com.sun.jna.Structure.<init>(Structure.java:159)
    at com.sun.jna.Structure.<init>(Structure.java:151)
    at fiji.ffmpeg.AVCODEC$AVPacket.<init>(AVCODEC.java:652)
    at fiji.ffmpeg.IO.<init>(IO.java:43)
    at fiji.ffmpeg.IO.<init>(IO.java:53)
    at fiji.ffmpeg.Importer.run(Importer.java:44)
    at ij.IJ.runUserPlugIn(IJ.java:217)
    at ij.IJ.runPlugIn(IJ.java:181)
    at ij.Executer.runCommand(Executer.java:137)
    at ij.Executer.run(Executer.java:66)
    at java.lang.Thread.run(Thread.java:745)

Welcome to the forum, @bluesnoz!

I can confirm this bug, which is most likely due to the recent update of jna.jar to the newest version 4.2.2, now shipped via the Java-8 update site. This will have to be fixed in the FFMPEG plugins, but as a workaround, you could try if disabling the Java-8 update site helps…

@ctrueden any comments?

Unfortunately, the source for the FFMPEG update site does not seem to be available. At least, I asked Dscho and he did not recall where it is. I dug around on his list of GitHub repos, but could not find it. So I fear the source may have been lost (though see 3rd paragraph below). Edit 2017-03-07: I found the sources, in the history of the SCIFIO-JavaCV project.

I tried to decompile the FFMPEG_IO classes, but: 1) there are lots of compile errors which would require significant time to clean up and fix; and 2) the code calls the native FFMPEG libraries via JNA, which complicates matters.

Instead, I think it would be better to continue development of the scifio-javacv component which Johannes started to replace FFMPEG_IO.

1 Like

As a workaround for now, I uploaded jars/jna-3.2.7.jar to the FFMPEG update site, so that it shadows the newer incompatible 4.2.2 version.

So, hopefully this problem is now resolved for users of the FFMPEG update site, at least for the moment.

1 Like

Wow, you guys are awesome! Problem fixed. Thanks for the rapid response.

Cheers

1 Like