• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Java Media Framework

G-man

Newbie
Hallo Forum,

ich bin auf das Java Media Framework gestoßen. Hört sich interessant an. Leider scheitere ich an der Installation, offenbar bin ich zu dämlich :-(

Ich habe das JMF 2.1.1e von der Sun Seite heruntergeladen und die .bin Ausgeführt. Das funktioniert.
Laut der Sun Anleitung http://java.sun.com/products/java-media/jmf/2.1.1/setup-linux.html habe ich JMFHOME, CLASSPATH und LD_LIBRARY_PATH in der Datei /etc/profile.local gesetzt. Das sieht dann so aus:
Code:
JMFHOME=/opt/JMF-2.1.1.e
export JMFHOME

CLASSPATH=$JMFHOME/lib/jmf.jar
export CLASSPATH

LD_LIBRARY_PATH=$JMFHOME/lib
export LD_LIBRARY_PATH

Führe ich nun
Code:
echo $CLASSPATH
aus, ergibt das die Ausgabe
Code:
/opt/JMF-2.1.1.e/lib/jmf.jar
Dabei spielt es keine Rolle ob als root oder anderer Benutzer angemeldet.
Sieht auch noch gut aus.

Versuche ich aber das Diagnose-Applet von Sun auszuführen http://java.sun.com/products/java-media/jmf/2.1.1/jmfdiagnostics.html
gibts ne Fehlermeldung mit dem Hinweis, im CLASSPATH wäre die jmf.jar nicht enthalten.
Das Versuche ich mit Suse 9.3, Firefox 1.0.4 und Java 1.5.0_04. JavaApplets an sich funktionieren.

Ich bin etwas verwirrt. Wie kann ich meiner Kiste beibringen wo die JMF Dateien liegen? Hat SuSE da irgendwas spezielles gebastelt? Eine längere Recherche im i-net hat leider kein Ergebnis gebracht.

Wäre für Hilfe dankbar,
Christoph
 
OP
G

G-man

Newbie
Hallo TeXpert,

in der originalen Anleitung steht folgendes:
Code:
setenv JMFHOME /home/someuser/JMF-2.1.1e
setenv CLASSPATH $JMFHOME/lib/jmf.jar:.:${CLASSPATH} 
setenv LD_LIBRARY_PATH $JMFHOME/lib:${LD_LIBRARY_PATH}

In meiner unwissenden Naivität habe ich das in das übersetzt, was du bezweifelst. In meiner SuSE Installation gibts das setenv nämlich nicht.

Verbesserungsvorschläge?

Gruß
Christoph
 
Ich schließe mich der Anfrage einfach mal an:

http://www.linux-club.de/viewtopic.php?t=32023

Lies das mal, ich bin damals auf dem Weg des Ratens tatsächlich ein wenig weiter gekommen, richtig gelaufen ist es aber nicht. Aus Frustration habe ich inzwischen alles wieder entfernt, OpenOffice.org finde ich auch gar nicht mehr so toll, zumindest nicht unter Linux... :roll:

Die Anleitung von Sun kannst Du vergessen. Sun scheint sich nicht für Linux zu interessieren, die Anleitung ist total Solaris- und csh-spezifisch. Soweit ich weiß, soll die Umgebungsvariable LD_LIBRARY_PATH unter Linux gar nicht permanent gesetzt, sondern höchstens in Startup-Scripts benutzt werden.

Aber wie es stattdessen geht, weiß ich auch nicht. Das Linux-Gegenstück zu LD_LIBRARY_PATH ist /etc/ld.so.conf, da soll man allerdings auch nicht über Gebühr rumfuchteln. Probieren mag ich auch nicht mehr so gerne, weiß jemand mehr?
 
OP
G

G-man

Newbie
Hallo Traffic,

deinen Thread hab ich schon längst gelesen. Von dir ist die Vorlage für profile.local ;-)
OpenOffice finde ich immer noch gut, auch unter Linux. Aber das wäre ein anderer Thread.

Weiß wer, wie man das JMF ans rennen kriegt?

Gruß
Christoph
 
OP
G

G-man

Newbie
Hi TeXpert,

das macht Sinn.... setenv tut aber nicht, ich kann das nicht 1:1 übernehmen. Kannste mir ne alternative Variante sagen? Aber bitte so, daß ein Anfänger das kapiert.
Also: welche Datei, wo mit welchem Eintrag ;-)

Besten Dank im Voraus!

Gruß
Christoph
 
TeXpert schrieb:
mit Deiner Variante überschreibst Du den alten env-Eintrag mit dem neuen, Du will doch hinzufügen...
Das macht meiner Meinung nach schon Sinn, weil keine der beiden Umgebungsvariablen bei mir im Dauerbetrieb überhaupt gesetzt ist. profile.local wird ja beim Einloggen ausgeführt, sollte die JVM beim Starten zusätzliche Pfade in den Umgebungsvariablen benötigen, würde sie ja ihrerseits ihre Einträge hinzufügen und nicht überschreiben, es sei denn, da läuft etwas ganz anderes schief.

Bei mir ergibt jedenfalls sowohl "echo $CLASSPATH" als auch "echo $LD_LIBRARY_PATH", dass beide Umgebungsvariablen nicht gesetzt sind. Ich hatte das damals schon im Hinterkopf, allerdings trotzdem danke für Deine Anregung, ich werde sie morgen mal testen, bin allerdings nicht so optimistisch, dass es wirklich daran liegt...
G-man schrieb:
Also: welche Datei, wo mit welchem Eintrag ;-)
Probier es mal mit folgender profile.local:
Code:
JMFHOME=/usr/local/JMF-2.1.1e
export JMFHOME

if test -z "$CLASSPATH" ; then
   CLASSPATH="$JMFHOME"/lib/jmf.jar
else
   CLASSPATH="$JMFHOME"/lib/jmf.jar:"$CLASSPATH"
fi
export CLASSPATH

if test -z "$LD_LIBRARY_PATH" ; then
   LD_LIBRARY_PATH="$JMFHOME"/lib
else
   LD_LIBRARY_PATH="$JMFHOME"/lib:"$LD_LIBRARY_PATH"
fi
export LD_LIBRARY_PATH
Allerdings, wie gesagt: Ich werde das auch mal so versuchen, vermute den Fehler aber nicht an dieser Stelle.
 

TeXpert

Guru
G-man schrieb:
das macht Sinn.... setenv tut aber nicht, ich kann das nicht 1:1 übernehmen. Kannste mir ne alternative Variante sagen?

man bash ;)

export CLASSPATH=neuerpfad:$CLASSPATH

@traffic, ok, wenn der leer ist dann hmmm... mal drüber schlafen...
 
OP
G

G-man

Newbie
Hi TeXpert,

traffic hat schon Recht. Wenn ich die Variable "CLASSPATH" in profile.local nicht setze, dann ist "CLASSPATH" sonst leer, genauso wie die restlichen Variablen. Überschreiben "tu" ich mir da nix.

Vielleicht kann ja mal jemand bei den Cracks von SuSE direkt nachfragen. Ich kanns nicht, mein SuSE stammt aus dem i-net, nix mit Support. Diese Java CLASSPATH Geschichte mit allen sonstigen Java Umgebungsvariablen wie JAVA_OPTS usw. scheint ne etwas delikate Sache zu sein. Ich hatte damit schon diverse Probleme und wenn man dieses Forum so liest, bin ich da nicht der einzige.

Gruß
Christoph
 
So, ich hab's geschafft. ;) Zwar nach einer sehr "unsauberen" Methode, aber immerhin läuft es jetzt endlich. Und zwar habe ich die Dateien direkt ins JRE reinkopiert, dann muss man nämlich gar keine Umgebungsvariablen setzen:
Code:
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/bin/jmfinit
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/bin/jmfregistry
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/bin/jmstudio

/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/ext/jmf.jar
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/ext/jmf.properties
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/ext/mediaplayer.jar
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/ext/mp3plugin.jar
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/ext/multiplayer.jar

/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmcvid.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmdaud.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmfjawt.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmg723.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmgsm.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmh261.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmh263enc.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmjpeg.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmmpa.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmmpegv.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmmpx.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmutil.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmv4l.so
/usr/lib/jvm/java-1.5.0-sun-1.5.0.04/jre/lib/i386/libjmxlib.so
"Unsauber" ist es deshalb, weil es anders gehen muss. Es kann nicht sein, dass eine Software nur so funktioniert, aber wie es anders geht, weiß ich leider auch nicht.

Das tolle an der Sache: Das Testapplet läuft, aber in OpenOffice.org hapert es immer noch. :evil: Im OpenOffice.org-MediaPlayer kann ich sowohl Sound und Video abspielen, aber wenn ich eine zuvor abspielbare Video-Datei in ein Dokument einfüge, läuft dort nur noch der Sound - das Bild bleibt grau. :roll:
 

TeXpert

Guru
meine Java basteleien sind schon etwas her... aber dunkel kann ich mich daran erinnern, dass:

* phne gesetzten classpath wurde das installationsverzeichnis genommen

* mit classpath musste auch das Basis-Jar in den CP aufgenommen werden, ist das bei Java 2 1.5 immer noch so?
 
Oben