cannot display video on Linux
Up one level
cannot display video on Linux
I have a problem playing a video file in the version without jre just installed on my new Arch Linux 64 bit. Did not have a problem with my other Arch installations (though they are 32 bits) so wonder why.
I tried various video formats, as well as the version with jre, plus installing JMF separately, none of which worked.
The error message you'll usually get is 'No player created'.
I know it's a common problem, having searched the archive, but none of the suggestions worked and I decided to post a message. Here's an excerpt from my log file, which I hope would help.
Yo
28-Apr-2011 18:04:28 mpi.eudico.client.annotator.prefs.PreferencesWriter encodeAndSave
INFO: Writing preferences: /home/yo/.elan_data/elan.pfsx
Using JMF Media Player
current library path:
/opt/java/jre/lib/amd64/server:/opt/java/jre/lib/amd64:/opt/java/jre/../lib/amd64:/home/yo/apps/ELAN_4.0.0/jmf__Vlin2.1.1fcs:/opt/java/jre/bin//javalib/i386:/opt/java/jre/bin//javalib/i386/xawt:/opt/java/jre/bin//javalib/i386/client::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
loading Linux native libs...
Warning: Unable to load a dll or Sharedobject: /home/yo/apps/ELAN_4.0.0/jmf__Vlin2.1.1fcs/libjmutil.so: /home/yo/apps/ELAN_4.0.0/jmf__Vlin2.1.1fcs/libjmutil.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
mediaURL = file:///home/yo/data/corpora/manzai/kansai/hariganerokku_osaka_nara.mp4
Fobs4JMF - Native shared library NOT found
java.lang.UnsatisfiedLinkError: /home/yo/apps/ELAN_4.0.0/jmf__Vlin2.1.1fcs/libfobs4jmf.so: /home/yo/apps/ELAN_4.0.0/jmf__Vlin2.1.1fcs/libfobs4jmf.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.omnividea.media.parser.video.Parser.<clinit>(Parser.java:96)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.media.BasicPlugIn.getClassForName(BasicPlugIn.java:288)
at com.sun.media.BasicSourceModule.createDemultiplexer(BasicSourceModule.java:132)
at com.sun.media.BasicSourceModule.createModule(BasicSourceModule.java:96)
at com.sun.media.PlaybackEngine.setSource(PlaybackEngine.java:124)
at com.sun.media.MediaPlayer.setSource(MediaPlayer.java:30)
at javax.media.Manager.createPlayerForSource(Manager.java:1453)
at javax.media.Manager.createPlayerForContent(Manager.java:1326)
at javax.media.Manager.createPlayer(Manager.java:417)
at javax.media.Manager.createPlayer(Manager.java:332)
at mpi.eudico.client.annotator.player.JMFMediaPlayer.<init>(JMFMediaPlayer.java:151)
at mpi.eudico.client.annotator.player.PlayerFactory.createJMFMediaPlayer(PlayerFactory.java:259)
at mpi.eudico.client.annotator.player.PlayerFactory.createElanMediaPlayer(PlayerFactory.java:201)
at mpi.eudico.client.annotator.ViewerManager2.createMediaPlayer(ViewerManager2.java:246)
at mpi.eudico.client.annotator.linkedmedia.MediaDescriptorUtil.createMediaPlayers(MediaDescriptorUtil.java:450)
at mpi.eudico.client.annotator.ElanFrame2.initElan(ElanFrame2.java:754)
at mpi.eudico.client.annotator.ElanFrame2.setTranscription(ElanFrame2.java:463)
at mpi.eudico.client.annotator.FrameManager.createFrame(FrameManager.java:780)
at mpi.eudico.client.annotator.commands.global.NewMA.actionPerformed(NewMA.java:152)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
javax.media.NoPlayerException while creating JMF player
javax.media.NoPlayerException: Cannot find a Player for :file:/home/yo/data/corpora/manzai/kansai/hariganerokku_osaka_nara.mp4
at javax.media.Manager.createPlayerForContent(Manager.java:1412)
at javax.media.Manager.createPlayer(Manager.java:417)
at javax.media.Manager.createPlayer(Manager.java:332)
at mpi.eudico.client.annotator.player.JMFMediaPlayer.<init>(JMFMediaPlayer.java:151)
at mpi.eudico.client.annotator.player.PlayerFactory.createJMFMediaPlayer(PlayerFactory.java:259)
at mpi.eudico.client.annotator.player.PlayerFactory.createElanMediaPlayer(PlayerFactory.java:201)
at mpi.eudico.client.annotator.ViewerManager2.createMediaPlayer(ViewerManager2.java:246)
at mpi.eudico.client.annotator.linkedmedia.MediaDescriptorUtil.createMediaPlayers(MediaDescriptorUtil.java:450)
at mpi.eudico.client.annotator.ElanFrame2.initElan(ElanFrame2.java:754)
at mpi.eudico.client.annotator.ElanFrame2.setTranscription(ElanFrame2.java:463)
at mpi.eudico.client.annotator.FrameManager.createFrame(FrameManager.java:780)
at mpi.eudico.client.annotator.commands.global.NewMA.actionPerformed(NewMA.java:152)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
28-Apr-2011 18:04:39 mpi.eudico.client.annotator.recognizer.api.AvailabilityDetector detectRecognizer
SEVERE: No cmdi metadata file found in: Lexus
28-Apr-2011 18:04:39 mpi.eudico.client.annotator.commands.ExportMediaCA <init>
INFO: No media export functionality available
28-Apr-2011 18:04:39 mpi.eudico.client.annotator.commands.ClipMediaCA <init>
INFO: Found clipping script: clip-media.txt
Save (as) cancelled
28-Apr-2011 18:04:46 mpi.eudico.client.annotator.prefs.PreferencesWriter encodeAndSave
INFO: Writing preferences: /home/yo/.elan_data/elan.pfsx
Re: cannot display video on Linux
ELAN hasn't really been tested on 64-bits Linux systems yet. The error messages seem to be caused by the fact that both the JMF and Fobs libraries are 32-bits. Whether it is possible to run the application after all, e.g. in a 32-bits mode, I don't know right now. A more up-to-date media solution for Linux has still to be worked out.
-Han
Re: cannot display video on Linux
Hi,
it does indeed happen on some (but interestingly not on all) 64bit Linux systems that the JMF wrapper which ELAN uses to access the ffmpeg audio / video libraries insists on finding a 64bit version of various libraries which are not included with ELAN.
I have no experience with ArchLinux but maybe changing your HOSTTYPE or MACHTYPE or CPU environment variables might help convincing ELAN and fobs4jmf to stick to the included 32 bit media player libraries. After all, 64 bit Linux is supposed to be still able to run almost all 32 bit software. Other aspects that come into mind are the version of your Java environment, the strings returned by various version info things such as lsb_release -a or /proc/version etc, or the configuration of the dynamic library system.
Please post on the forum whether any of those ideas helped you to play media files on your 64 bit Linux. I think I could also get you in contact with users where ELAN just happens to work on 64 bit, although I do not really know why it just works there...
Regards, Eric