Seite 1 von 2

Sezierung einer mpg-Datei

Verfasst: So 9. Jul 2006, 14:00
von ibbi
Hallo,

ich habe hier eine riesige mpg-Datei (SVCD), die ich nicht mehr benötige. Allerdings würde ich gerne die ersten paar Minuten dieser Datei für Testzwecke aufheben, weil sie eine für mich interessante Komprimierung hat.

Wie kann ich (mit einfachen Mitteln - Kommandozeile, Freeware-Programmen) ein Stück des Anfangs herauslösen, ohne die Struktur der Datei (Abfolge der Blöcke?) zu zerstören und - vor allem - ohne die Datei neu zu (de)kodieren, d. h. ihren Inhalt zu verändern?

Am Anfang der Datei sieht man im Hex-Editor

Code: Alles auswählen

RIFF   CDXAfmt   UXA   datap
Hat so eine Datei einen festen Aufbau (z. B. Header und 184 Byte große Blöcke), so dass ich nur 1 * Header + n * 184 Bytes kopieren muss?

Verfasst: So 9. Jul 2006, 16:51
von Homer
Was sagt denn GSpot zu der Datei?

Viele Grüße
Homer

Verfasst: So 9. Jul 2006, 19:12
von ibbi
Homer hat geschrieben:Was sagt denn GSpot zu der Datei?
Wer ist das? :thinker:

Ok, ok, ich habe natürlich gegoogelt und lade mir das Teil mal runter.

Verfasst: So 9. Jul 2006, 19:21
von Sigittarius-E
reicht es nicht aus die Datei von Anfang an mit Header irgendwo mittendrinnen zu cutten?

Es sollte ja keinem "guten" Player stören wenn die Datei nicht an einem bestimmten Punkt gecuttet ist oder?

Verfasst: So 9. Jul 2006, 19:30
von ibbi
So, da bin ich wieder.

GSpot sagt:

Code: Alles auswählen

Stat: RIFF/CDXA --> MPEG (.MPG/.MPEG/.VOB) This is, or appears to be, an unsupported filetype.
Type: video/mpeg
Alle anderen Felder sind leer oder "n.a."
Sigittarius-E hat geschrieben:reicht es nicht aus die Datei von Anfang an mit Header irgendwo mittendrinnen zu cutten?
In etwa diese Richtung zielt meine Frage.
Sigittarius-E hat geschrieben:Es sollte ja keinem "guten" Player stören wenn die Datei nicht an einem bestimmten Punkt gecuttet ist oder?
Ich würde gerne an einem geeigneten Punkt (Paket- oder Block-Ende oder so) sezieren. (Ich kann nämlich kein Blut sehen.)

Verfasst: So 9. Jul 2006, 19:59
von Homer
ibbi hat geschrieben:So, da bin ich wieder.

GSpot sagt:

Code: Alles auswählen

Stat: RIFF/CDXA --> MPEG (.MPG/.MPEG/.VOB) This is, or appears to be, an unsupported filetype.
Type: video/mpeg

Alle anderen Felder sind leer oder "n.a."
[...]
Hast du auch die aktuelle Version 2.52 ß01 Build 040915? Wenn es wirklich mpg oder ein anderes Streamingformat ist, kannst du an beliebiger Stelle abschneiden, z. B. mit HJSplit.

Viele Grüße
Homer

Verfasst: Mo 10. Jul 2006, 09:30
von ibbi
Homer hat geschrieben:Hast du auch die aktuelle Version 2.52 ß01 Build 040915?
Als Nicht-Win2K/XPler bin ich dem Hinweis auf der Seite gefolgt, die Version 2.21 zu verwenden.
Homer hat geschrieben:Wenn es wirklich mpg oder ein anderes Streamingformat ist
Soweit ich weiß, wurde die Datei mit TMPGEnc erstellt.

Homer hat geschrieben:kannst du an beliebiger Stelle abschneiden, z. B. mit HJSplit.
Das googel ich mir gleich mal an.

EDIT: HJSplit benötige ich wohl nicht, dd oder split dürften dasselbe leisten.

Verfasst: Mo 10. Jul 2006, 09:53
von Homer
Ich verwende die Version 2.52 ß01 Build 040915 seit 21.12.2004 unter Win98SE. Sie läuft bei mir stabil. HJSplit ist nicht notwendig. Da ich es zum Splitten und Aneinanderhängen benötige, nutze ich es auch zum Abschneiden.

Viele Grüße
Homer

Verfasst: Mo 10. Jul 2006, 10:02
von ibbi
Homer hat geschrieben:Ich verwende die Version 2.52 ß01 Build 040915 seit 21.12.2004 unter Win98SE.
Tja, dann könnte ich auch.

Ich habe zum Sezieren noch zwei Infos gefunden. Es soll wohl auch mit TMPGEnc gehen, und dann bin ich noch auf MPEG Scissors gestoßen. Mal schauen, ob ich mit einem der beiden einen unblutigen Schnitt hinbekomme.

Verfasst: Mo 10. Jul 2006, 11:31
von Homer
Falls ja, vergleiche mal, ob die kürzere Datei identisch mit dem Anfang der längeren ist.

Viele Grüße
Homer

Verfasst: Mo 10. Jul 2006, 11:32
von ibbi
Homer hat geschrieben:Falls ja, vergleiche mal, ob die kürzere Datei identisch mit dem Anfang der längeren ist.
Werde ich natürlich machen (und hier berichten).

Verfasst: Mo 10. Jul 2006, 11:46
von Woodman
ibbi hat geschrieben:Hallo,

ich habe hier eine riesige mpg-Datei (SVCD), die ich nicht mehr benötige. Allerdings würde ich gerne die ersten paar Minuten dieser Datei für Testzwecke aufheben, weil sie eine für mich interessante Komprimierung hat.

Wie kann ich (mit einfachen Mitteln - Kommandozeile, Freeware-Programmen) ein Stück des Anfangs herauslösen, ohne die Struktur der Datei (Abfolge der Blöcke?) zu zerstören und - vor allem - ohne die Datei neu zu (de)kodieren, d. h. ihren Inhalt zu verändern?

Am Anfang der Datei sieht man im Hex-Editor

Code: Alles auswählen

RIFF   CDXAfmt   UXA   datap
Hat so eine Datei einen festen Aufbau (z. B. Header und 184 Byte große Blöcke), so dass ich nur 1 * Header + n * 184 Bytes kopieren muss?
Hast Du's schon mit ProjectX versucht? Mit der Version 0.90.4.00 kannst Du auch Schneiden :D : und Du bekommst genaue Infos über Deine MPG-Datei.
Gruß

Horst

Verfasst: Mo 10. Jul 2006, 11:49
von ibbi
Woodman hat geschrieben:Hast Du's schon mit ProjectX versucht?
Ist mir zu gewaltig, und für meinen Zweck möchte ich es nicht extra installieren.

Verfasst: Mo 10. Jul 2006, 13:24
von Harvey
Das würde für das geplante Vorhaben auch nicht klappen. ProjectX würde nur die Streams herausfiltern.

Verfasst: Mo 10. Jul 2006, 13:42
von Gorbag
Harvey hat geschrieben:Das würde für das geplante Vorhaben auch nicht klappen. ProjectX würde nur die Streams herausfiltern.
Du kannst mit ProjectX die geschnittene Datei aber auch als mpeg Stream ausgeben lassen. Wo ist das Problem?

Verfasst: Mo 10. Jul 2006, 13:45
von Harvey
Gorbag hat geschrieben:Wo ist das Problem?
Er will ja das SVCD-Format (so es eines ist) behalten und nur die Datei einkürzen.

Verfasst: Mo 10. Jul 2006, 21:05
von ibbi
Hier mein OP-Bericht:

MPEG Scissors musste ich das Skalpell wieder aus der Hand nehmen, das Programm konnte die Datei nicht öffnen und meldete einen nicht sehr aussagekräftigen Fehler.

Die TMPGEncs MPEG Tools dagegen setzten den Schnitt professionell an der gewünschten Stelle an, sezierten Video- und Audio-Daten, verbanden diese sorgfältig durch erneutes Multiplexing und schickten den Patienten in die Reha, indem sie ihm einen neuer Header verpassten.

Wegen des neu generierten Headers ist das Ergebnis byteweise verschieden vom Anfang der Original-Datei, aber ich bin ziemlich sicher, dass die Daten nicht verändert wurden. Beweisen kann ich es allerdings nicht.

Verfasst: Mo 10. Jul 2006, 21:45
von Harvey
Falls Du ganz sicher bist, dass es eine "normgerechte" SVCD ist, warum löschst Du nicht einfach die Datei und generierst Dir beim Verspüren der Lust, eine solche zu untersuchen via VCDEasy aus einem MPEG-Kurzfilm eine neue?

Verfasst: Di 11. Jul 2006, 09:46
von ibbi
Harvey hat geschrieben:Falls Du ganz sicher bist, dass es eine "normgerechte" SVCD ist
Es ist eben keine normgerechte SVCD, deshalb ist die Datei so interessant für mich. Mein DVD-Player (ja, lacht nur ) kann nur VCD abspielen, keine SVCD. Diese Datei hat aber eine Auflösung von 480x576 und läuft auf meinem DVD-Player einwandfrei. (Dank Zoom sogar formatfüllend). Die Datei selbst ist schon einige Jahre alt, deshalb schließe ich moderne Codecs wie DivX oder XviD eigentlich aus. Sie ist damals ziemlich sicher mit TMPGEnc erstellt worden.

Verfasst: Di 11. Jul 2006, 09:59
von Harvey
TMPGEnc kann keine VCD oder SVCD erstellen, sondern erst mal nur das dazu nötige .mpg (die Templates sind nur für Einstellungen wie Auflösung und Datenrate). Du musst damals mit irgend einem Authoringprogramm drüber gegangen sein.

Was Du eventuell gemacht haben könntest ist einen mpeg2-Stream oder einen mpeg1-Stream mit "falscher" Auflösung in eine VCD-Hülle zu quetschen. Es ist schon lange her dass ich (S)VCDs erstellt habe, aber ich glaube, VCDEasy läßt so etwas zu.