DVBTechnics Forum  

Zurück   DVBTechnics Forum > DVB Themen > DVB Weiterverarbeitung

DVB Weiterverarbeitung Fragen rund um die Silberscheibe (Das Erstellen einer VideoCD, SuperVideoCD oder DigitalVersatileDisc)

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1  
Alt 26.05.2014, 12:59
Nomex Nomex ist offline
Neues Mitglied
 
Registriert seit: 26.05.2014
Beiträge: 7
Standard CRC32 Berechnen bei PAT und PMT

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.
Mit Zitat antworten
  #2  
Alt 26.05.2014, 13:41
Benutzerbild von Lostech
Lostech Lostech ist offline
Senior Mitglied
 
Registriert seit: 02.02.2006
Beiträge: 284
Standard

CRC32 Polynom sollte 0x04C11DB7 sein und nicht 0x104C11DB7.

http://en.wikipedia.org/wiki/CRC32
__________________
Lostech
Mit Zitat antworten
  #3  
Alt 26.05.2014, 13:59
Nomex Nomex ist offline
Neues Mitglied
 
Registriert seit: 26.05.2014
Beiträge: 7
Standard

ok Danke

Da steht auch nochmal das Polynom.

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%6 4%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
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	PMT_Wireshark.JPG
Hits:	237
Größe:	169,8 KB
ID:	2792   Klicken Sie auf die Grafik für eine größere Ansicht

Name:	PMT_CRC.JPG
Hits:	234
Größe:	44,6 KB
ID:	2793  
Mit Zitat antworten
  #4  
Alt 27.05.2014, 09:11
Benutzerbild von Lostech
Lostech Lostech ist offline
Senior Mitglied
 
Registriert seit: 02.02.2006
Beiträge: 284
Standard

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
Mit Zitat antworten
  #5  
Alt 27.05.2014, 12:47
Nomex Nomex ist offline
Neues Mitglied
 
Registriert seit: 26.05.2014
Beiträge: 7
Standard

Danke schonmal

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.
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	PMT_aufbau.JPG
Hits:	234
Größe:	40,5 KB
ID:	2794   Klicken Sie auf die Grafik für eine größere Ansicht

Name:	CRC_Iso.JPG
Hits:	227
Größe:	114,1 KB
ID:	2795  
Mit Zitat antworten
  #6  
Alt 02.06.2014, 09:13
Benutzerbild von Lostech
Lostech Lostech ist offline
Senior Mitglied
 
Registriert seit: 02.02.2006
Beiträge: 284
Standard

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
Mit Zitat antworten
  #7  
Alt 03.06.2014, 09:42
Nomex Nomex ist offline
Neues Mitglied
 
Registriert seit: 26.05.2014
Beiträge: 7
Standard

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...ring:_PAT.html
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	CRC32_Richtig_berechnet.JPG
Hits:	254
Größe:	95,9 KB
ID:	2799  

Geändert von Nomex (03.06.2014 um 10:14 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:42 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © 2003 - 2011, DVBTechnics
ALL-INKL.COM - Webhosting Server Hosting Domain Provider