DsChAeK Forum (http://forum.dschaek.de/index.php)
- dboxTV (http://forum.dschaek.de/board.php?boardid=1)
-- Fehler/Probleme und Fragen (http://forum.dschaek.de/board.php?boardid=7)
--- [gelöst] Alte libvlc.dll einbinden? (http://forum.dschaek.de/threadid.php?threadid=343)


Geschrieben von Strandläufer am 20.01.2009 um 11:01:

Alte libvlc.dll einbinden?

DboxTV läuft bei mir nur, wenn ich eine 0.8.6 VLC installiert habe. Theoretisch soll ich ja eine alte libvlc.dll einbinden können. In den Einstellungen kann man auf eine solche dll verweisen.
Dies habe ich befolgt. Aber leider ist es so, daß ich dann beim Start zunächst ein Terminalfenster (Dos Fenster) angezeigt bekomme, daß mir dagt, daß irgendeine HTTP Option beim Aufruf von libvlc nicht gesetzt wurde. Nachdem ich ein paar Mal die Enter Taste drückte wurde der Cache gefüllt, aber dann kommt "No Stream avaible, wrong local IP?".

Wie gesagt: Habe ich die 0.8.6 installiert und verweise ich nicht explizit auf deren libvlc.dll geht alles.

Das ganze unter XP mit dem aktuellen dBoxTV.


Geschrieben von Bt am 21.01.2009 um 11:12:

Hi,

wie alt ist denn die "alte" libvlc.dll (version)? Warum willst du unbedint die libvlc.dll manuell einbinden?


Gruß
Bt


Geschrieben von Strandläufer am 21.01.2009 um 13:11:

Es ist die Version von der 0.8.6.
Es genügt schon explizit auf deren libvlc.dll zu verweisen um den Fehler auszulösen. Ich habe es auch mit anderen Versionen probiert (0.8.4 - 0.8.6).
Also:
1. 0.8.6 ist installiert und das Verweisfeld in den Optionen ist leer ----> dBoxTV funktioniert
2. 0.8.6 ist installiert und das Verweisfeld in den Optionen zeigt auf die installierte libvlc.dll ----> dBoxtv startet wie o. gesagt mit der Fehlermeldung im Terminalfenster und endet mit "No Stream avaible, wrong local IP?"
3. Es ist eine andere Version von VLC installiert und das Verweisfeld in den Optionen zeigt auf die libvlc.dll der (ansonsten nicht installierten) 0.8.6 ----> dBoxtv startet wie o. gesagt mit der Fehlermeldung im Terminalfenster und endet mit "No Stream avaible, wrong local IP?"

Hintergrund ist, daß ich eigentlich die aktuelle VLC Version im normalen PC Betrieb nutzen möchte, weil diese z.B. auch die AVCHD meiner Kamera abspielt.


Geschrieben von Bt am 21.01.2009 um 14:59:

Hmm,

versuch mal wenn "No Stream avaible, wrong local IP?" kommt ein paar mal Strg+R zu drücken.
Damit wird der Stream bzw. VLC resetet und er versucht nochmal neu zu starten.
Klappt bei mir meistens wenn ich das problem ("No Stream avaible") hab.


Gruß
Bt


Geschrieben von DsChAeK am 21.01.2009 um 18:41:

Also das sieht danach aus, als ob das VLC Webinterface nicht gestartet werden kann.
dboxTV ruft darüber Daten ab um zu schauen ob der Stream wirklich läuft, wenn es nicht erreichbar ist
dann kann es gut sein das dboxTV den Stream selbst stoppt, obwohl er laufen würde.
Das muß ich selbst mal genauer nachprüfen.

Also bei mir ist es egal ob ich die dll manuell einbinde oder automatisch erkennen lasse, deshalb wundert mich, dass
es bei dir nur bei manueller Einbindung auftritt...!?
Weiß da ehrlich gesagt nicht was schief läuft, wenn das Feld leer ist, dann wird ja der dll-Pfad nur aus der Registry gelesen.
Sonst gibt es da keinen Unterschied. Ich werde das mal testen, und versuchen nachzuvollziehen.

STRG+R hilft nur wenn das Webinterface läuft, und das Timeout von dboxTV evtl. zu niedrig eingestellt ist.
Denke das muß ich der nächsten Version sowieso mal verbessern.

Ansonsten könntest du mir mal dein dboxTV.log schicken!

Gruß
DsChAeK

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2


Geschrieben von Bt am 21.01.2009 um 20:17:

Hi,

was genau ist das überhaupt für ne installierte vlc version 0.8.6? v0.8.6/a/b/c/d/e/f/g/h/i?
Kannst das mal mit einer anderen 0.8.6 version testen und gucken ob der selbe Fehler auftritt?
Was anderes fällt mir sonst gerade auch nicht weiter ein.


Gruß
Bt


Geschrieben von Strandläufer am 22.01.2009 um 22:16:

Ich habe gerade die 0.8.6d und 0.8.6i ausprobiert. Beide mit dem oben bereits geschilderten Verhalten.
Hier ein Bildschirmfoto der Ausgabe im Terminalfenster


drücke ich einige Male die Enter Taste läuft folgendes andauernd durch, bis im Hauptfenster die Stream Error Meldung kommt:



@DsChAeK Log ist unterwegs


Geschrieben von Strandläufer am 22.01.2009 um 22:46:

Ich konnte das Problem jetzt etwas eingrenzen, bzw für Euch nachvollziehbar:
1. Ist eine 0.8.6 installiert und kein Ort für die Libvlc.dll angegeben gehts.
2. Verweise ich in den Optionen auf die Libvlc.dll im Videolan/VLC Verzeichniss (also da wo sie lt. Registry zu finden ist) dann gehts auch.
3. Kopiere ich die libvlc.dll in irgend ein anderes Verzeichnis und verweise in den Optionen auf diese libvlc.dll, dann kommt der Fehler mit dem Terminalfenster.

Evtl. hat das außer mir noch keiner probiert?


Geschrieben von DsChAeK am 23.01.2009 um 00:48:

Hi,

zu deinem Logfile:
code:

21:04:21:046, HTTP  , **** ESocketException: Address already in use (#10048 in Bind) ****
...
21:06:03:968, STATE , playing HTTP stream...(720x576/1875kbit/joint stereo)
21:06:03:968, FUNC  , switching time : 7.125s
21:06:06:609, FUNC  , Stop()
21:06:59:234, VLC   , VLC_Pause(vlc_play), no error
21:06:59:250, VLC   , VLC_Stop(vlc_play), no error
21:06:59:250, VLC   , VLC_Pause(vlc_base), no error
21:06:59:265, VLC   , VLC_Stop(vlc_base), no error
21:06:59:265, FUNC  , Delay 200ms
21:06:59:468, STATE , stream stopped!
21:06:59:468, STATE , no stream available! (wrong lokal ip?)


Ich schreibe hier einfach mal generelle Tips zu diesem Fehlerbild, auch wenn sie bei dir jetzt nicht zutreffen!
(Bei dir liegt es in diesem Falle an der fehlerhaften libvlc.dll-Einbindung)

1. Port 31327 scheint bei dir schon belegt zu sein, da wird der dboxTV interne Webserver gestartet,
was erstmal nicht so wichtig ist, es sein denn du nutzt den client-Modus im LAN.
(->ESocketException, Server wird nicht gestartet)

2. D-Box Link direkt in VLC abspielen
http://dboxip:31339/0,0x0064,0x0065,0x0066,0x006A,0x0067
(01. Das Erste muß dazu eingeschaltet sein)
Wenn das geht, dann ist zumindest der Stream schonmal abspielbar.

3. VLC-Webinterface im Browser testen
http://localip:121/requests/status.xml
Wenn da irgendwas kommt, dann funktioniert auch das VLC-Webinterface.

Sollte allles manuell funktionieren, dann hat es einfach zulange gedauert bis der Stream abgespielt werden konnte.
Da habe ich noch ein festes Timeout drinn...werde das mit dem nächsten Release sowieso verbessern.

Jetzt zu den Terminal-Logs:
Da wundern mich die Fehler nicht! smile
Die DLL hat mit Sicherheit Abhängigkeiten zu anderen DLLs/Files, deshalb einfach auf eine libvlc.dll verweisen die
bei einer VLC8-Installation beiliegt!

Im Prinzip sehe ich jetzt dein Problem als gelöst.

Gruß
DsChAeK

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2


Geschrieben von Strandläufer am 23.01.2009 um 09:12:

Zitat:
Original von DsChAeK

Jetzt zu den Terminal-Logs:
Da wundern mich die Fehler nicht! smile
Die DLL hat mit Sicherheit Abhängigkeiten zu anderen DLLs/Files, deshalb einfach auf eine libvlc.dll verweisen die
bei einer VLC8-Installation beiliegt!

Im Prinzip sehe ich jetzt dein Problem als gelöst.

Gruß
DsChAeK


Das sehe ich nicht. Ich habe ja eine VLC8 Installation. Und deren libvlc.dll versuche ich ja zu verwenden. Nur das sie eben nicht im normalen Videolan/Vlc Verzeichniss, sondern woanders liegt. Wenn dann irgendwelche Abhängigkeiten nicht erfüllt sind, liegt doch wohl ein Fehler vor, oder? Sollte sich dBoxTV nicht um diese Abhängigkeiten kümmern? Bzw. lese ich in der Doku nicht, daß lediglich die libvlc.dll benötigt wird? Das verwendete VLC habe ich direkt von Videolan.org und nicht selbst kompiliert.
Es steht im Terminalfenster etwas von einer command-line option die nicht gesetzt wurde. Kann man die dBoxTV manuell übergeben?

In meinem letzten Beitrag habe ich versucht das Problem einzugrenzen. Hast Du selber mal die libvlc.dll aus einer VLC 0.8.x Installation in ein anderes Verzeichnis kopiert und dann versucht diese dll einzubinden?


Geschrieben von Bt am 23.01.2009 um 13:44:

Zitat:
Original von Strandläufer
3. Kopiere ich die libvlc.dll in irgend ein anderes Verzeichnis und verweise in den Optionen auf diese libvlc.dll, dann kommt der Fehler mit dem Terminalfenster.


Hättest du das nur mal früher gesagt. Natürlich kannst du die libvlc.dll nicht so ohne weiteres woanders hin kopieren und einbinden. Versuch statdessen mal eine ganze VLC Installation (also den ganzen Ordner) woanders hin zu kopieren und dann
die libvlc.dll manuell auszuwählen. Danach kannst du die neue VLC Version installieren.
Oder versuche mal die alte libvlc.dll in libvlc_old.dll umzubennen und diese dann in das gleiche Verzeichniss wo du auch das neue VLC9 installiert hast rein zu kopieren. Dann lädst du in DboxTV die libvlc_old.dll und versuchst es damit.

Ich übernehme keine Garantie daß es funtioniert. Alles ungetestet aber einen Versuch wert.
Vieleicht hast Du ja Glück und du findest so einen guten Workaround.


Gruß
Bt


Geschrieben von DsChAeK am 23.01.2009 um 13:51:

Nein, also das hast du missverstanden.
Normalerweise hat man VLC8 installiert und installiert dann die VLC9. Mit der VLC9 Installation, oder mit jeder anderen Installation, wird der Registry-Pfad auf diese gerade installierte Version umgebogen und zeigt nicht mehr auf die VLC8.
Der Ordner von VLC08 ist aber nach wie vor vorhanden, es sei denn du hast die Version deinstalliert.

Um jetzt die automatische Erkennung der libvlc.dll zu umgehen, bietet dboxTV diese Einbindung an, aber mehr auch nicht!
Die libvlc.dll muß dort liegen wo sie immer liegt, in einem vollständig installiertem VLC-Ordner!

Zitat:
Hintergrund ist, daß ich eigentlich die aktuelle VLC Version im normalen PC Betrieb nutzen möchte,

Ich sehe keinen Grund warum du für diesen Zweck nur die libvlc.dll, getrennt von einem VLC-Ordner, einsetzen müßtest.

Gruß
DsChAeK

@Bt: Das wäre mal einen kleinen Versuch wert smile

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2


Geschrieben von Strandläufer am 23.01.2009 um 17:18:

Zitat:
Original von DsChAeK
Nein, also das hast du missverstanden.
Normalerweise hat man VLC8 installiert und installiert dann die VLC9. Mit der VLC9 Installation, oder mit jeder anderen Installation, wird der Registry-Pfad auf diese gerade installierte Version umgebogen und zeigt nicht mehr auf die VLC8.
Der Ordner von VLC08 ist aber nach wie vor vorhanden, es sei denn du hast die Version deinstalliert.


So einfach ist das leider nicht. Man kann zwar angeben, daß man die alte Version nicht installieren möchte. Das hindert VLC aber nicht daran die alte Version zu überschreiben. Eine manuelle Angabe des Installationsortes ist nicht möglich.
Immerhin geht aber folgendes:
VLC8 installieren. Das Videolan/vlc Verzeichnis auf einen anderen Ort kopieren und in DboxTV auf die in diesem Ordner befindliche libvlc.dll verweisen. Dann VLC9 installieren.

Ich danke Euch für die Tips. Als Anregung wäre eine Änderung, bzw. Präzisierung der Doku für diesen Punkt hilfreich.


Geschrieben von DsChAeK am 23.01.2009 um 17:33:

Keine manuelle Pfad-Angabe möglich? Also das muß schon gehen, habe die neue Version auch schon in einen neuen Ordner installiert.
Naja vielleicht ist das ja ein Bug irgendwie...

Also ich baue auf jedenfall mal den Hinweis ein, das die DLL sich im VLC-Ordner befinden muß, denke dann ist es verständlicher.

Grüße
DsChAeK

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2


Geschrieben von Bt am 24.01.2009 um 00:39:

Zitat:
Original von DsChAeK
Keine manuelle Pfad-Angabe möglich? Also das muß schon gehen, habe die neue Version auch schon in einen neuen Ordner installiert.....


Er hat warscheinlich das Update-Setup gedownloaded.

Naja ist nun auch egal, Hauptsache es geht. Augenzwinkern


Gruß
Bt

Powered by: Burning Board Lite 1.0.2 © 2001-2004 WoltLab GmbH