Streamer für Windows kompilieren und testen

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

jmittelst hat geschrieben:Zwar kann die wohl leicht veraltete Streamerversion in dem Snap das MPG nicht mehr abspielen, aber TS-Files sind kein Problem, ruckelfrei und nett.
mich wundert, daß ihr überhaupt soweit kommt - ich hab QT4-Version von streamer nie wirklich getestet weder unter Linux geschweige denn unter M$ ...
Aber das Ruckeln bei MPG-Files ist normal für ältere streamer-releases. Im neusten QT3-streamer läuft aber auch das prima, weil ich das interne TS-Muxen optimiert habe. Weiß jetzt nicht mehr, ob ich das auch schon in den QT4-streamer so übernommen hab ... :gruebel:
Resultat: Im Prinzip gibt es keine Probleme mehr mit Streamer unter Windows!
daraus schließe ich erst mal, daß QT4 mit release 4.1.3 nun endlich taugt, oder vielleicht hast du das alles anders kompiliert als ich. ich hab das mit "mingw" und irgendwelchen fertig compilierten QT4-libs gemacht ?! Nun, wenn sich da jetzt mehr M$-Asse mit beschäftigen, sollte schon was Brauchbares rauskommen, denn unter Linux läuft streamer ja auch "erschreckend" stabil ...
Problematisch: Die Integration vom Streamer-Code in Neutrino.
ja, ein wenig :)
Ich würde mir folgendes wünschen, gerade, weil Transcoding ja noch nicht klappt:
transcoding habe ich prinzipiell unter Linux erfolgreich am Laufen, müßte nur noch benutzerfreundlcher werden, was recht aufwendig ist, da nicht ganz so trivial.
- Streamer wird fester Bestandteil des Movieplayers. Neben "TS abspielen" und "Datei via VLC" den Punkt "Streamer". In den Optionen einen eigenen Einstellpunkt für den Port und ggf. was Streamer noch so für Konfigurationen benötigt.
meine persönliche Meinung zum ursprünglichen Code des MP vor allem des VLC-Parts mag ich nicht unbedingt hier breittreten. Aber mein "streamerfizierter" MP Code ist "VLC bereinigt" und mittlerweile stark überarbeitet nach dem Motto: wenn schon C++, dann kann auch ein wenig OO-Design nicht schaden :)
So wie ich mir's Letzendlich vorstellen könnte, ist es zwar bei Weitem noch nicht, aber im Vergleich zu früher doch ein Meilenstein ...
Deshalb würde ich es in keinem Fall über's Herz bringen den VLC Code in unverändertem Zustand da wieder reinzubasteln. Und um den ebenfalls erst "schöner" zu machen, fehlt mir Zeit und Lust.

Aber auch ohne Wunscherfüllung bin ich stark beeindruckt von Streamer. Ich hatte jetzt zwar spontan keine wirklich kritischen Files zur Hand, aber Streamer scheint sehr zuverlässig abzuspielen. Im Vergleich zu meinem ansonsten eher als mangelhaft von der Performance her zu bezeichnenden Netzwerkes via NFS-Server läuft Streamer mindestens genauso gut.
... beim Design von streamer war mir auch noch ein Aspekt wichtig: durch Verlagern von Funktionalität weg vom MP in neutrino hin zum streamer server, sind Erweiterungen, Verbesserungen etc. mit wesentlich geringerem Aufwand zu realisieren, als dies unter tuxbox möglich wäre. Auch eröffnet dies einige neue Möglichkeiten (wie z.B. Transcodieren), an die auf der Box gar nicht zu denken wäre.
GMO: Mach weiter so und lass Dir mal meinen Wunsch durch den Kopf gehen.

siehe oben ...

- GMo -
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hallo GMO,
ich glaube, meinen kleinen Feature-Request hast Du nicht so verstanden, wie ich ihn gemeint habe:

TS abspielen - CVS-Stand, so wie jetzt via NFS, CIFS, FTPFS, ...
Datei via VLC - CVS-Stand, mit allen Einstellungen

Dazu:
Streamer - Alle Funktionen, so wie jetzt mit der seperaten Streamer-neutrino-binary, aber ohne seperate Binary.

Also nicht, wie jetzt CVS-Movieplayer oder Streamer, sondern CVS-Movieplayer inkl. Streamer. Sollte sowas überhaupt möglich sein. Alernativ könnte ich mir auch vorstellen, das der CVS-Movieplayer in dem Menü der Dbox-Taste wie gewohnt anwählbar ist, da aber ein gesonderter Zugang zu Streamer ist. Also weg von der Entweder-Oder-Lösung, hin zu Streamer als normalem Neutrino-Bestandteil.

Ich weiß, ich verlange da vermutlich viel bis zu viel und es könnte evtl. auch nötig sein Code-Teile dann doppelt zu haben, weil Neutrino ja nicht wirklich kompfortabel programmierbar ist. Da SquashFS aber mittlererweile als Standard angesehen werden kann, sollte der Platz im Rootsquashfs ja eigentlich kaum ein Problem sein.

cu
Jens
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

jmittelst hat geschrieben:Hallo GMO,
ich glaube, meinen kleinen Feature-Request hast Du nicht so verstanden, wie ich ihn gemeint habe:

TS abspielen - CVS-Stand, so wie jetzt via NFS, CIFS, FTPFS, ...
Datei via VLC - CVS-Stand, mit allen Einstellungen

Dazu:
Streamer - Alle Funktionen, so wie jetzt mit der seperaten Streamer-neutrino-binary, aber ohne seperate Binary.

Also nicht, wie jetzt CVS-Movieplayer oder Streamer, sondern CVS-Movieplayer inkl. Streamer. Sollte sowas überhaupt möglich sein. Alernativ könnte ich mir auch vorstellen, das der CVS-Movieplayer in dem Menü der Dbox-Taste wie gewohnt anwählbar ist, da aber ein gesonderter Zugang zu Streamer ist. Also weg von der Entweder-Oder-Lösung, hin zu Streamer als normalem Neutrino-Bestandteil.

Ich weiß, ich verlange da vermutlich viel bis zu viel und es könnte evtl. auch nötig sein Code-Teile dann doppelt zu haben, weil Neutrino ja nicht wirklich kompfortabel programmierbar ist. Da SquashFS aber mittlererweile als Standard angesehen werden kann, sollte der Platz im Rootsquashfs ja eigentlich kaum ein Problem sein.

cu
Jens
neben ner Menge doppelten Codes (unnötig) kommt das aufs selbe raus, wie ich es meinte, wenn ich einfach den VLC Code wieder bei "mir" einbaue. Der Streamer-Code beinhaltet ja auch den kmpl. fileshare-basierten Teil. Also letztendlich wäre dein Vorschalg sogar noch mehr Arbeit...

- GMo -
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Vorteil wäre aber: Ein binary, für alle Zwecke. Besitzer von NAS oder IDE2 können dann genauso zu Werke gehen wie jetzt, VLC steht weiterhin seperat zur Verfügung und Streamer stünde dann auch für den geneigten Benutzer zur Verfügung.

So es mir irgend möglich ist, kann ich gerne immer eine Binary für Win32 kompilieren und Dir auch mit den nötigen Dlls zur Verfügung stellen, dann kannst Du die auch immer auf Sourceforge mit ins Packet hochladen.

Gibts eigentlich was neues von Streamer ;)? Wenn schon eine alternative Binary von neutrino nötig ist, wäre es sehr interessant, wenn es da eine Aktualisierung gäbe, die auch in aktuellen Images läuft. Gerade, das bei Yadi der aktivierte Streamer einen Start von Neutrino verhindert ist nicht wirklich angenehm.

cu
Jens
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

Ja, Qt4 kann man schon eine Weile benutzen. ;)

Wenn man gegen die statischen Libs linkt, braucht man die Qt-DLLs nicht, dann ist die Anwendung zwar größer, aber das sollte ja weniger eine Rolle spielen wenn man die DLLs eh' dazu nehmen müßte.

Dafür muß man die Qt-Libs allerdings neu bauen, ist aber eine triviale Angelegenheit unter Win32.
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

gmo18t hat geschrieben: mich wundert, daß ihr überhaupt soweit kommt - ich hab QT4-Version von streamer nie wirklich getestet weder unter Linux geschweige denn unter M$ ...
Allerdings:
ASSERT failure in QObject::QObject(): "Cannot create children for a parent that is in a different thread.", file kernel/qobject.cpp, line 599
Asserted natürlich nur in der (Linux- und Win32-)Debug-Version. Die Release läuft zwar, aber seid ihr sicher, daß da nirgendwo Probleme auftauchen? :)
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

Ok, eine Runde insight sagt mir, daß die Ursache einfach ist: der Konstruktor von TStreamServiceTh wird vom Hauptthread aufgerufen und da streamService ein Klassenobjekt ist wird es dort initialisiert und nicht im Threadkontext wie Qt es erwartet.

Fix ist daher natürlich einfach: streamService muß dynamisch in run() erzeugt und zerstört werden.

Ich denke aber, daß das "nur" zu Speicherlecks beim Beenden führt, dürfte also nicht kritisch für den Betrieb sein.
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

mash4077 hat geschrieben:@Jens
Am Sonntag auf BR-alpha kommt um 19:00Uhr "Denker des Abendlandes".
Wenn du magst, dann kannst du das zum Test ja dann auch mal streamen.
Die genannte Aufnahme (TS mit udrec) läuft hier äußerst geschmeidig.

Gruß
mash
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

gmo18t hat geschrieben:Aber das Ruckeln bei MPG-Files ist normal für ältere streamer-releases. Im neusten QT3-streamer läuft aber auch das prima, weil ich das interne TS-Muxen optimiert habe. Weiß jetzt nicht mehr, ob ich das auch schon in den QT4-streamer so übernommen hab ... :gruebel:
Kannst du das bitte noch mal prüfen?

Gruß
mash
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

mash4077 hat geschrieben: Kannst du das bitte noch mal prüfen?
... prüf ...
nein, ist noch nicht im 4er drin. Aber werd's mal grad eben einbauen und uploaden (ist dann aber "untested").

- GMo -
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

... und nun kann es hier geladen werden:
http://lvempeg.sourceforge.net/test/str ... 12.src.tgz

- GMo -
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

gmo18t hat geschrieben:... prüf ...
nein, ist noch nicht im 4er drin. Aber werd's mal grad eben einbauen und uploaden (ist dann aber "untested").
Das stimmt mich positiv, was die Hoffnung betrifft, streamer auch unter Windows ruckelfrei mit PES betreiben zu können.
gmo18t hat geschrieben:... und nun kann es hier geladen werden...
Supi, vielen Dank!

@Jens
Machst du bitte bei Gelegenheit einen neuen Build?

Gruß
mash
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hab heute noch keine richtige Zeit gehabt.
Aufnahme scheint geklappt zu haben, Log ist unauffällig, weist aber auch keine besonders hohe Datenrate auf, also keine Meldungen von Udrec, das 9Mbit überschritten wären.

Kompiliert hab ich es eben mal schnell, die Zeile mit dem "truncate" hab ich wieder einfach gelöscht. Ergebnis ist hier: http://jmittelst.no-ip.com/Dateien/Stre ... 060612.zip - Komplettpack inkl. den oben erwähnten DLLs.

Viel Spaß damit.

cu
Jens
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

jmittelst hat geschrieben:Log ist unauffällig, weist aber auch keine besonders hohe Datenrate auf, also keine Meldungen von Udrec, dass 9Mbit überschritten wären.
6,1 Mbit/s max total data rate
jmittelst hat geschrieben:Viel Spaß damit.
Herzlichen Dank, das hast du sehr gut gemacht! :D
Carjay hat geschrieben:Ich denke aber, daß das "nur" zu Speicherlecks beim Beenden führt, dürfte also nicht kritisch für den Betrieb sein.
Ich habe mal darauf geachtet, max. Speicherbelegung lag bei 5MB. Meist aber bei 1,7MB. CPU-Auslastung lag bei max. 5%. Streamer macht einen sehr schlanken Eindruck.
gmo18t hat geschrieben:Aber werd's mal grad eben einbauen und uploaden (ist dann aber "untested").
Die AC-Sendung, die als PES noch ruckelte, läuft mit dem neuen Streamer jetzt genauso geschmeidig wie TS. Ich werde das noch mal mit einer anderen Aufnahme testen, bin aber schon mal begeistert!

Gruß
mash
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hmm - mit dem alten Yadi läuft es problemlos, mit der alternativen Binary krieg ich es in einem aktuellen JtG nicht ans laufen...

@Gmo: Wie wäre es, wenn Streamer ins CVS wandert, vielleicht in einem alternativen Branch oder so? Das (und ein paralleler Einbau zum Movieplayer ;)) könnte helfen, Streamer und Images besser zusammen arbeiten zu lassen. Zumindest würde es die Möglichkeit dann geben, das das per Newmake dann einfach kompiliert und jemand ein frisches und lauffähges Image mit einem aktuellen Streamer zur Verfügung stellen kann.

cu
Jens
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Darf ich mir eine bloede Frage erlauben....

Was ist den eigenlich der "Streamer" ...?

Ist das ein anderer Movieplayer ....

Fuer was braucht man den die Windows Files ..?
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

jmittelst hat geschrieben:Hmm - mit dem alten Yadi läuft es problemlos, mit der alternativen Binary krieg ich es in einem aktuellen JtG nicht ans laufen...
Kann ich bestätigen. Ich teste alles mit dem Movieplayer aus dem Yadi 2.1.0.3. Alles Andere schießt meine Box ins Nirwana.

Ich habe inzwischen noch zwei weitere PES-Files getestet. Sporadisch ruckelt es noch. Ich gehe aber davon aus, dass das mit der alten Movieplayerversion wechselwirkt.

Gruß
mash
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Streamer ist ein Videoserver, läuft mit QT unter Linux und Windows (wie mit dem Binary bewiesen wurde) und ersetzt für den Movieplayer die NFS- und VLC-Verbindungen. Du mußt also kein Laufwerk gemountet haben und VLC muß auf dem Server auch nicht laufen, nur Streamer halt.

Was mich arg begeistert: Ich kann so hier im Wohnzimmer Streamer laufen lassen und TS-Files so auch aus einem SMB-Share meines Aufnahme-Servers abspielen. Bislang haben meine kuren Tests keine Ruckler oder andere Performance-Probleme gezeigt, die gerade NFS in meinem Netzwerk immer wieder macht.

cu
Jens
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

@gmo

Code: Alles auswählen

msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/G:\/G:\/G:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/G:\/G:\/G:\/C:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X


msg - rcvd:
DIR|vlc:///G://Aufnahmen/G:\/G:\/G:\/G:\/G:\/G:\/G:\/G:\/C:\/C:\/
msg - reply:
DIR:/C:\
DIR:/G:\
DIR:/Bookmarks
DIR|EOF|X
Irgendwie hängt sich da wohl der Filebrowser auf. Liegt das an der veralteten Movieplayerversion?

Das Ganze passiert übrigens nicht, wenn ich für die Laufwerksbuchstaben sprechende Namen wie Filme1 und Filme2 nehme.

Gruß
mash
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

jmittelst hat geschrieben:Hmm - mit dem alten Yadi läuft es problemlos, mit der alternativen Binary krieg ich es in einem aktuellen JtG nicht ans laufen...
mmh, muß mal ein neues neutrino auf aktuellem CVS-Stand bauen, vielleicht ist das im Moment "beigelegte" neutrino zu alt ! ?

- GMo -
Sagem 1x Kabel, AVIA600_vb028, cam-alpha 01_02_105D, int. ucode, .sp_ts + .hw_sections
damyly
Einsteiger
Einsteiger
Beiträge: 119
Registriert: Donnerstag 9. Januar 2003, 17:27

Beitrag von damyly »

Streamer ist ein Videoserver, läuft mit QT
Öhm, was ist QT?

Könnte, das jetzt unter Windows und mit einen neuen Image schon laufen? (Wenn nicht, auch gut, denn dann gibt es wieder etwas, auf das man sich freuen kann. :D )

Kann dieses Geschenk des Himmels auch Timeshift?

Wie configuriere ich die streamer.conf, wenn mein Verzeichnis G:\dbox lautet?
#-- streamer configuration --
LogLevel = 3
LogFile = - # /var/log/streamer.log
#
ioCharSet = ISO8859-15 # utf8
#
msgServicePort = 31100
streamServicePort = 31301
#
rootPDir = /video/0|0
rootDir = /video/1|1
rootDir = /video/2|2
rootDir = /video/3|3
#
wupDisk = /dbox2/maxtor/p1
wupDisk = /dbox2/maxtor/p2
#
envMap = $pMovies|/video/0
#
Vielen Dank
damyly
Einsteiger
Einsteiger
Beiträge: 119
Registriert: Donnerstag 9. Januar 2003, 17:27

Beitrag von damyly »

Habt Ihr alle WM-Karten bekommen?
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

damyly hat geschrieben:Habt Ihr alle WM-Karten bekommen?
Nö, an welche Adresse hast du sie geschickt? 8)

Gruß
mogway
Gruss
mogway
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

QT > 1. Google Treffer: http://www.trolltech.com/
Wikipedia.de: http://de.wikipedia.org/wiki/Qt_(Toolkit)

Mit den aktuellen Images gibt es, wie oben zu lesen ist, durchaus Probleme.

Timeshift wäre denkbar, habs nicht ausprobiert, könnte mit 2 Boxen hinhauen, fühl Dich frei es zu testen, Yadi 2.1.0.3 und vorn verlinktes Binary arbeiten zusammen.

Die richtige conf, die es auch etwas offensichtlicher macht, ist die streamer.conf.win32

Code: Alles auswählen

#-- streamer configuration --
LogLevel     = 3
LogFile      = -           # /var/log/streamer.log
#
ioCharSet    = utf8   # ISO8859-1
#
msgServicePort    = 31100
streamServicePort = 31301
#
rootPDir = c:/temp/0|0
rootDir  = c:/temp/1|1
rootDir  = /temp/2|2
#
cu
Jens