Zum Inhalt springen
Start  › ... Service › Forum
mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 13 Jahre


Hallo Jochen,



beim Testen der verschiedenen H264 Schnittprogramme ist mir noch etwas seltsames aufgefallen: sowohl vcr.net als auch der DVB Viewer erzeugen laut TSPE immer einen PMT Continuity Error. TS Doctor entdeckt diesen Fehler (falls es überhaupt einer ist) aber nicht. Auch bei SD kommt diese Meldung in beiden Programmen.



Bei SD entdeckt der TSPE auch PCR Gaps. TS Doctor erkennt diese aber nicht und Project-X scheint sich auch nicht daran zu stören.



 



Ein paar Beispiele:



vcr.net HD1:



PID 0x0200 Continuity Error found at offset 0x234



PID Tree:

PAT PID: 0x0000 Ver: 2 TS ID: 0x0001

  0x0200: PMT Ver: 2 Program : 513

    0x0202: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

    0x0203: AC-3 Audio (DVB) Stream



 



vcr.net HD2:



PID 0x0200 Continuity Error found at offset 0x234     ist der Wert konstant ?



PID Tree:

0x0012: Event Information Section - Actual Transport Stream, Present/Following

PAT PID: 0x0000 Ver: 2 TS ID: 0x0001

  0x0200: PMT Ver: 2 Program : 513

    0x0202: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

    0x0203: AC-3 Audio (DVB) Stream



 



dvbviewer hd:



PID 0x03E9 Continuity Error found at offset 0x2C4AC



PID Tree:

PAT PID: 0x0000 Ver: 24 TS ID: 0x00D9

  0x03E9: PMT Ver: 1 Program : 22029

    0x03EA: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

    0x03ED: AC-3 Audio (DVB) Stream



 



dvbviewer HD2



PID 0x03E9 Continuity Error found at offset 0x54BA8



PID Tree:

PAT PID: 0x0000 Ver: 24 TS ID: 0x00D9

  0x03E9: PMT Ver: 1 Program : 22029

    0x03EA: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

    0x03ED: AC-3 Audio (DVB) Stream



 



dvbviewer sd:



PID 0x0259 Continuity Error found at offset 0x41BA0



PID Tree:

PAT PID: 0x0000 Ver: 25 TS ID: 0x0441

  0x0259: PMT Ver: 1 Program : 12090

    0x025A: MPEG2 Video (ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream)

    0x025B: MPEG1 Audio (ISO/IEC 11172-3 Audio)



vcr.net sd:



PID 0x0200 Continuity Error found at offset 0x82B8

PCR gap of 0,5 seconds in PID 0x0202 at offset 0x57C20

  (...also PTS gap of 0,4 seconds in PID 0x0202 at offset 0x57CDC)

PCR gap of 0,5 seconds in PID 0x0202 at offset 0x7E2CC



dutzende weiterer Gap Meldungen



PID Tree:

0x0012: Event Information Section - Actual Transport Stream, Present/Following

PAT PID: 0x0000 Ver: 2 TS ID: 0x0001

  0x0200: PMT Ver: 2 Program : 513

    0x0202: MPEG2 Video (ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC 11172-2 constrained parameter video stream)

    0x0203: MPEG1 Audio (ISO/IEC 11172-3 Audio)

 



 



Helmuth

JMS
  • JMS
  • 100% (Erhaben)
  • Advanced Member
vor 13 Jahre


ad PCR Gap) wie gesagt, so genau halte ich mich nicht an die Specs. Bei MPEG2 werden die PCRs an die I-Frames angelegt und sind damit i.a. (12 Frames per GOP im Schnitt) etwas mehr als 0,5 Sekunden auseinander. Das werde ich aber nicht mehr ändern, wenn es wirklich stört kann man darüber nachdenken, das Flag für HD auf SD auszudehnen. PTS Gaps sind komisch, die habe ich nicht angetastet, evtl. echte Fehler.



ad PMT) Hm, dass müßte ich analysieren. Vielleicht gefällt ihm die erste Versions ID in der Datei nicht, wenn die nicht 0 ist oder so. Kann ich gerne mal nach suchen, aber frühestens ab Oktober.



Sonst geht alles ohne aufwändige Korrekturen?



Jochen


mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 13 Jahre


Zu den PMT Errors: ich glaube jetzt das sich da keine Suche lohnt. Man nehme eine SD Aufnahme, schicke die durch Project X. Jetzt sind sowieso alle PCR und PMT usw. weg. Dann packe man die Audio und Video Datei mit tsmuxer in eine TS Datei und schon hat man wieder einen PMT Continuity Error laut TSPE. Also entweder sieht das der TSPE zu eng oder das ist mal wieder eine optionale Sache an die sich kein Program hält. Vielleicht ist das ja auch schon im DD Treiber so drin.



Zu den SD PCR Gaps: für die Weiterverarbeitung stören sie mich nicht, da ich Project-X und Mpeg Schnitt verwende. Wenn aber jemand den TS zu Weiterverarbeitung oder zum direkt anschauen (das mache ich auch) nimmt, sollten nach Möglichkeit alle potentiellen Fehler ausgeschlossen werden. Falls nicht zu viel Aufwand, möchte ich dich zum Test bitten das "HD Korrektur Flag" auch auf SD auszudehnen.



Zu HD: mit dem Flag werden deine Streams von beiden Tools alle als fehlerfrei erkannt (bis auf die PMT Sache, aber das ist bei allen Programmen so). Leider habe ich das optimale HD Schnittprogramm immer noch nicht gefunden.



TSDoctor: wenn man den CoreAVC nimmt kann man mit dem Programm gar nicht schneiden. Mit dem Cybelink aus Power DVD 10 geht das, aber nur an einem I Frame. Cyberlink wiederum verschluckt sich im MPC HC an den Schnittstellen und nur mit CoreAVC sieht man keine Fehler. Arcsoft muss ich noch testen.



H264tscutter: stürzt immer wieder mit irgendwelchen Fehlern ab. Entfällt also.



Smartcutter: schneidet zwar framegenau und rendert nur die Schnittstellen neu, aber laut Tsdoctor und TSPE werden fürchterliche Fehler produziert. Allerdings sieht man mit CoreAVC und Cyberlink keine Fehler, dafür ruckelt aber Arcsoft an den Schnittstellen. Die Fehler dieses Programms sehen übrigens so aus (vorher waren in der Aufnahme keine Fehler drin):



PID 0x0200 Continuity Error found at offset 0x234

PID 0x0000 Continuity Error found at offset 0x2A278C8

  (Related continuity break in PID 0x0200 at offset 0x2A27984)

  (Related continuity break in PID 0x0202 at offset 0x2A27BB8)

  (Related continuity break in PID 0x0012 at offset 0x2B63258)

  (...also PCR gap of 3,2 seconds in PID 0x0203 at offset 0x2BC2A94)

PCR gap of 0,6 seconds in PID 0x0203 at offset 0x5013B60

PID 0x0203 Continuity Error found at offset 0x50249A0

  (Related continuity break in PID 0x0000 at offset 0x50261DC)

  (Related continuity break in PID 0x0200 at offset 0x5026298)

  (Related continuity break in PID 0x0202 at offset 0x5026354)

  (Related continuity break in PID 0x0012 at offset 0x50D15D0)

  (...also PCR gap of 1,8 seconds in PID 0x0203 at offset 0x511A6F0)



PID Tree:

0x0012: Event Information Section - Actual Transport Stream, Present/Following

PAT PID: 0x0000 Ver: 2 TS ID: 0x0001

  0x0200: PMT Ver: 2 Program : 513

    0x0202: H.264/AVC Video (as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video)

    0x0203: AC-3 Audio (DVB) Stream



Starting at paket 00000062(00000000) PCR: 00:00:00.000 (00:14:48.316)

No cutting at the end needed

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

PES ERROR  : For PID 0203 -00:00:00.032 PES paket 00000001 is invalid (SizeMismatch), starting with TS paket 000004CF Size: 1466 should be 1544

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

TS  WARNING: For PID 0202 00039672: Packet discontinuity 5,0

PES ERROR  : For PID 0203 00:00:42.912 PES paket 0000010E is invalid (SizeMismatch), starting with TS paket 0003964D Size: 6066 should be 6152

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

TS  WARNING: For PID 0203 0006D218: Packet discontinuity 10,0

TS  WARNING: For PID 0202 0006D23B: Packet discontinuity 4,0

PES ERROR  : For PID 0203 00:01:26.752 PES paket 00000220 is invalid (SizeMismatch), starting with TS paket 0006D218 Size: 6066 should be 6152

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

ES  WARNING: H264 video resolution info changed at -00:14:48.356

             from 1280x1088, Interlaced / 25 fps / High@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

             to   1280x1088, Interlaced / 25 fps / Main@4.0 / ColourPrimaries=BT.709, TransferCharacteristics=BT.709, MatrixCoefficients=BT.709

PES WARNING: For PID 0203 DVB/ATSC unconform PES formating detected: SizeMismatch



 



Mal sehen was der Hersteller des Smartcutters dazu sagt.



 



Helmuth

JMS
  • JMS
  • 100% (Erhaben)
  • Advanced Member
vor 13 Jahre


Kann es irgendwie sein, dass das noch nicht ganz ausgereift ist...



Wegen des Flags schaue ich mal. Ist etwas lästig, da es sich durch alle Ebenen zieht.



Jochen


JMS
  • JMS
  • 100% (Erhaben)
  • Advanced Member
vor 13 Jahre


Ich habe die Downloads erneuert (wieder: alle!), es gibt im VCR.NET nun noch eine weitere Einstellung. Default wie gehabt, ich habe aus Zeitgründen auch nur getestet, dass in der Voreinstellung alles funktioniert wie bisher. Den Test mit aktivem Flag überlasse ich Dir .



 



Jochen


mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 13 Jahre


Ich habe gerade folgendes im Gleitz Forum gefunden und leider kann ich das experimentell nur bestätigen.



von "tilt" vom 23.5.2011:



H.264 lässt sich "sicher" nicht mal an I Frames schneiden, sondern nur an IDR-Frames.



Praktisch müsste für einen 100% sicheren Schnitt der gesamte Bereich vor und nach dem Schnittpunkt bis zu den angrenzenden IDR-Frames via Smartrendering neuberechnet werden.



Da dies zu umfangreichen Neuberechnungen führen könnte, sofern überhaupt IDR-Frames vorhanden sind, führen die Schnittprogramme das gleiche zwischen I-Frames durch und hoffen, dass es vor und nach den angrenzenden I-Frames keine Frames gibt, die von dem entfernten Material abgeleitet waren.

Das ist nicht immer der Fall, und je nachdem wie robust der Decoder ist, folgen Decodingfehler oder fehlende Bewegung. Der Korrektheit halber sollte erwähnt werden, dass die Abhängigkeit auf Makroblock-Basis existiert, was die Lage zusätzlich erschwert.



Weiterhin können die Schnittprogramme den SPS/PPS Header nicht 100%ig replizieren. An der Schnittstelle kommt es bei nicht robusten Decodern daher zu einer Art Schluckauf/kurzen Pause.



Die einzige Lösung die ich theoretisch für machbar halte wäre, alle Referenzen des entfernten Teils zusätzlich zu erhalten. Wo und wie diese im Stream abgelegt werden, und ob dies überhaupt spezifikationsgetreu möglich ist, bleibt fraglich.

Es gibt Software, die einen H.264-Stream auf dieser Detailebene analysieren, die Preise sind jedoch jenseits von gut und böse -> $1000+, z.B. H264visa , und die Schnittsoftwares müssten die Technik lizensieren oder selbst schreiben.



Zitat Ende



 



Bei den  Privatsendern gibt es keine IDR Frames, sondern nur ca. alle 2 Sekunden I Frames.  Das einzige was wirklich 100% sauber geht ist bei Sendungen ohne Werbung ein Schnitt vorne und ein Schnitt am Ende.



Traurig aber wahr.



 



Helmuth


mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 13 Jahre


Hallo Jochen,



da ging leider was schief. Egal ob das SD Flag an oder aus ist hagelt es jetzt Fehler.



Flag gesetzt (nicht aus Bild ableiten):



TSPE Version 0.813 Scan of: D:\dvd\free_()_2011-09-24 21-28-46.ts

Scan performed on: Sat, 24 Sep 2011 22:03:36 GMT



PID 0x0200 Continuity Error found at offset 0x763C

PTS gap of 0,4 seconds in PID 0x0202 at offset 0x4A148

PTS gap of 0,4 seconds in PID 0x0202 at offset 0x74C40

PTS gap of 0,4 seconds in PID 0x0202 at offset 0x9FAE4

PTS gap of 0,4 seconds in PID 0x0202 at offset 0xCBCA0

PTS gap of 0,4 seconds in PID 0x0202 at offset 0xF1034



TSDoctor:



First video PTS is 0 00:00:00.000

Last video PTS  is 0 00:00:00.000



First PCR  is 1242942416700 12:47:14.904

Last PCR  is 1252906068300 12:53:23.928

Duration of video stream is 33212172 00:06:09.024

Video PCR to PTS difference 0 ms

$0203: Delay to video stream = -780ms





The following PIDs will be imported into new stream: $0202, 0203



Scanning for video details

Video format: MPEG2 720x576 / 25 fps



Scanning for audio details

Audio stream 1: MPEG1 Audio



Cut in  at PCR: 00:00:00.000 (12:47:14.904)

Cut out at PCR: 00:06:09.024 (12:53:23.928)



Starting at paket 00000002(00000000) PCR: 00:00:00.000 (12:47:14.904)

No cutting at the end needed

PTS wrap < (32 bit) at paket 00000277 on PID 0202 detected!

PTS wrap > (32 bit) at paket 000003A8 on PID 0202 detected!

PTS wrap < (32 bit) at paket 0000064E on PID 0202 detected!

PTS wrap > (32 bit) at paket 0000077B on PID 0202 detected!

PTS wrap < (32 bit) at paket 000009F0 on PID 0202 detected!

PTS wrap > (32 bit) at paket 00000B22 on PID 0202 detected!



 



Zweiter Versuch:



TSPE Version 0.813 Scan of: D:\dvd\pay1_()_2011-09-24 21-30-13.ts

Scan performed on: Sat, 24 Sep 2011 22:03:58 GMT



PID 0x0200 Continuity Error found at offset 0xC7C

PTS gap of 0,6 seconds in PID 0x0202 at offset 0x28C20

PTS gap of 0,6 seconds in PID 0x0202 at offset 0x42760

PTS gap of 0,6 seconds in PID 0x0202 at offset 0x6E4B4

PTS gap of 0,6 seconds in PID 0x0202 at offset 0x980FC

PTS gap of 0,6 seconds in PID 0x0202 at offset 0xC6A60



TSDoctor:



First video PTS is 0 00:00:00.000

Last video PTS  is 0 00:00:00.000



First PCR  is 1636677452100 16:50:17.683

Last PCR  is 1645059980100 16:55:28.147

Duration of video stream is 27941760 00:05:10.464

Video PCR to PTS difference 0 ms

$0203: Delay to video stream = -576ms





The following PIDs will be imported into new stream: $0202, 0203



Scanning for video details

Video format: MPEG2 480x576 / 25 fps



Scanning for audio details

Audio stream 1: MPEG1 Audio



Cut in  at PCR: 00:00:00.000 (16:50:17.683)

Cut out at PCR: 00:05:10.464 (16:55:28.147)



Starting at paket 00000002(00000000) PCR: 00:00:00.000 (16:50:17.683)

No cutting at the end needed

PTS wrap < (33 bit) at paket 00000014 on PID 0202 detected!

PTS wrap > (33 bit) at paket 00000119 on PID 0202 detected!

PTS wrap < (33 bit) at paket 00000378 on PID 0202 detected!

PTS wrap > (33 bit) at paket 00000435 on PID 0202 detected!

PTS wrap < (33 bit) at paket 000005A8 on PID 0202 detected!

PTS wrap > (33 bit) at paket 00000685 on PID 0202 detected!

PTS wrap < (33 bit) at paket 00000963 on PID 0202 detected!



 



Flag nicht gesetzt (aus Bild ableiten):



TSPE Version 0.813 Scan of: D:\dvd\old_()_2011-09-24 22-08-20.ts

Scan performed on: Sat, 24 Sep 2011 22:19:13 GMT



PID 0x0200 Continuity Error found at offset 0x234

PCR gap of 0,6 seconds in PID 0x0202 at offset 0x1EFB4

  (...also PTS gap of 0,6 seconds in PID 0x0202 at offset 0x1F070)

PCR gap of 0,6 seconds in PID 0x0202 at offset 0x6FF24

  (...also PTS gap of 0,6 seconds in PID 0x0202 at offset 0x6FFE0)

PCR gap of 0,6 seconds in PID 0x0202 at offset 0xA1320

  (...also PTS gap of 0,6 seconds in PID 0x0202 at offset 0xA13DC)



TSDoctor:



First video PTS is 0 00:00:00.000

Last video PTS  is 0 00:00:00.000



First PCR  is 1698431197500 17:28:24.859

Last PCR  is 1699305997500 17:28:57.259

Duration of video stream is 2916000 00:00:32.400

Video PCR to PTS difference 0 ms

$0203: Delay to video stream = -456ms





The following PIDs will be imported into new stream: $0202, 0203



Scanning for video details

Video format: MPEG2 480x576 / 25 fps



Scanning for audio details

Audio stream 1: MPEG1 Audio



Cut in  at PCR: 00:00:00.000 (17:28:24.859)

Cut out at PCR: 00:00:32.400 (17:28:57.259)



Starting at paket 0000000C(00000000) PCR: 00:00:00.000 (17:28:24.859)

No cutting at the end needed

PTS wrap < (33 bit) at paket 00000021 on PID 0202 detected!

PTS wrap > (33 bit) at paket 00000107 on PID 0202 detected!

PTS wrap < (33 bit) at paket 000002A4 on PID 0202 detected!

PTS wrap > (33 bit) at paket 000003DC on PID 0202 detected!

PTS wrap < (33 bit) at paket 00000988 on PID 0202 detected!



 



Rein optisch und für Project-X sieht es aber gut aus.



 



Helmuth

JMS
  • JMS
  • 100% (Erhaben)
  • Advanced Member
vor 13 Jahre


Also ich bin sehr (!) sicher, dass sich NICHTS verändert hat, wenn das neue Flag aus ist. Ist bin ziemlich sicher, dass das richtige passiert, wenn das neue Flag an ist. Daher die Frage: ich sehe, dass die Zeitbasis in der Aufzeichnung oberhalb der kritischen 32 Bit Grenze (13h15m22s) liegt. Kann es sein, dass Deine Tools das nicht hinbekommen? I.e. wenn Du einen anderen Sender nimmst, bei dem die Zeitbasis unterhalb der Grenze liegt, sieht es dann auch so aus?



Grundsätzlich: ohne Flag ist das Gemeckere um die 0,6 Sekunden evtl. ok, siehe weiter oben. Mit Flag allerdings kann ich nicht garantieren, was passiert, da das ja dann von der Tonspur abgleitet wird. Bei MP2 Ton habe ich hier bei einer Testaufnahme PCRs im Abstand von ungefähr 0,2 Sekunden.



Mehr kann ich leider nicht tun.



Sorry



Jochen


mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 13 Jahre


Sorry, du hast Recht. Heute morgen sieht es perfekt und wie erwartet aus.



Mit alter Methode: TSPE 0,5s PCR Gaps. TSDoctor: keine Meldungen (Delay to video stream = 54ms). Project-X: 14 Frame(s) (336ms) angefügt



Neue Methode: TSPE: keine Meldungen. TSDoctor: keine Meldungen (Delay to video stream = 302ms). Project-X: keine Frames angefügt.



Kann es sein das die unterschiedlichen Audio Delays mit der unterschiedlichen Synchronisation zusammenhängen oder ist das Zufall ? Bei HD scheint hier ürigens immer ein negativer Delay zu stehen.



Wenn ich mir die Logs von gestern genauer anschaue dann sieht man in beiden Fällen am Ende ERRORS : 0, WARNINGS : 0. Vielleicht ist das beim TSDoctor eher als Info gedacht da der Überlauf kritisch sein kann. Der TSPE scheint es beim Überlauf noch enger zu sehen.



 



Helmuth


JMS
  • JMS
  • 100% (Erhaben)
  • Advanced Member
vor 13 Jahre


Hm, eigentlich werden die TS mit einem festen Delay zwischen Audio und Video erzeugt, i.a. so was wie um 2/3 Sekunde. Müßte man im PX Log an den Zeiten sehen.



Jochen


Benutzer, die gerade dieses Thema lesen