Transportstream und streamts
-
- Erleuchteter
- Beiträge: 536
- Registriert: Freitag 21. September 2001, 00:00
Transportstream und streamts
Ich will einen Transportstream per streamts aufzeichnen, und zwar mit
wget http://box:31339/1ff,200 -O mein.ts
Zuvor habe ich auf Premiere 1 umgeschaltet.
streamts wird auf der DBox gestartet, es kommen aber keine Daten. Ich habe mit dem Quellcode etwas gespielt -> er bleibt beim ersten read() hängen. Woran kann das liegen?
Ich teste mit einer HEAD-YADD vom 13.09.2003
tonsel
wget http://box:31339/1ff,200 -O mein.ts
Zuvor habe ich auf Premiere 1 umgeschaltet.
streamts wird auf der DBox gestartet, es kommen aber keine Daten. Ich habe mit dem Quellcode etwas gespielt -> er bleibt beim ersten read() hängen. Woran kann das liegen?
Ich teste mit einer HEAD-YADD vom 13.09.2003
tonsel
-
- Einsteiger
- Beiträge: 131
- Registriert: Mittwoch 15. Oktober 2003, 16:33
Hallo,
funktioniert bei mir mit deinem Image klaglos, allerdings nicht auf Premiere, kann ich nicht testen.
"curl" mal probiert ? Ansonsten koennte ein tcpdump bzw. der Output von "strace wget http://box:31339/1ff,200 -O mein.ts" weiterhelfen.
Gruss,
Patrick
funktioniert bei mir mit deinem Image klaglos, allerdings nicht auf Premiere, kann ich nicht testen.
"curl" mal probiert ? Ansonsten koennte ein tcpdump bzw. der Output von "strace wget http://box:31339/1ff,200 -O mein.ts" weiterhelfen.
Gruss,
Patrick
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
das geht mit den head treibern momentan nur dann, wenn
- entweder die als TS zu streamenden PIDs nicht als PES zum decoder wandern (-> playback aus oder umschalten auf benachbarten sender)
- oder die zu streamenden PIDs als TS zum decoder wandern (-> modulparameter mode=1 bei avia_gt_napi - in dem fall ist PES streamen waehrend playback nicht moeglich)
automatische umschaltung in SPTS modus bei beginn des streamens steht auf der imaginaeren TODO liste relativ weit vorn.
- entweder die als TS zu streamenden PIDs nicht als PES zum decoder wandern (-> playback aus oder umschalten auf benachbarten sender)
- oder die zu streamenden PIDs als TS zum decoder wandern (-> modulparameter mode=1 bei avia_gt_napi - in dem fall ist PES streamen waehrend playback nicht moeglich)
automatische umschaltung in SPTS modus bei beginn des streamens steht auf der imaginaeren TODO liste relativ weit vorn.
-
- Erleuchteter
- Beiträge: 536
- Registriert: Freitag 21. September 2001, 00:00
@obi
Ohne Playback geht's jetzt!
Ich habe zwischenzeitlich die unbehandelten Daten von "dvr0" per udpstreapes in eine Datei schreiben lassen und mit einem kleinen Analyse-Programm durchgeschaut. Dabei ist mir aufgefallen, dass relative häufig (ca. 1 mal pro 50kB) Transport-Pakete fehlen (anhand des "continuity_counter" im TS-Packet-Header). Trotzdem ist nie der "transport_error_indicator" gesetzt.
Kann man daraus schließen, dass die PES-Streams aus "demux0" auch fehlerhaft wären oder ist das nur irgendein Fehler (im Chip, im Treiber, in meinem Progi??) der sich nicht auf die normalen PES-Streams auswirkt?
Gibt es irgendwo schon einen fertigen Software-Demuxer, der aus diesen Roh-Daten einen PES-Stream macht, den man mit den Daten aus "demux0" vergleichen kann? Hat das vielleicht schon mal jemand gemacht?
tonsel
Ohne Playback geht's jetzt!
Ich habe zwischenzeitlich die unbehandelten Daten von "dvr0" per udpstreapes in eine Datei schreiben lassen und mit einem kleinen Analyse-Programm durchgeschaut. Dabei ist mir aufgefallen, dass relative häufig (ca. 1 mal pro 50kB) Transport-Pakete fehlen (anhand des "continuity_counter" im TS-Packet-Header). Trotzdem ist nie der "transport_error_indicator" gesetzt.
Kann man daraus schließen, dass die PES-Streams aus "demux0" auch fehlerhaft wären oder ist das nur irgendein Fehler (im Chip, im Treiber, in meinem Progi??) der sich nicht auf die normalen PES-Streams auswirkt?
Gibt es irgendwo schon einen fertigen Software-Demuxer, der aus diesen Roh-Daten einen PES-Stream macht, den man mit den Daten aus "demux0" vergleichen kann? Hat das vielleicht schon mal jemand gemacht?
tonsel
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
-
- Erleuchteter
- Beiträge: 536
- Registriert: Freitag 21. September 2001, 00:00
@obi
War ein Programm-Fehler meinerseits!
Jetzt habe festgestellt, dass immer wieder Pakete dabei sind, die nicht die korrekte Länge (188Byte) haben. Die Durchschnittslänge dieser Pakete ist aber wiederum exakt 188 Byte. Darüber hinaus beginnt das erste Video-Paket immer mit einem PES-Paket-Sync. Daraus schließe ich, dass das nicht die original-Pakete sind, die von Premiere gesendet werden.
Damit dürfte der TS-Paket-Header für Fehlererkennung nutzlos sein. Abspielen kann man diese Streams wegen der nicht normgerechten Paketlänge praktisch ebenfalls nicht
Kannst Du dass bestätigen?
tonsel
War ein Programm-Fehler meinerseits!
Jetzt habe festgestellt, dass immer wieder Pakete dabei sind, die nicht die korrekte Länge (188Byte) haben. Die Durchschnittslänge dieser Pakete ist aber wiederum exakt 188 Byte. Darüber hinaus beginnt das erste Video-Paket immer mit einem PES-Paket-Sync. Daraus schließe ich, dass das nicht die original-Pakete sind, die von Premiere gesendet werden.
Damit dürfte der TS-Paket-Header für Fehlererkennung nutzlos sein. Abspielen kann man diese Streams wegen der nicht normgerechten Paketlänge praktisch ebenfalls nicht
Kannst Du dass bestätigen?
tonsel
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
weiss nicht ob das evtl. damit zusammenhaengt, dass video und audio im SPTS mode in der selben queue sind. probier mal die treiber von heute. wojo hat was gefixt, was in die richtung zielt.tonsel hat geschrieben:Jetzt habe festgestellt, dass immer wieder Pakete dabei sind, die nicht die korrekte Länge (188Byte) haben. Die Durchschnittslänge dieser Pakete ist aber wiederum exakt 188 Byte.
meinst du PUSI? und wie kommst du zu dem schluss?Darüber hinaus beginnt das erste Video-Paket immer mit einem PES-Paket-Sync. Daraus schließe ich, dass das nicht die original-Pakete sind, die von Premiere gesendet werden.
was wolltest du benutzen? den TEI? der wird vom frontend oder vom sender gesetzt. ich wuesste keinen grund, wieso der demux das aendern sollte oder wieso der header dann fuer dich nutzlos sein sollDamit dürfte der TS-Paket-Header für Fehlererkennung nutzlos sein.
mplayer hat sich bisher nicht sonderlich dran gestoert.Abspielen kann man diese Streams wegen der nicht normgerechten Paketlänge praktisch ebenfalls nicht
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
-
- Erleuchteter
- Beiträge: 536
- Registriert: Freitag 21. September 2001, 00:00
Ich hab' die neue Treiber gerade ausprobiert. Jetzt krieg ich beim beim Aufnehmen der Transport-Streams genau das, was ich will. Alle Pakete sind gleich lang (188 Byte) und vollzählig vorhanden.
Diese Änderung ist für das normale PES-Streamen nicht relevant!
Diese Streams werden jetzt auch von Wingrab, VLC, WindowsMediaPlayer geschluckt. Beim Ton hackt's allerdings noch.
@Obi
Die Payload des ersten Paketes eines Streams fängt immer mit
packet_start_code_prefix (00 00 01)
stream_id (e0, c0 oder bd)
an.
Das war bisher bei allen Transport-Streams so, die ich aufgenommen habe und kann wohl kein Zufall sein. Darüber hinaus war noch nie der "transport_error_indicator" gesetzt (was aber noch kommen kann). Deshalb vermute ich nach wie vor, dass das nicht die gesendeten Pakete sind. Oder hast Du dafür eine andere Erklärung?
tonsel
Diese Änderung ist für das normale PES-Streamen nicht relevant!
Diese Streams werden jetzt auch von Wingrab, VLC, WindowsMediaPlayer geschluckt. Beim Ton hackt's allerdings noch.
@Obi
Die Payload des ersten Paketes eines Streams fängt immer mit
packet_start_code_prefix (00 00 01)
stream_id (e0, c0 oder bd)
an.
Das war bisher bei allen Transport-Streams so, die ich aufgenommen habe und kann wohl kein Zufall sein. Darüber hinaus war noch nie der "transport_error_indicator" gesetzt (was aber noch kommen kann). Deshalb vermute ich nach wie vor, dass das nicht die gesendeten Pakete sind. Oder hast Du dafür eine andere Erklärung?
tonsel
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
@petgun:
siehe tuxbox-cvs mailing list archiv
@tonsel:
ist doch schoen, dass die pakete am anfang beginnen, oder? was will man mit nem halben? wahrscheinlich wird zurecht auf das PUSI bit gefiltert. das wird aber wohl nur so sein, wenn playback aus ist weil ansonsten kein neuer filter gesetzt wird.
wieso sollte TEI gesetzt sein? stell mal die schuessel so ein, dass die bit error rate fuenfstellig wird, vielleicht hast du dann mehr "erfolg"
siehe tuxbox-cvs mailing list archiv
@tonsel:
ist doch schoen, dass die pakete am anfang beginnen, oder? was will man mit nem halben? wahrscheinlich wird zurecht auf das PUSI bit gefiltert. das wird aber wohl nur so sein, wenn playback aus ist weil ansonsten kein neuer filter gesetzt wird.
wieso sollte TEI gesetzt sein? stell mal die schuessel so ein, dass die bit error rate fuenfstellig wird, vielleicht hast du dann mehr "erfolg"
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
-
- Senior Member
- Beiträge: 1282
- Registriert: Montag 12. November 2001, 00:00
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26