Fehler in JtJG 0.2.7b

Die alten XMG Foren.
Gesperrt
Nachricht
Autor
Chinaschnitte
Einmal-Streamer
Einmal-Streamer
Beiträge: 22
Registriert: Fr 23 Jul 2004, 2:25
Wohnort: EU

Fehler in JtJG 0.2.7b

#1 Beitrag von Chinaschnitte » Mi 02 Feb 2005, 10:37

Hi.

a) Die Umschaltung des SPTS-Mode funktioniert nicht wenn udrec als Engine verwendet wird. Mit JGrabber gehts aber.

b) Die PES-Dateien von JGrabber haben fälschlicherweise die Erweiterung .mpv, .mp2, .ac3. Oder soll das so sein? Wohl kaum.

c) Ab und zu wird bei JGrabber ein Video-Stream als Audio-Stream erkannt. (bei Videotext übrigends auch, aber das ist wohl einfach so).


Noch ein paar allgemeinere Sachen:

d) Man bekommt irgendwie keinerlei Rückmeldung in dem Fall, dass irgendwas mit dem streamen nicht stimmt. Beispielsweise wenn auf dem PC noch ein altes udrec läuft. udrec selbst gibt in dem Fall eine Socket-Exception aus läuft aber trotzdem (sinnlos) weiter. JGrabber beschwert sich hingegen überhaupt nicht.
Das alte JtG kümmert sich um derartige Angelegenheiten auch herzlich wenig. Wenn man aber schon einen Neuanfang macht, dann sollte man das aber früher oder später mal angehen.

e) Wäre vielleicht ganz nett, wenn man bei der Wiedergabe auch mehrere Audio-Pids anwählen könnte. Zumindest im VLC kann man zwischen den streams auch Umschalten.

f) Im übrigen wird anscheinen bei TS immer die aktuelle Audio-PID mitgestreamt, egal ob diese ausgewählt ist oder nicht. Und ohne Video gehts gar nicht. (Liegt aber nicht an JtJG). Sollte vielleicht aber bei der PID-Auswahl berücksichtigt werden (entsprechend nicht-deselektierbar oder so).

g) Die Radio-Wiedergabe sollte vielleicht gesondert behandelt werden. (andere Einstellungen)

h) Es gibt anscheinend keine Möglichkeit die pmt und pat beim normalen streamen mitzunehmen.

mfg

z3r0
XMediaGrabber Dev
Beiträge: 2227
Registriert: Di 24 Feb 2004, 17:47
Wohnort: Nürnberg
Kontaktdaten:

#2 Beitrag von z3r0 » Mi 02 Feb 2005, 11:02

a) Bitte Logs posten. Dürfte normal nicht der Fall sein, da vorher umgeschaltet wird, bevor eine Engine angesprochen wird.

b) Was spricht gegen diese Dateiendungen? Oder ist dir vpes und apes lieber?

c) vtxt laesst sich (momentan) nicht aendern. Audio/Video-Verwechslung kommt selten vor. Ist aber ein (bekannter) Bug.

d) Es wird mit JtJG in der Regel eine aktuelle udrec-Version ausgeliefert. Der voreingestellte Pfad dazu steht ja eigentlich drin. Wenn jemand eine alte udrec-Version benutzen möchte, gehe ich mal davon aus, das er weiss was er tut.
Die Fehler von udrec abzufangen, ist in der Tag eine gute Idee.

e) Kein Fehler, Feauture Request

g) Die Einstellungen sind frei definierbar. Wie soll man das anders behandeln?

h) Wohin mitnehmen?

Danke fuer das Feedback. Momentan sind viele Baustellen offen, Verbesserungsvorschläge, und Meinungen (vielleicht auch dazu was gut läuft) sind gerne gesehen.
http://www.XMediaGrabber.de
Dreambox 7020
Ubuntu Feisty Fawn & WindowsXP SP2
Core2Duo E6400, 2048mb RAM

Chinaschnitte
Einmal-Streamer
Einmal-Streamer
Beiträge: 22
Registriert: Fr 23 Jul 2004, 2:25
Wohnort: EU

#3 Beitrag von Chinaschnitte » Mi 02 Feb 2005, 13:56

a) Im Log steht halt nix brauchbares drin:

Code: Alles auswählen

Direktaufnahme: Sendepause
12:38:37 INFO  - F:\dbox\stream\bat\udrec.exe -host 192.168.6.24 -now -pes -o S:\stream\05-02-02 12_38 arte Sendepause\05-02-02 12_38 arte Sendepause -buf 16 -tcp 31340 -udp 31341 -vp 191 -ap 192 -ap 193
12:38:37 INFO  - 12:38:37 to DBox: VIDEO 31341 16 0 1 vaa 191 192 193
12:38:37 INFO  - 12:38:37 from DBox: INFO: forced TS-Mode
12:38:37 INFO  - 12:38:37 dbox is in spts mode, forcing -ts
12:38:37 INFO  - 12:38:37 from DBox: INFO: IP c0a80614 Port 31341
12:38:37 INFO  - 12:38:37 from DBox: PID vaa 1 191 192 193
12:38:37 INFO  - 12:38:37 to DBox: START
12:38:38 INFO  - 12:38:38 from DBox: INFO: UdpSender() - PID185 R0 W0
12:38:38 INFO  - 12:38:38 from DBox: INFO: DmxTSReader() - Pid 275232 0 0
12:38:57 INFO  - 12:38:57 to DBox: STOP
12:38:57 INFO  - 12:38:57 network statistics:
12:38:57 INFO  - max:      3,7 Mbit/s total data rate
12:38:57 INFO  - average:  3,5 Mbit/s total data rate
12:38:57 INFO  - no resends
12:38:57 INFO  - 12:38:57 TcpSender stopped
Mit udrec 0.12o und yadi vom 30.01.2005
Hab den Modus mit pzapit --decmode geprüft. Vor, während und nach dem stream immer 1 (also SPTS). Mit JGrabber gehts aber, da ists während dem stream 0. Das Rücksetzten geht bei udrec aber: Wenn man während dem streamen manuell auf PES schaltet und den Stream anhält schaltet er wieder auf SPTS zurück.

b) Ich glaube im Rest der Welt ist mpv, m2v, mp2, mpa etc. immer ES. Und da sich ES und PES schon deutlich unterscheiden dahingehend, was und wie man damit machen kann sollten die schon auch unterscheidbar sein. PES-Dateien sind ja ansich sehr selten und kaum ein Programm kann damit umgehen. Das würde sicher einige Verwirrung hervorbringen ("Warum spielt mein Player die Datei nicht ab?") Kurz gesagt: vpes/apes halte ich für deutlich besser.

d) Da hast du was falsch verstanden. Was ich bemängele ist die Tatsache, dass man nicht sehen kann, ob da überhaupt was gestreamt wird. Die Box kann abstürzen, oder man kann sie ausmachen oder das Netzwerkabel ziehen. Aber Fehlermeldung kommt keine. In dem Beispiel oben ging es darum, das eine alte(=schon länger laufende Instanz) von udrec läuft und es dann ein Problem mit den Ports gibt wenn man ein zweites udrec startet bzw. JGrabber. udrec meldet in dem Fall eine SocketException (wenigstens was) läuft aber trotzdem weiter. JGrabber meldet gar keinen Fehler. Andere Ursachen können sein zB SPTS nicht aktiviert, Umschalten hat nicht geklappt oder sonstwas. Es scheint aber immer alles normal zu funktionieren, nur Daten kommen keine an. Einzige Möglichkeit ist die Dateigröße zu beobachten, vielleicht auch die LEDs am Hub.

f) Gut, ist nicht sonderlich wichtig. Wenn man sich halt einen Standard-Player definiert, etwa vlc mit TS, dann kann man damit kein Radio hören und muss dann manuell einen anderen wählen (etwa WinAmp mit PES). Schön wärs halt, wenn dieser im Radio-Modus automatisch benutzt werden würde. Aber ist eher nebensächlich.

h) Na mit in die TS Datei rein. Also etwa udrec die beiden PIDs mit übergeben. Dann kann man die Datei hinterher etwa im vlc abspielen.

z3r0
XMediaGrabber Dev
Beiträge: 2227
Registriert: Di 24 Feb 2004, 17:47
Wohnort: Nürnberg
Kontaktdaten:

#4 Beitrag von z3r0 » Mi 02 Feb 2005, 14:39

a) Im Log steht schon was Wichtiges drin.
12:38:37 INFO - 12:38:37 from DBox: INFO: forced TS-Mode
Diese Zeile macht den Unterschied. Ich frage mich warum das Umschalten mit udrec vorher nicht klappt. Das ist eigentlich Engine-unabhängig. Bin mir ziemlich sicher, dass das Umschalten mal funktionierte. Wenn demnächst Zeit ist, muss die Stelle debugt werden.

Wird das Bild vor der Aufnahme kurz schwarz??

b) Es ist gibt dafür jedenfalls keine Norm. Ich persönlich, sehe lieber eine ".ac3" und eine ".mp2" Datei, als zwei ".apes"-Dateien. Imo sind da mehr Informationen enthalten. Das ist auf jeden Fall kein Bug, es waere von der Implementierung her sogar einfacher gewesen ein einfaches ".vpes" oder ".apes" anzuhängen. Nur weil die anderen Tools das bisher nicht gamcht haben, muss es ja nicht so bleiben. In der JtJG-Aufnahme Übersicht kann man ausserdem die Datei uswählen, und bekommt ganz genaue Informationen über den Typ der Datei.

d) Natürlich kommt eine Fehlermeldung, wenn das Streamen (wie auch immer) abgebrochen wird. Das Programm versucht hier ganz normal aus dem Aufnahmeprozess zu gehen, und loggt den Grund des Abbruchs. Eine laufende Aufnahme kann auch in der Aufnahmeübersicht verfolgt wird. Da sieht man welche Dateien geschrieben werden, und wie sie groesser werden (oder auch nicht). Ansonsten werden schon recht viele Ausnahme-Bedingungen behandelt. Wenn einem diese interessieren, bitte Log-Fenster aufmachen.

f) Mann kann es mit den zusätlichen Optionen auch ein wenig übertreiben. Es schaffen jetzt schon viele nicht, eine Option und einen passenden Player anzulegen. Wenn die Sache mit Winamp vernünftig funktionieren würde, waere die Notwendigkeit vielleicht dafür da gewesen, sowas zu implementieren.

h) Wird in die TODO-Liste aufgenommen.

btw. das Projekt ist Open-Source, es sind momentan aber nur 2 Personen richtig aktiv am Entwickeln. Wer coden kann, darf gerne Verbesserungen beisteuern.
http://www.XMediaGrabber.de
Dreambox 7020
Ubuntu Feisty Fawn & WindowsXP SP2
Core2Duo E6400, 2048mb RAM

Chinaschnitte
Einmal-Streamer
Einmal-Streamer
Beiträge: 22
Registriert: Fr 23 Jul 2004, 2:25
Wohnort: EU

#5 Beitrag von Chinaschnitte » Mi 02 Feb 2005, 20:05

a) Ok, hab den Fehler gefunden. In model.BOLocalTimer.getShortUdrecStreamType() (Zeile 118)

Code: Alles auswählen

return st.nextToken().toLowerCase();
ist ein toLowerCase() zuviel.
In streaming.RecordControl.initializeSptsStatus() wird aber mit großgeschriebenem String verglichen.
Ich denke das toLowerCase() gehört nach UdrecRecord.java Zeile 61, dafür dann in Zeile 79 "es" nach "ES" ändern.

b) Norm, hmm. Glaub schon, dass es nicht ganz korrekt ist pes-Dateien mit .mpv zu schreiben.
Ich bestehe ja nicht auf vpes/apes. Kann ja auch anders heissen. Hauptsache man kann pes-Dateien als solche erkennen. Wie wärs zB mit stream_name.ac3.apes , stream_name.mp2.apes , stream_name.vtxt.apes , stream_name.mpv.vpes . Da kann man erkennen, was was ist; die eigentliche Erweiterung deutet aber auf pes-Dateien hin.

d) Also wenn man das Netzwerkkabel zieht, oder zB auf einen anderen Transponder schaltet (wenn record-Mode deaktiviert), oder oder oder, dann kommt keine Fehlermeldung. Nur die Daten bleiben aus.

crazyreini
XMediaGrabber Dev
Beiträge: 462
Registriert: Do 28 Okt 2004, 8:30
Wohnort: Ried
Kontaktdaten:

#6 Beitrag von crazyreini » Mi 02 Feb 2005, 20:20

zu d.) ich werd was einbauen das eine Meldung kommt wenn sich die Dateien nicht mehr verändern.
Ich denke das ist "sicher" genug um zu entscheiden das irgendwas schief gegangen ist.
Sagem 2x Neutrino JTG Image
XMG 0.4.0 Win XP

z3r0
XMediaGrabber Dev
Beiträge: 2227
Registriert: Di 24 Feb 2004, 17:47
Wohnort: Nürnberg
Kontaktdaten:

#7 Beitrag von z3r0 » Mi 02 Feb 2005, 20:53

Chinaschnitte hat geschrieben:a) Ok, hab den Fehler gefunden. In model.BOLocalTimer.getShortUdrecStreamType() (Zeile 118)

Code: Alles auswählen

return st.nextToken().toLowerCase();
ist ein toLowerCase() zuviel.
In streaming.RecordControl.initializeSptsStatus() wird aber mit großgeschriebenem String verglichen.
Ich denke das toLowerCase() gehört nach UdrecRecord.java Zeile 61, dafür dann in Zeile 79 "es" nach "ES" ändern.

b) Norm, hmm. Glaub schon, dass es nicht ganz korrekt ist pes-Dateien mit .mpv zu schreiben.
Ich bestehe ja nicht auf vpes/apes. Kann ja auch anders heissen. Hauptsache man kann pes-Dateien als solche erkennen. Wie wärs zB mit stream_name.ac3.apes , stream_name.mp2.apes , stream_name.vtxt.apes , stream_name.mpv.vpes . Da kann man erkennen, was was ist; die eigentliche Erweiterung deutet aber auf pes-Dateien hin.

d) Also wenn man das Netzwerkkabel zieht, oder zB auf einen anderen Transponder schaltet (wenn record-Mode deaktiviert), oder oder oder, dann kommt keine Fehlermeldung. Nur die Daten bleiben aus.
a) Super! Das erspart schon mal eine Menge Arbeit. Ein einfaches equalsIgnorCase() muesste es aber auch tun

b) Die Idee mit *.mp2.vpes finde ich gut
http://www.XMediaGrabber.de
Dreambox 7020
Ubuntu Feisty Fawn & WindowsXP SP2
Core2Duo E6400, 2048mb RAM

Chinaschnitte
Einmal-Streamer
Einmal-Streamer
Beiträge: 22
Registriert: Fr 23 Jul 2004, 2:25
Wohnort: EU

#8 Beitrag von Chinaschnitte » Fr 18 Feb 2005, 14:58

Nochwas zur SPTS-Umschaltung. Bei ES muss SPTS auch ausgeschaltet werden, nicht nur bei PES.

Gesperrt