Page 1 of 1

Getting started with JVLC 0.9 on Ubuntu

Posted: 13 Jun 2008 11:08
by chooo
Hello,

here is how I successfully compiled and used JVLC 0.9 on a Ubuntu system (it should be quite the same on other GNU/Linux systems):

- first of all, prepare your system to the compilation of VLC:
# sudo apt-get install maven2 gcj automake libtool libfaad-dev libtwolame0 libtwolame-dev libfaac0 libfaac-dev liblame-dev libx264-dev X11proto-* libdvb-dev libdvbpsi4-dev
# sudo apt-get build-dep vlc

- now checkout the last source code from the GIT trunk (it will create a directory called "vlc" into your working directory)
# git clone git://git.videolan.org/vlc.git

- then go into the directory created
# cd vlc

- create an environment variable to store the compilation directory (for instance /opt/vlc-git-2008-06-13)
# export COMPILATION_DIRECTORY=/opt/vlc-git-2008-06-13

- then execute the following commands to compile VLC
# ./bootstrap
# ./configure --prefix=$COMPILATION_DIRECTORY --build=i386-linux --disable-qt4 --disable-wxwidgets --disable-activex --disable-vcdx --disable-cddax --disable-mozilla --disable-gtk --disable-hal --disable-libcdio --disable-skins2 --disable-portaudio --enable-nls --enable-ffmpeg --with-ffmpeg-faad --with-ffmpeg-mp3lame --with-ffmpeg-faac --with-ffmpeg-zlib --with-ffmpeg-a52 --with-ffmpeg-theora --with-ffmpeg-vorbis --enable-faad --enable-flac --enable-theora --enable-faad --enable-twolame --enable-dv --enable-dvdread --enable-live555 --enable-caca --enable-goom --enable-real --enable-realrtsp --enable-mkv --enable-shout --enable-dvb --enable-dvbpsi --enable-v4l --enable-dvdnav --enable-a52 --enable-libmpeg2 --enable-vorbis --enable-flac --enable-sout --enable-ogg --enable-vlm --enable-mad --enable-libtool --enable-shared --enable-x264 --enable-shared-libvlc
# make
# make install

- then, create a directory in which you will put all the VLC library plugins
# export PLUGINS_DIRECTORY=/opt/vlc-plugins-2008-06-13
# mkdir $PLUGINS_DIRECTORY

- now find and copy every plugin library file into it
# find $COMPILATION_DIRECTORY -type f -name "*plugin*.so*" -exec cp {} $PLUGINS_DIRECTORY \;
# find $COMPILATION_DIRECTORY -type f -name "*vlc*.so*" -exec cp {} $PLUGINS_DIRECTORY \;

- now find every file into $PLUGINS_DIRECTORY ending by something like ".so.0.0.1" and remove the trailing ".0.0.1" so that every library file ends with the ".so" extension
# mv libvlc.so.0.0.1 libvlc.so
# mv libvlccode.so.0.0.1 libvlccore.so

- at this point you have VLC compiled. Now you just have to create the Java library for JVLC. So go to the VLC source directory (the one created by the GIT command), and run the following command to build the library (I tell maven to skip the Unit tests because they lead to a compilation failure)
# cd /your/path/to/GIT/vlc
# cd bindings/java
# mvn -Dmaven.test.skip=true install

- now you should get your JVLC JAR file into this directory : ~/.m2/repository/org/videolan/jvlc-core/0.9.0-SNAPSHOT/jvlc-core-0.9.0-SNAPSHOT.jar

- to run the JVLC examples here is the Java command :
# java -classpath jvlc-core-0.9.0-SNAPSHOT.jar -Djna.library.path=$PLUGINS_DIRECTORY org.videolan.jvlc.example.VLCExample


Hope it helps !

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 13 Jun 2008 16:24
by Jossnaz
-cheers-

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 13 Jun 2008 17:49
by Jossnaz
Wow great work

i use kubuntu 8.04 hardy

i had to download an additional package
libx264-dev

if at a point there is a message that smth is missing, just type
apt-cache search <packagewhichmisses>
then try to install with
apt-get install <package>


I had to add the ./home/jossnaz/.m2/repository/com/jna/jna/3.0.2/jna-3.0.2.jar library
looked like this finally

java -classpath core/target/classes:jna-3.0.2.jar -Djna.library.path=$PLUGINS_DIRECTORY org.videolan.jvlc.example.VLCExample
(remember to export plugins directory like original poster did)

Code: Select all

$ java -classpath jna.jar:jvlc-core-0.9.0-SNAPSHOT.jar -Djna.library.path=$PLUGINS_DIRECTORY org.videolan.jvlc.example.VLCExample == Starting VLCExample == Creating a JVLC instance without args[00000001] main libvlc debug: VLC media player - version 0.9.0-git Grishenko - (c) 1996-2008 the VideoLAN team [00000001] main libvlc debug: libvlc was configured with ./configure '--prefix=/home/jossnaz/vlc-compiled/' '--build=i386-linux' '--disable-qt4' '--disable-wxwidgets' '--disable-activex' '--disable-vcdx' '--disable-cddax' '--disable-mozilla' '--disable-gtk' '--disable-hal' '--disable-libcdio' '--disable-skins2' '--disable-portaudio' '--enable-nls' '--enable-ffmpeg' '--with-ffmpeg-faad' '--with-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-zlib' '--with-ffmpeg-a52' '--with-ffmpeg-theora' '--with-ffmpeg-vorbis' '--enable-theora' '--enable-faad' '--enable-twolame' '--enable-dv' '--enable-dvdread' '--enable-live555' '--enable-caca' '--enable-goom' '--enable-real' '--enable-realrtsp' '--enable-mkv' '--enable-shout' '--enable-dvb' '--enable-dvbpsi' '--enable-v4l' '--enable-dvdnav' '--enable-a52' '--enable-libmpeg2' '--enable-vorbis' '--enable-flac' '--enable-sout' '--enable-ogg' '--enable-vlm' '--enable-mad' '--enable-libtool' '--enable-shared' '--enable-x264' '--enable-shared-libvlc' 'build_alias=i386-linux' [00000001] main libvlc debug: translation test: code is "C" [00000351] inhibit interface error: Failed to connect to the D-Bus session daemon: Failed to execute dbus-launch to autolaunch D-Bus session [00000351] main interface error: no suitable interface module [00000001] main libvlc error: interface "inhibit,none" initialization failed
is what the error is looking like, but it works! (as long as there is actually a video file which is mentioned in the example) even though i get the errors
YEAH THAT'S AWESOME

maybe sticky this one

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 13 Jun 2008 19:35
by Aziphael
Hello.
Thanks a lot for this tutorial.

I decided to compile vlc on my Gusty once I encountered the following error :

Code: Select all

java.lang.UnsatisfiedLinkError: Unable to load library 'vlc-control': libvlc-control.so
Resolved :
Sorry.
I did not realize I had to build jvlc itself. The outdated .jar provided on the website confuses people (:p)
this .so seems no longuer required by jvlc.

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 28 Jul 2008 04:31
by kulent
I everyone, I did everything you put here and I got this:

Code: Select all

java -classpath jna-3.0.2.jar:jvlc-core-0.9.0-SNAPSHOT.jar -Djna.library.path=/opt/vlc-plugins-2008-07-27 org.videolan.jvlc.example.VLCExample == Starting VLCExample == Creating a JVLC instance without args[00000001] main libvlc debug: VLC media player - version 0.9.0-test3 Grishenko - (c) 1996-2008 the VideoLAN team [00000001] main libvlc debug: libvlc was configured with ./configure '--prefix=/opt/vlc-git-2008-07-27' '--build=i386-linux' '--disable-qt4' '--disable-wxwidgets' '--disable-activex' '--disable-vcdx' '--disable-cddax' '--disable-mozilla' '--disable-gtk' '--disable-hal' '--disable-libcdio' '--disable-skins2' '--disable-portaudio' '--enable-nls' '--enable-ffmpeg' '--with-ffmpeg-faad' '--with-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-zlib' '--with-ffmpeg-a52' '--with-ffmpeg-theora' '--with-ffmpeg-vorbis' '--enable-theora' '--enable-faad' '--enable-twolame' '--enable-dv' '--enable-dvdread' '--disable-live555' '--enable-caca' '--enable-goom' '--enable-real' '--enable-realrtsp' '--enable-mkv' '--enable-shout' '--enable-dvb' '--enable-dvbpsi' '--enable-v4l' '--enable-dvdnav' '--enable-a52' '--enable-libmpeg2' '--enable-vorbis' '--enable-flac' '--enable-sout' '--enable-ogg' '--enable-vlm' '--enable-mad' '--enable-libtool' '--enable-shared' '--enable-x264' '--enable-shared-libvlc' 'build_alias=i386-linux' [00000001] main libvlc debug: translation test: code is "C" [00000351] inhibit interface error: Failed to connect to the D-Bus session daemon: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. [00000351] main interface error: no suitable interface module [00000001] main libvlc error: interface "inhibit,none" initialization failed ... done. Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.videolan.jvlc.event.MediaPlayerCallback.<init>(MediaPlayerCallback.java:49) at org.videolan.jvlc.MediaPlayer.addListener(MediaPlayer.java:156) at org.videolan.jvlc.example.VLCExample.main(VLCExample.java:35) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) ... 3 more
Does any knows what ca I do to make run the example?

Thanks

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 27 Sep 2008 00:23
by BexX
I just figured out how to get JVLC working in Intrepid (they finaly decided to include vlc 0.9.2 in this release):

- download the jvlc test release 2008-07-27: http://trac.videolan.org/jvlc/wiki/download
- create a symlink to libvlc.so.2.0.2, so that jna is able to locate it: sudo ln -s /usr/lib/libvlc.so.2.0.2 /usr/lib/libvlc.so
// this is sort of a hack, but i don't exactly know where JNA looks for libvlc and this seems to work.
- run the example: java -cp /path/to/jvlc//jvlc-core-0.9.0-SNAPSHOT-20080727.jar org.videolan.jvlc.example.VLCExample -v

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 02 Oct 2008 13:52
by dsgallo
Hi guys,

I'm trying to compile the newest jVLC version following your steps, but during configure I had an error about "too old version of liveMedia" or something like that.
Than I could manage to get the newest version of liveMedia from www.live555.com/liveMedia website and compiled/installed it and the configure went well.

But during make, I'm having the following error that I couldn't find how to solve anywhere:

Code: Select all

speex.c: In function ‘ProcessInitialHeader’: speex.c:473: warning: missing initializer speex.c:473: warning: (near initialization for ‘stereo.reserved1’) speex.c: In function ‘OpenEncoder’: speex.c:991: error: ‘SPEEX_SET_VBR_MAX_BITRATE’ undeclared (first use in this function) speex.c:991: error: (Each undeclared identifier is reported only once speex.c:991: error: for each function it appears in.) make[5]: *** [libspeex_plugin_la-speex.lo] Error 1 make[5]: Leaving directory `/home/timeshiftuser/vlc/modules/codec' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/timeshiftuser/vlc/modules/codec' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/timeshiftuser/vlc/modules/codec' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/timeshiftuser/vlc/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/timeshiftuser/vlc' make: *** [all] Error 2
Do anyone knows what is this and how can I solve this issue??? Please help me!

Thanks!
Diego

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 02 Oct 2008 14:50
by XYBeR
hey dsgallo,

it is a common misunderstanding: if you want to compile jvlc it is not needed to cimpile vlc itself. jvlc is compilable without a vlc binary in your machine.

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 03 Oct 2008 11:47
by dsgallo
hi XYBeR,

thanks for the reply! but I guess I will have to compile VLC since I want to use the 0.9.2 version of VLC in Ubuntu 8.04.1, and the version in the repository is the 0.8.6...
and also since I want to enable/disable specific modules of VLC... I had the 0.9.0 version up and running (together with the java bindings), but I want to update both VLC and jVLC... ;-)

any idea of how to solve the error I had during VLC compilation?

Thanks!
Diego

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 03 Oct 2008 11:50
by XYBeR
ok, so you want a customized vlc version. i can't help, i'm not a vlc compilation guru. maybe get a nightly and use it :)

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 03 Oct 2008 14:10
by dsgallo
hey everybody,

anyone else has an answer for my question? any clue about what is wrong and/or what means the error I'm getting?

thanks,
Diego
ps. thanks XYBeR anyways for the answer ;-)... I couldn't find any binary version of 0.9.2 for ubuntu 8.04 to try, if you know where I can get one it would be a good start maybe... thanks again.

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 14 Oct 2008 11:17
by jdevo
Hi,
I got same speex.c error. I resolve with the speex.c linked in this thread on official ubuntu board[0]

[0] http://ubuntuforums.org/showthread.php?t=924887

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 26 Oct 2008 06:29
by The_Pro
First of all I want to thanks "choo" for the great tutorial! I managed to compile jvlc thanks to you! I got the same speex.c error and thanks to "jdevo's" link I solved the problem too. But now I can't seem to run JVLExample! When I try to run the class here is what happens:

Code: Select all

root@thepro:/home/thepro/vlc/bindings/java/core/target# java -Djna.library.path=/opt/vlc-plugins-2008-06-13 org.videolan.jvlc.example.VLCExample == Starting VLCExample == Creating a JVLC instance without args[0x8132a80] main libvlc debug: VLC media player - version 1.0.0-git Goldeneye - (c) 1996-2008 the VideoLAN team [0x8132a80] main libvlc debug: libvlc was configured with ./configure '--prefix=/opt/vlc-git-2008-06-13' '--build=i386-linux' '--disable-qt4' '--disable-wxwidgets' '--disable-activex' '--disable-vcdx' '--disable-cddax' '--disable-mozilla' '--disable-gtk' '--disable-hal' '--disable-libcdio' '--disable-skins2' '--disable-portaudio' '--enable-nls' '--enable-ffmpeg' '--with-ffmpeg-faad' '--with-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-zlib' '--with-ffmpeg-a52' '--with-ffmpeg-theora' '--with-ffmpeg-vorbis' '--enable-theora' '--enable-faad' '--enable-twolame' '--enable-dv' '--enable-dvdread' '--enable-live555' '--enable-caca' '--enable-goom' '--enable-real' '--enable-realrtsp' '--enable-mkv' '--enable-shout' '--enable-dvb' '--enable-dvbpsi' '--enable-v4l' '--enable-dvdnav' '--enable-a52' '--enable-libmpeg2' '--enable-vorbis' '--enable-flac' '--enable-sout' '--enable-ogg' '--enable-vlm' '--enable-mad' '--enable-libtool' '--enable-shared' '--enable-x264' '--enable-shared-libvlc' 'build_alias=i386-linux' [0x8132a80] main libvlc debug: translation test: code is "C" [0x8132a80] main libvlc error: no memcpy module matched "any" [0x8181be8] main access error: no access module matched "file" [0x8177a58] main input error: open of `file/xspf-open:///root/.local/share/vlc/ml.xspf' failed: no access module matched "file" [0x8181df0] main interface error: no interface module matched "hotkeys,none" [0x8181df0] main interface error: no suitable interface module [0x8132a80] main libvlc error: interface "hotkeys,none" initialization failed [0x8181c78] main interface error: no interface module matched "inhibit,none" [0x8181c78] main interface error: no suitable interface module [0x8132a80] main libvlc error: interface "inhibit,none" initialization failed [0x8181c78] main interface error: no interface module matched "screensaver,none" [0x8181c78] main interface error: no suitable interface module [0x8132a80] main libvlc error: interface "screensaver,none" initialization failed ... done. Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.videolan.jvlc.event.MediaPlayerCallback.<init>(MediaPlayerCallback.java:49) at org.videolan.jvlc.MediaPlayer.addListener(MediaPlayer.java:156) at org.videolan.jvlc.example.VLCExample.main(VLCExample.java:35) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 3 more [0x8175c38] main playlist error: no playlist export module matched "export-xspf"
PS: I edited the /etc/bash.bashrc and included the jvlc-core.jar and the jna.jar in the classpath there.

Does anyone knows how to solve this problem? What does this error "Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory" mean? I read this topic but no one posted a satisfatory answer: viewtopic.php?f=2&t=49179

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 26 Oct 2008 09:33
by XYBeR
just download slf4j, an put slf4j api jar to the classpath

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 26 Oct 2008 15:42
by The_Pro
just download slf4j, an put slf4j api jar to the classpath
Thanks for your fast answer Xyber! I did what you told me and the error now changed. JVLC just freezes in the last message:
"main input error: open of `/home/carone/apps/a.avi' failed: no access module matched "any"".

I feel that I'm very close to make JVLC works, do you know what is the problem now Xyber?

PS: I'm using ubuntu 8.0.4.

Code: Select all

root@thepro:/home/thepro/vlc/bindings/java/core/target# java -Djna.library.path=/opt/vlc-plugins-2008-06-13 org.videolan.jvlc.example.VLCExample == Starting VLCExample == Creating a JVLC instance without args[0x9075ab28] main libvlc debug: VLC media player - version 1.0.0-git Goldeneye - (c) 1996-2008 the VideoLAN team [0x9075ab28] main libvlc debug: libvlc was configured with ./configure '--prefix=/opt/vlc-git-2008-06-13' '--build=i386-linux' '--disable-qt4' '--disable-wxwidgets' '--disable-activex' '--disable-vcdx' '--disable-cddax' '--disable-mozilla' '--disable-gtk' '--disable-hal' '--disable-libcdio' '--disable-skins2' '--disable-portaudio' '--enable-nls' '--enable-ffmpeg' '--with-ffmpeg-faad' '--with-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-zlib' '--with-ffmpeg-a52' '--with-ffmpeg-theora' '--with-ffmpeg-vorbis' '--enable-theora' '--enable-faad' '--enable-twolame' '--enable-dv' '--enable-dvdread' '--enable-live555' '--enable-caca' '--enable-goom' '--enable-real' '--enable-realrtsp' '--enable-mkv' '--enable-shout' '--enable-dvb' '--enable-dvbpsi' '--enable-v4l' '--enable-dvdnav' '--enable-a52' '--enable-libmpeg2' '--enable-vorbis' '--enable-flac' '--enable-sout' '--enable-ogg' '--enable-vlm' '--enable-mad' '--enable-libtool' '--enable-shared' '--enable-x264' '--enable-shared-libvlc' 'build_alias=i386-linux' [0x9075ab28] main libvlc debug: translation test: code is "C" [0x9075ab28] main libvlc error: no memcpy module matched "any" [0x9075c558] main access error: no access module matched "file" [0x9075be88] main input error: open of `file/xspf-open:///root/.local/share/vlc/ml.xspf' failed: no access module matched "file" [0x9075c430] main interface error: no interface module matched "hotkeys,none" [0x9075c430] main interface error: no suitable interface module [0x9075ab28] main libvlc error: interface "hotkeys,none" initialization failed [0x907a84e8] main interface error: no interface module matched "inhibit,none" [0x907a84e8] main interface error: no suitable interface module [0x9075ab28] main libvlc error: interface "inhibit,none" initialization failed [0x907a84e8] main interface error: no interface module matched "screensaver,none" [0x907a84e8] main interface error: no suitable interface module [0x9075ab28] main libvlc error: interface "screensaver,none" initialization failed ... done. [0x9078a858] main access error: no access module matched "any" [0x907a7ad8] main input error: open of `/home/carone/apps/a.avi' failed: no access module matched "any"

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 26 Oct 2008 16:19
by XYBeR
sorry, i don't know, i'm not a jvlc magician :) but there are too many "libvlc error"

run my example, compare the outputs maybe it helps

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 27 Oct 2008 10:01
by jgg
What if you try to change the path to any media file from your computer?

Re: Getting started with JVLC 0.9 on Ubuntu

Posted: 28 Oct 2008 18:13
by BexX
sorry, i don't know, i'm not a jvlc magician :) but there are too many "libvlc error"
... and thats the problem! :) This "Djna.library.path" is garbage!

passing the plugins dir as cmd line option to libvlc will work.

Code: Select all

java org.videolan.jvlc.example.VLCExample --plugin-path=/opt/vlc-plugins-2008-06-13
then you are going to need this /home/carone/apps/a.avi file, because its hardcoded.