mpeg i.o., nach umwandlung in mpeg4 sprünge?

Digital Recording
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

mpeg i.o., nach umwandlung in mpeg4 sprünge?

Beitrag von MAS3507 »

Hallo,

ich nehme mit dem dboxwinsvr und ggrab auf, der aufgenommene Stream scheint einwandfrei zu sein. Keine resyncs oder ähnliches im .log, das Bild scheint ohne ruckeln oder Sprünge durchzulaufen.

Ich wandle diese Streams immer in Xvid mit Gordian Knot um, jetzt ist mir aufgeallen dass ab und zu Filme hinterher ein Problem haben: Am Anfang scheinen sie einwandfrei zu sein, aber am Ende ist auf einmal Bild und Ton asynchron. Zuerst dachte ich dass es ein leichter Versatz ist, der im Film immer weiter auseinander läuft. Aber das ist nicht der Fall. Wenn man den film genau durchsieht, dann stelle ich fest, dass an einer Stelle des Films so ne Art Sprung ist mit kompressions Artefakten. Ab diesem Punkt gibts dann den Bild/Ton-Versatz. Wie gesagt ist an dieser Stelle aber im Ursprünglichen .mpg Material kein Sprung oder Artefakte feststellbar. Ich habe dann die gleiche .mpg Datei nochmal komprimiert und genau an dieser gleichen Stelle trat genau das gleiche Problem wieder auf.

Also entweder hat ein Programm von Gordian Knot ein Problem, was ich eher nicht glaube, oder mit dem Ausgangsmaterial stimmt doch irgendwas nicht. Was könnte ich da machen? Ein deutsches Forum zu Gordian Knot konnte ich leider nicht finden. Gibts vielleicht ein Tool das .mpg Material wieder Norm-konform macht, falls da wirklich ein kleiner Fehler vorliegt? Zum Beispiel dass ich es mit einem Programm aufmache und ohne es von der Auflösung her zu verändern wieder abspeichere dass der Container wieder passt?

Oder nen anderen Vorschlag? Das ist echt nervig, bei einigen Filmen hab ichs erst gemerkt als der Film schon nicht mehr lief :-(
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Ausgangs-TS mal mit ProjectX demuxen und im Log nachschauen, gibt es da kein Problem, baut Dein Encoder Mist.

Wieso man fertiges Mpeg2 qualitätsmindernd und mit jeder Menge Stromverbrauch in etwas kleineres Mpeg4 eindünsten muß, wo DVD-Rohlinge billig sind, muß ich nicht verstehen.

cu
Jens
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

Beitrag von MAS3507 »

Danke, werd ich mal testen.

Wiso ich das eindünsten muss? Also so bekomm ich auf eine DVD 6-7 Filme, die Qualität find ich immer noch sehr gut. Mein DVD Player spielts auch ab. Ich spare mir somit ziemlich große Berge an DVDs (was für mich der wichtigste Grund ist) und ich nehm auch mal Filme auf die ich vielleicht irgendwann mal ansehe und net nur die die ich für die allerbesten halte. Der DVD-Preis? Naja, also wenn ich statt 5-6 DVDs nur eine brauche hab ich 4,5 mal 30 cent gespart, lohnt sich für Leute wie mich die Student sind und kein Einkommen haben schon.

Zum Thema jede Menge Energieverbrauch: Ein Film dauert auf meinem Notebook etwa so lange zu komprimieren wie der Film selbst dauert. Etwas länger vielleicht. Also sagen wir mal 2 Stunden im Schnitt. Bei maximaler Taktfrequenz kommt meine CPU mit 0,988V Kernspannung aus und braucht dann 19,1 Watt, also etwa das was die D-Box im Soft-Standby-modus braucht. 19,1 Watt mal 2 Stunden = 38,2 Wattstunden. Eine kWh kostet etwa 25 cent => 25*0,0382 = 0,955 cent. Allerdings ist diese Rechnung auch falsch, weil der Rechner eh den ganzen Tag läuft und nur idle ist. Der Unterschied zwischen idle und Volllast ist ungefähr 6,4 Watt. Also nochmal die Rechnung: 6,4 * 2 = 12,8 => 25 * 0,0128 = 0,32. Somit brauch ich pro Film einen drittel Cent Strom, damit kann ich leben :-)

Wer sich über die geringen Leistungswerte wundert sollte sich mal Right Mark Clock Utility besorgen und seinen PC auf Leistung optimieren, wirkt echt Wunder! Und der Lüfter bleibt aus weil nicht so viel Energie in Wärme umgesetzt wird. Um dann halbwegs zuverlässige Messungen durchführen zu können empfehle ich Mobile Meter, eine nur 40k große Software die die Leistung aus der dem Akku entnommenen Kapazität berechnet, was recht gute und für mich plausible Ergebnisse bringt.
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

Beitrag von MAS3507 »

Das log steht unten. Ich weis nur nicht was da am Ende passiert ist. Liegts am ProjectX oder was war da? der hat ewig das gleiche gebracht und dann nach 80% kam die Fehlermeldung. Aber wie es scheint ist oben schon was schiefgelaufen. Deutet das jetzt auf ein .mpg hin das schon von der Aufnahme her nicht in Ordnung war?

Die Stelle wo der Zeitversatz beginnt ist etwa bei 00:42:21, also scheinbar genau da wo das erste Problem auftrat. Kann ich das mpg file jetzt reparieren irgendwie? Und wie kann ich verhindern dass sowas in Zukunft immer wieder auftritt bei der Aufnahme?



Donnerstag, 6. Juli 2006 12.18 Uhr CEST
ProjectX 0.81.7 (07.04.2004)

=== session infos ===

=> working with collection 0
-> write output files to :
D:\Aufnahme\2006.06.10 - 18.00 - Filmname\

=> File 0: D:\Aufnahme\2006.06.10 - 18.00 - Filmname\Filmname.mpg (3953334272 bytes)
=> File is MPEG-2 PS/SS (Video/Audio PES)
=> demux
-> found PES-ID 0xE0 (MPEG Video) @ 38
-> found PES-ID 0xC0 (MPEG Audio) @ 129038
-> video basics: 720*576 @ 25fps @ 0.7031 (16:9) @ 15000000bps, vbvBuffer 112
-> starting export of video data @ GOP#0
!> dropping useless B-Frames @ GOP#0 / new Timecode 00:00:00.000
-> found PES-ID 0xC1 (MPEG Audio) @ 266254
-> found PES-ID 0xBD (private stream 1) (SubID 0x80) @ 309262
!> dropping GOP#5295 @ orig.PTS 00:42:21.719 (228754788)
Pics exp/cnt 12/10, inGOP PTS diff. 0ms, new Timecode 00:42:21.520
!> PTS difference of 86448 (00:00:00.960) to last GOP#5295 detected
!> dropping useless B-Frames @ GOP#5296 / new Timecode 00:42:21.520
!> PTS difference of 43200 (00:00:00.480) to last GOP#5297 detected
!> dropping useless B-Frames @ GOP#5298 / new Timecode 00:42:22.400
!> dropping GOP#5319 @ orig.PTS 00:42:34.199 (229877988)
Pics exp/cnt 12/22, inGOP PTS diff. 0ms, new Timecode 00:42:32.400
!> PTS difference of 129600 (00:00:01.440) to last GOP#5319 detected
!> dropping useless B-Frames @ GOP#5320 / new Timecode 00:42:32.400
!> dropping GOP#15876 @ orig.PTS 02:07:02.519 (686026740)
Pics exp/cnt 12/9, inGOP PTS diff. 0ms, new Timecode 02:06:59.200
!> PTS difference of 86352 (00:00:00.959) to last GOP#15876 detected
!> dropping useless B-Frames @ GOP#15877 / new Timecode 02:06:59.200
!> dropping GOP#15880 @ orig.PTS 02:07:04.919 (686242788)
Pics exp/cnt 12/21, inGOP PTS diff. 0ms, new Timecode 02:07:00.560
!> PTS difference of 129600 (00:00:01.440) to last GOP#15880 detected
!> dropping useless B-Frames @ GOP#15881 / new Timecode 02:07:00.560
!> dropping GOP#15884 @ orig.PTS 02:07:07.799 (686501988)
Pics exp/cnt 12/10, inGOP PTS diff. 0ms, new Timecode 02:07:01.920
!> PTS difference of 86448 (00:00:00.960) to last GOP#15884 detected
!> dropping useless B-Frames @ GOP#15885 / new Timecode 02:07:01.920
!> dropping GOP#15887 @ orig.PTS 02:07:09.719 (686674788)
Pics exp/cnt 11/9, inGOP PTS diff. 0ms, new Timecode 02:07:02.800
!> PTS difference of 86448 (00:00:00.960) to last GOP#15887 detected
!> dropping useless B-Frames @ GOP#15888 / new Timecode 02:07:02.800
!> dropping GOP#15890 @ orig.PTS 02:07:11.639 (686847588)
Pics exp/cnt 12/9, inGOP PTS diff. 0ms, new Timecode 02:07:03.680
!> PTS difference of 86448 (00:00:00.960) to last GOP#15890 detected
!> dropping useless B-Frames @ GOP#15891 / new Timecode 02:07:03.680
video: fr/ct/1p/cg/og/dg 195126/9/16269/16262/0/7

video length: 195126f @ 02:10:05.040
avg. nom. bitrate 3166726bps (min/max: 506000/10023600)
set first sequence_header bitrate to 9800000bps
===> new File: D:\Aufnahme\2006.06.10 - 18.00 Filmname\Filmname.mpv

--> MPEG Audio (0xC0)
Audio PTS: first packet 00:00:00.347, last packet 02:10:13.959
Video PTS: start 1.GOP 00:00:00.199, end last GOP 02:10:14.039
-> adjusting audio at video-timeline
-> 6 frame(s) (144ms) pre-inserted @ 00:00:00.000
=> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, CRC @ 00:00:00.144
-> skipped sourceframe(s) @ 00:00:00.216
-> skipped sourceframe(s) @ 00:00:00.288
-> skipped sourceframe(s) @ 00:00:00.336
-> skipped sourceframe(s) @ 00:00:00.336
-> skipped sourceframe(s) @ 00:00:00.336
.
.
.
.
viele hundert male das gleiche...
.
.
.
-> skipped sourceframe(s) @ 00:00:00.336
stopped...
java.lang.OutOfMemoryError: Java heap space
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

ProjectX 0.81.7 (07.04.2004)
Aktuell ist 0.90.4 - damit kannste es nochmal versuchen.

cu
Jens
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

Beitrag von MAS3507 »

Schade, und ich dachte ich komme drumrum das schon wieder neu zu machen. Wiso muss man sich das eigentlich jedes mal antun dass man sich einige hundert MB Java Zeugs zu installieren muss die man nur ein einziges mal braucht und ansonsten nur Platz vergeuden und meinen Rechner träger machen?

Ich habs trotzdem versucht, aber jetzt klappt das mit dem kompilieren nicht, Klasse :-(
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Das JDK macht keinen Rechner lahm, da läuft ja nix, wenns nicht benutzt wird.
PX kompilieren ist nun wirklich leicht: http://www.jackthegrabber.de/viewtopic.php?t=7690

cu
Jens
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

Beitrag von MAS3507 »

Hab nochmal gesucht und ein neueres fertig kompiliertes gefunden. Reicht das wohl oder muss es noch neuer sein? Ich denk mal das wird das Problem eh nicht sein...

Als Normalnutzer weis man das nie so genau welche Programme den Rechner lahm machen und welche nicht. Dachte immer dass sich eigentlich ziemlich alles was man irgendwo installiert auch irgendwo einnistet und dadurch den Rechner verlangsamt, aber wenn das in diesem Fall nicht so ist, dann ists umso besser. Trotzdem find ichs nicht nachvollziehbar wiso man das jedem zumutet der das nutzen will.





Donnerstag, 6. Juli 2006 16.58 Uhr CEST
ProjectX 0.90.02.00 (26.11.2005)

compiled by OoZooN with JDK 1.5.0_04

<<< session infos >>>

-> working with collection 0

-> save normal log file
-> write all video data
-> write all other data
-> patch c.d.flagged infos of pictures
-> add sequence end code
-> set resolution in SDE
-> PVA: strictly specs. for audio streams
-> VOB: determine diff. Cell timelines
-> TS: ignore scrambled packets
-> TS: enhanced search for open packets
-> TS: join file segments (of Dreambox)
-> TS: generate PMT stream dependent
-> get only enclosed PES/TS packets
-> concatenate different recordings
-> ensure 1st PES-packet start with video
-> generate PCR/SCR from PTS

-> write output files to: 'D:\Aufnahme\Filmname'

-> Input File 0: 'D:\Aufnahme\2006.06.10 - 18.00 Filmname.mpg' (3.953.334.272 bytes)
-> Filetype is MPEG-2 PS/SS (PES Container)
-> demux
-> found PES-ID 0xE0 (MPEG Video) @ 38
-> found PES-ID 0xC0 (MPEG Audio) @ 129038
-> video basics: 720*576 @ 25fps @ 0.7031 (16:9) @ 15000000bps, vbvBuffer 112
-> starting export of video data @ GOP# 0
!> dropping useless B-Frames @ GOP# 0 / new Timecode 00:00:00.000
-> found PES-ID 0xC1 (MPEG Audio) @ 266254
-> found PES-ID 0xBD (private stream 1) (SubID 0x80) @ 309262
!> dropping GOP# 5295 @ orig.PTS 00:42:21.719 (228754788)
-> Pics exp/cnt 12/10, inGOP PTS diff. 0ms, new Timecode 00:42:21.520
!> PTS difference of 86448 (00:00:00.960) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 5296 / new Timecode 00:42:21.520
!> PTS difference of 43200 (00:00:00.480) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 5298 / new Timecode 00:42:22.400
!> dropping GOP# 5319 @ orig.PTS 00:42:34.199 (229877988)
-> Pics exp/cnt 12/22, inGOP PTS diff. 0ms, new Timecode 00:42:32.400
!> PTS difference of 129600 (00:00:01.440) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 5320 / new Timecode 00:42:32.400
!> dropping GOP# 15876 @ orig.PTS 02:07:02.519 (686026740)
-> Pics exp/cnt 12/9, inGOP PTS diff. 0ms, new Timecode 02:06:59.200
!> PTS difference of 86352 (00:00:00.959) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 15877 / new Timecode 02:06:59.200
!> dropping GOP# 15880 @ orig.PTS 02:07:04.919 (686242788)
-> Pics exp/cnt 12/21, inGOP PTS diff. 0ms, new Timecode 02:07:00.560
!> PTS difference of 129600 (00:00:01.440) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 15881 / new Timecode 02:07:00.560
!> dropping GOP# 15884 @ orig.PTS 02:07:07.799 (686501988)
-> Pics exp/cnt 12/10, inGOP PTS diff. 0ms, new Timecode 02:07:01.920
!> PTS difference of 86448 (00:00:00.960) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 15885 / new Timecode 02:07:01.920
!> dropping GOP# 15887 @ orig.PTS 02:07:09.719 (686674788)
-> Pics exp/cnt 11/9, inGOP PTS diff. 0ms, new Timecode 02:07:02.800
!> PTS difference of 86448 (00:00:00.960) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 15888 / new Timecode 02:07:02.800
!> dropping GOP# 15890 @ orig.PTS 02:07:11.639 (686847588)
-> Pics exp/cnt 12/9, inGOP PTS diff. 0ms, new Timecode 02:07:03.680
!> PTS difference of 86448 (00:00:00.960) to last exported GOP detected
!> dropping useless B-Frames @ GOP# 15891 / new Timecode 02:07:03.680

-> Video: fr/ ct/ 1p/ cg/ og/ dg -> 195126/ 9/ 16269/ 16262/ 0/ 7
-> Video length: 195126 frames @ 02:10:05.040
-> GOP summary: min. 20, max. 24 fields; contains interlaced & progressive frames
-> avg. nom. bitrate 3166926bps (min/max: 506000/10023600)
-> set first sequenceheader bitrate to 9000000bps
---> new File: D:\Aufnahme\2006.06.10 - 18.00 - Filmname.m2v
!> cannot rename 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.$ppes$2' to 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.mp'

--> MPEG Audio (0xC0)
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:00:00.347, last packet 02:10:13.959
Video PTS: start 1.GOP 00:00:00.199, end last GOP 02:10:14.039
-> adjusting audio at video-timeline
!> 6 frame(s) (144ms) pre-inserted @ 00:00:00.000
-> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, CRC @ 00:00:00.144
!> skipped sourceframe(s) @ 00:00:00.216
.
.
.
.
wieder hunderte male das gleiche
.
.
.
.
!> skipped sourceframe(s) @ 00:00:00.336
!> skipped sourceframe(s) @ 00:00:00.336
!> skipped sourceframe(s) @ 00:00:00.336
!> skipped sourceframe(s) @ 00:00:00.336
-> more than 100 warnings/errors, stop logging..
audio frames: wri/pre/skip/ins/add 14/6/38762/0/0 @ 00:00:00.336 done...
---> new File: 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.mp2'

--> MPEG Audio (0xC1)
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:00:00.711, last packet 02:10:13.986
Video PTS: start 1.GOP 00:00:00.199, end last GOP 02:10:14.039
-> adjusting audio at video-timeline
-> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, CRC @ 00:00:00.504
audio frames: wri/pre/skip/ins/add 54/21/38360/0/0 @ 00:00:01.296 done...
---> new File: 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname[1].mp2'

--> AC-3/DTS Audio (SubID 0x80)
-> check CRC of AC-3 / MPEG-Audio L1,2
-> delete CRC in MPEG-Audio Layer1,2
-> add frames
Audio PTS: first packet 00:00:01.029, last packet 02:10:14.001
Video PTS: start 1.GOP 00:00:00.199, end last GOP 02:10:14.039
-> adjusting audio at video-timeline
-> src_audio: AC-3, CM, 3/2lfe(5.1), dn -29dB, cm -3.0dB, sm -3dB, 48000Hz, 448kbps @ 00:00:00.832
-> src_audio: AC-3, CM, 2/0(2.0), dn -23dB, DS, 48000Hz, 448kbps @ 01:55:25.376
audio frames: wri/pre/skip/ins/add 243907/26/27129/0/27100 @ 02:10:05.024 done...
---> new File: 'D:\Aufnahme\2006.06.10 Filmname.ac3'

summary of created media files:
.Video (m2v): 195126 Frames 02:10:05.040 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.m2v'
Audio 0 (mp2): 14 Frames 00:00:00.336 6/38762/0/0 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.mp2'
Audio 1 (mp2): 54 Frames 00:00:01.296 21/38360/0/0 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname[1].mp2'
Audio 2 (ac3): 243907 Frames 02:10:05.024 26/27129/0/27100 'D:\Aufnahme\2006.06.10 - 18.00 - Filmname.ac3'
=> 3.526.868.665 bytes written...
-> we have 104280 warnings/errors.
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Wer mutet Dir was zu?

Soll der Autor mit dem Verteilen von Binarys etwa das Risiko eingehen, Lizenzgebühren an die Mpeg-Group zu bezahlen? Sei froh, das es solche Tools in dieser Qualität gibt.

Laut Log ist die AC3-Spur wohl ok, die beiden Mp2-Spuren wohl eher für die Tonne und in der Videospur bei 0:42 einige Fehler (die Fehler am Dateiende kann man vernachlässigen).

Ich würd das Ding nochmal aufnehmen.

Andernfalls die von PX erzeugte Videospur und die AC3 mal muxen und es damit versuchen.

cu
Jens
MAS3507
Interessierter
Interessierter
Beiträge: 76
Registriert: Sonntag 3. März 2002, 11:47

Beitrag von MAS3507 »

Es wird jedem zugemutet sich riesen Softwarepakete zu laden und installiern nur um ein einziges mal was zu kompilieren, das mein ich damit. Aber wenn der Grund dafür die Sache mit den Lizenzen ist, dann ist das schon nachvollziehbar, wusste ich nur nicht.

Die Frage ist jetzt irgendwie nur wiso das immer wieder passiert, wie ich das abstellen kann und wiso im Aufnahmelog nichts davon steht.

Wie das mit dem Versatz zustande kommt ist dann ja irgendwie logisch: An der Stelle stimmt was nicht mit dem Video, es fehlt nach dem codieren dann ein Stück und da das Stück beim Audio nicht fehlt gibts eben den Versatz.

Ich bedanke mich auf jeden Fall für den schnellen Support!