Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
CRC32 Berechnen bei PAT und PMT
#1
Hi

ich habe mal eine Frage.
Ich versuche mittels FPGA den Transportstrom zu verändern.

Hierzu ist es auch notwendig, die PIDs in der PMT zu verändern. Da hat ja zur folge, das die CRC neu berechnet werden soll.

Nun bin ich erstmal überhaupt daran, wie man die CRC richtig berechnet.

Als Polynom wird bei der ISO Norm iso13818-1 folgendes angegeben:

x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

würde bedeuten:

100000100110000010001110110110111 -> 104C11DB7

dann Möchte ich diese auf folgender Seite berechnen:

http://www.zorc.breitbandkatze.de/crc.html

Ich gebe alle Bytes nach der senction length an und lasse diese mit dem Polynom 4C11DB7 berechnen.
Aber ich komme schon nicht auf die Werte, welche bei der unveränderten PMT vorhanden sind.

Muss noch etwas beachtet werden?

Vielen Dank für die Hilfe, ihr würdet mir wirklich weiter helfen.
Smile
Zitieren
#2
CRC32 Polynom sollte 0x04C11DB7 sein und nicht 0x104C11DB7.

http://en.wikipedia.org/wiki/CRC32
Lostech
Zitieren
#3
ok Danke Smile

Da steht auch nochmal das Polynom. Smile

Ich habe jetzt diese PMT (siehe Anhang)

Ich gebe nach den zwei Markierten Bytes (B0 und 2C), welches die senction length sind, die Bytes nacheinander hier ein: http://www.zorc.breitbandkatze.de/crc.html außer die letzten 4, welche die CRC sind.
%00%01%c3%00%00%E1%00%F0%00%1B%E1%00%F0%09%28%04%64%00%28%3F%52%01%00%06%E1%10%F0%07%BD%01%00%42%02%53%44%06%E1%01%F0%00

Lasse diese berechnen und komm aber auf: 24 85 A9 53 und nicht auf die 4D 64 15 B0

Irgendwo muss ich ja noch einen Fehler machen Sad


Angehängte Dateien Thumbnail(s)
       
Zitieren
#4
Das sieht nach einem Wireshark Log aus und ich glaube da hast du nur den reinen Datenpayload der PMT und nicht das komplette Datenpaket als Raw Ansicht bzw. die Raw Ansicht war nochmal separat möglich. Ich weis jetzt auch nicht, ob die CRC Checksumme nur über die reinen Daten oder über das komplette Datenpaket (Raw mit Header etc.) berechnet wird. Hab mich nie mit dieser Thematik befasst, aber vielleicht können dir andere hier weiterhelfen, ansonsten schau mal in die entsprechende DVB Norm.

An deiner Stelle würde ich auch mal was anderes als dieses Webseitenskript zur CRC Berechnung versuchen. Falls das Skript eine Macke hast, suchst du nämlich sonst ewig nach der Fehlerquelle...
Diverse Hexeditoren bringen oftmals CRC32 als Checksummenberechnungsfunktion mit. Einfach die Hexdaten in den Hexeditor kopieren und dann dort die Berechnung ausführen.
Lostech
Zitieren
#5
Danke schonmal Smile

in die ISO Norm habe ich schon mehrmals geschaut.
Es wird halt die CRC nur bei section_length erwähnt und dann noch mals im anhang

Zitat:section_length – This is a 12-bit field, the first two bits of which shall be '00'. The remaining 10 bits specify the number
of bytes of the section starting immediately following the section_length field, and including the CRC. The value in this
field shall not exceed 1021 (0x3FD).

Zitat:CRC_32 – This is a 32-bit field that contains the CRC value that gives a zero output of the registers in the decoder
defined in Annex B after processing the entire Transport Stream program map section.


Angehängte Dateien Thumbnail(s)
       
Zitieren
#6
Wie gesagt, kopier mal ein komplettes Paket in einen Hexeditor und berechne mal über die unterschiedlichen Bereiche mal den CRC32. Dann siehst du genau, ob mit oder ohne Header usw. bzw. über welches Bytes der CRC berechnet wird.
Lostech
Zitieren
#7
ich glaube ich konnte die ersten erfolge spüren.

Durch einen Hexeditor (hier HxD: http://mh-nexus.de/de/hxd/ )

konnte ich die CRC32 berechnen.

Dann auch ein Paar Einstellungshinweise von dieser Seite: http://www.tty1.net/pycrc/crc-models_en.html (unter "crc-32-mpeg") kam ich nach paar mal rum probieren tatsächlich mal auf die richtige CRC. Erstaunlicherweise ging die in diesem Fall schon von der Table-ID los und nicht wie ich immer dachte ab der section_length.

Als beispiel hatte ich diese Bytefolge genommen: http://www.satbroadcasts.com/news,32,TV_...:_PAT.html


Angehängte Dateien Thumbnail(s)
   
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste