PyGstreamer0.10 unter Windows

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Montag 29. September 2008, 12:14

Hallo zusammen,

ich versuche gerade ein Programm auf Windows zu portieren. Das ist wirklich eine Fleißarbeit, der Code ist zwar recht variabel, aber die Abhängigkeiten unter Windows zu installieren ist eine Farce.

Also:

Code: Alles auswählen

Traceback (most recent call last):
  File "X:\pyjama\pyjama.py", line 43, in <module>
    import clJamendo, clGstreamer010, clDB, clThreadedDownload #clPlayer
  File "X:\pyjama\clGstreamer010.py", line 14, in <module>
    import gst
  File "c:\python25\Lib\site-packages\gst-0.10\gst\__init__.py", line 87, in <module>
    from _gst import *
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Der Aufruf in Zeile 5 ist der, den ich in meinem Script vornehme, Zeile 7 ist ein interner Import des PyGST- Modules, der zu dem besagten Fehler führt. Das Problem: a) unter Linux läuft das einwandfrei und b) ich habe - soweit ich weiß - alles installiert, was man so braucht:

1) Python 2.5.2
2) GTK+ Bundle 2.14.3 (und in Pfad eingetragen)
3) pygobject 2.141.1
4) pycairo 1.4.12
5) pygtk 2.12.1
6) Gstreamer 0.10.17
7) gst-python25 0.10.10
8) gst-plugins-base 0.10.17
9) gst-plugins-bad 0.10.6

Meine Pfardvariable (Systemweit) sieht wie folgt aus:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\opt\gtk\bin;C:\Programme\Gemeinsame Dateien\GStreamer\0.10\bin;C:\Programme\Gemeinsame Dateien\GStreamer\0.10\lib\gstreamer-0.10
Vielleicht kann mir jemand dabei helfen,

lG

Barabbas
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Montag 29. September 2008, 12:40

_gst.pyd ist eine DLL, die unter Windows sicher anders aussehen wird als unter Linux. Du musst also je nach Betriebssystem die entsprechende DLL verwenden.
MfG
HWK
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Montag 29. September 2008, 12:49

Hi HWK!

Danke für deine Antwort, aber selbstverständlich habe ich die Windows- Version sämtlicher Pakete installiert. Die _gst.pyd ist bei mir auch verhanden und kann unmöglich irgendwas mit Linux zu tun haben.... woher auch? Es ist auf alle Fälle die Windows-Version, die (wahrscheinlich) durch gst-python25 installiert wurde. Ich habe sogar nochmal den ganze Python- Kram deinstalliert und neu augesetzt - gleiche Fehlermeldung :(
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 29. September 2008, 16:51

Gibt es eigentlich gst-python für Windows?

Edit: Tatsächlich, die gibt es. Hast du die richtigen Binaries installiert?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Montag 29. September 2008, 19:42

vermute ich, habe die installierten Versionen ja aufgeführt. Auf einem anderen Rechner mit NT hat das auch schonmal funktioniert. Allgemein scheint es aber ein zziemliches gease zu sein, von daher ist wahrscheinlich eh nicht praktikabel: Wenn man es nur mit Hängen und Würgen hin bekommt, ist es für den Anwender wohl schlicht unzumutbar.

Was für Alternativen würdet ihr denn empfehlen? Sollte *nicht* wxpython sein, und möglichst wenig Abhängigkeiten haben.

lG

brb
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 29. September 2008, 21:57

Kann es sein, dass du diesmal nur die Sourcen installiert hast?

Und, ähm, du vergleichst gstreamer mit wxPython? wxPython ist definitiv kein Ersatz für gstreamer, das sind zwei komplett verschiedene Sachen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Montag 29. September 2008, 22:25

Barabbas hat geschrieben:vermute ich, habe die installierten Versionen ja aufgeführt. Auf einem anderen Rechner mit NT hat das auch schonmal funktioniert. Allgemein scheint es aber ein zziemliches gease zu sein, von daher ist wahrscheinlich eh nicht praktikabel: Wenn man es nur mit Hängen und Würgen hin bekommt, ist es für den Anwender wohl schlicht unzumutbar.
Naja, wenn du dem Anwender diesen Aufwand ersparen willst, gibt es ja immer noch cxfreeze, py2exe oder pyinstaller ...
Was für Alternativen würdet ihr denn empfehlen? Sollte *nicht* wxpython sein, und möglichst wenig Abhängigkeiten haben.
Der Vergleich zwischen wxWidgets und GStreamer hinkt gewaltig ;) Passender wäre vielleicht ein Vergleich zwischen GStreamer und Phonon gewesen ...
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Samstag 8. November 2008, 23:44

der Verweis auf wxpython kommt daher, dass bei der Foren- Suche zu Medien-Integration in Python immer wieder Threads zu Tage traten, die schlicht den Wechsel des Frameworks empfahlen (so zumindest meine Erinnerung).
Eben weil das natürlich keine Option ist, habe ich es ausgeschlossen ;).

Danke für die Tipps mit "cxfreeze, py2exe oder pyinstaller"... momentan versuche ich noch das Ganze für Windows "rund" zu machen. Wobei ich das wahrscheinlich auf Eis legen werden: Da der Code unter GPL steht kann jeder Interessierte das portieren. Und wenn es niemanden interessiert, brauche ich mir die Arbeit schließlich auch nicht zu machen.

Gute Nacht,

brb
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 9. November 2008, 01:04

Barabbas hat geschrieben:Wobei ich das wahrscheinlich auf Eis legen werden: Da der Code unter GPL steht kann jeder Interessierte das portieren. Und wenn es niemanden interessiert, brauche ich mir die Arbeit schließlich auch nicht zu machen.
Stimmt. Und wenn interessierte deswegen auf freie Systeme umsteigen ist auch damit schon etwas gewonnen :)

Alternative könnte zum Beispiel PyMedia sein, auch wenn ich das immer etwas "seltsam" fand sowie pySonic das FMOD nutzt und auf Unices läuft. Allerdings stößt FMOD zu recht unter freien Systemen auf wenig Akzeptanz.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten