Die PID Codes sind davon sind abhängig wo sie verwendet werden, DVB nutzt andere Reservierungen als ATSC usw.
Eine genaue Auflistung der PID Codes gibts in der Code Point Registry pdf bei atsc.org ab Seite 9.
Detailfragen zu Transport-Streams
-
-
Vielen Dank für den Link.
-
WO zu ist das pointer_field gut? Findet man die pointer_field in allen TS Packete oder nur in PSI Tables. Außerdem ist es ja das erste BYte nach dem Header was ist wenn Adaptions Fileld noch folgt
-
Da es hier in allen Fragen bisher um Details eines Transport-Streams ging, die außer Software-Entwicklern wohl kaum jemanden interessieren, habe ich die letzten vier Themen von borhan zusammengefasst und nach "Software-Entwicklung" verschoben (Details zu einem Kontainer-Format sind in einer "Encoding"-Rubrik sowieso falsch platziert).
-
Ist das Payload_start_indicator-Bit in einem PSI Paket gesetzt ist auch ein Pointer_field vorhanden == das erste Payload Byte, es zeigt das Start Byte des PSI Datagramms an. Meist ist es 0x0 weil das Datagramm sofort nach dem Pointer Field beginnt.
Es können aber auch mehrere PSI Datagramme hintereinander in Paketen selber PID übertragen werden. Es kann also sein dass ein neues Datagramm mitten im Payload eines PSI Paketes beginnt. Das Pointer Field zeigt dann auf das erste Byte dieses Datagramms.
Stuffing Bytes werden in PSI Paketen einfach nach dem Payload bis zum Paketende eingefügt und nicht mittels Adaption_Field vor dem Payload wie in Paketen mit PES Inhalt. -
danke erstmal, das du meine Beiträger hier her verschhoben hast ich habe leider diesen teil nicht gefunden gehabt
-
Hallo, kann mir vielleicht jemand sagen, was CRC im Porgam Assiciation Table ist und wie man sie setzen muss
Frage 2 NID braucht man unbedingt ein NID
-
Kannst du vielleicht mal alle Fragen, die sich mit dem Transport-Stream beschäftigen, in den selben Beitrag schreiben?
__Wie man einen CRC32 berechnet, kannst du tausendfach im Internet finden (z.B. "Adler"-Algorithmus). Die eigentliche Frage ist - wovon exakt (von wo bis wo)?
-
*gig* LigH war flotter,.. war gerade am schreiben und musste feststellen, dass der Thread weg ist
ZitatFalls es um Transportstreams geht:
Warum hast Du die Frage nicht im von Dir bereits existierenden Thread gestellt?
Was mir spontan dazu einfällt, auch wenn es lange her ist, dass ich mir mal die MPEG-2 Transportstream Dokumentation durchgelesen habe,...1. PAT = Program Association Table
2. CRC_32 sollte einen 32bit langen CRC(cyclic redundancy check)-Wert beinhalten des aktuellen Packages beinhalten, anhand dem man prüfen kann ob das Packet kaputt ist oder nicht. (Was man macht wenn das Packet kaputt ist liegt dann am Empfänger.)
3. TID & NID werden verwendet um den Stream zu finden.Cu Selur
Ps.: @Mods: wäre sinnig den Thread an den anderen zu hängen, da er alleine keinen Sinn macht.
-
Hallo,
ich habe es gelernt ich werde nicht mehr einfach neu themen erstellen und immer die gleiche benutzen.
Meine Frage ist ich möchte Für Transport Streams PCR erstellen lassen.
ich möchte aus einem Vob ein Ts bilden.
nun meine Frage:
Wo krieg ich den die Werte für PCR, die müssten doch im PES enthalten sein
ist vielleicht PCR und PTS gleich, oder sind die im vob header drine -
Zitat
ich habe es gelernt ich werde nicht mehr einfach neu themen erstellen und immer die gleiche benutzen.
Das als ersten Beitrag in einem neuen Thread,...Würde empfehlen mal in den SourceCode von ProjectX zu gucken, da dort u.a. vob in ts gewandelt wird und auch Routinen existieren die PCR/SCR aus generiere PTS generieren.
Cu Selur
-
Na ja - ist kein großer Aufwand, die Beiträge zusammenzuführen... nur etwas unnötiger Aufwand.
-
Kann mir vielleicht auch jemand sagen, wo in ProjectX also in welcher Methode oder in welcher Klasse aus PTS PCR ausgerechnet wird ich habe es leider immer noch nicht gefuden
-
Spontan hätte ich mal in die StreamConverter.java Klasse geguckt,....
-
Hallo,
ich bin wieder da und habe neu fragen.
Wie stelle ich sicher, dass in ts die PAT sich alle 100 ms wiederholt an welchem uhr muss ich das festmache.und eine zweite frage
Die letzten vier bytes aus PAT, die Projectx nach konvertieren von VOB ins ts schreibt? ist das wircklich ein CRC32 wert oder macht PROjectx dort was anderes -
zu Frage 1: Welche 'Uhren' stehen Dir denn zur Auswahl?
Zu Frage 2: Es wäre sinniger den Author von ProjectX im ProjectX eigenen Form zu fragen. -
Ok, die eine Frage stelle ich dann im project x forum, die andere Frage.
welche uhr.genau das ist meie frage wie stelle ich sicher das jetzt genau 100 ms um sind und die PAt und PMT tabelle nochmal auftauchen müssen
-
Zu 1. helfe ich dir mal ein wenig:
- Videostreams haben Frames, wobei jedes Frame eine bestimmte Spieldauer hat.
- Audiostreams haben Frames, wobei jedes Frame eine bestimmte Spieldauer hat.
- Die zeitlichen Längen von Videoframes und Audioframes unterscheiden sich je nach Video-Framerate (fps) und Audio-Kompressionsformat (MP2 anders als AC3).
- Aufgabe eines Multiplexers ist es, abwechselnd je ein oder mehrere Frames jeder Spur so zu mischen, dass deren Inhalt rechtzeitig zu deren Abspielzeitpunkt bereitstand."Genau 100 ms" wird dadurch praktisch unmöglich, dass weder Videoframes üblicher Frameraten noch Audioframes aller mir bekannten Formate mit ganzzahligen Vielfachen exakt 100 ms erreichen. Aber vielleicht ist die Angabe "100 ms" auch etwas anders gemeint - wahrscheinlich entweder "mindestens" oder "durchschnittlich".
-
i.d.R. "mindestens"
-
danke erstmal für die Antworten,
Ja das habe ich auch verstanden, dass mit 100ms nicht gemeint ist das es genau 100 ms also, dass in 100 ms ein mal.
Aber ich wollte auch wissen, wenn ich ps zu ts umwandele woran ich erkennen muss wann ich meine PAT und PMT wiederholen muss.
z.B. PCR muss ich immer dann einsetzten wenn in PES das Flag für DTS bzw. PTS gesetzt ist. Zmindest so macht es ProjectX. Nun habe ich nichts gefunden woran ich weiss ahah jetzt muss ich PAT bzw. PMT wiederholen -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!