Ich habe hier einige kaputte MPEG2-Dateien, in die durch Festplattendefekt und Datenrettung Teile aus anderen Dateien hineingerutscht sind. Nun versuche ich, die Dateien zu analysieren und die fehlerhaften Teile auszuschneiden.
Auffällig ist, dass in allen Dateien der String 00 00 01 BA immer wieder vorkommt, und zwar alle 2048 Bytes. Wenn ich über die Spieldauer des Videos die Anzahl der Frames ermittele und dann die Anzahl dieser Strings pro Frame ausrechne, kommt ich auf einen Wert zwischen 10 und 20. Was für Dinger sind das, die 10 bis 20 Mal in einem Frame vorkommen?
Paul Lenz
-- Dies ist eine gültige Email-Adresse. Vor SPAM und Viren schützt mich www.spavi.de
Antwort von JT:
"Paul Lenz" wrote:
> Auffällig ist, dass in allen Dateien der String 00 00 01 BA > immer wieder vorkommt, und zwar alle 2048 Bytes. Wenn ich > über die Spieldauer des Videos die Anzahl der Frames > ermittele und dann die Anzahl dieser Strings pro Frame > ausrechne, kommt ich auf einen Wert zwischen 10 und 20. > Was für Dinger sind das, die 10 bis 20 Mal in einem Frame > vorkommen?
00 00 01 BA ist Kennzeichnung des Headers eines MPEG Packs. Ein Pack besteht aus einem Header und eine beliebigen Anzahl nachfolgender Packets. Das ist die Struktur eines MPEGs auf Systemebene. Darin verpackt finden sich dann die logischen Strukturen, die weitgehend unabhängig davon sind, auch wenn ein Packet entweder nur Audio oder nur Video enthält IIRC.
Mehr Infos finden sich z.B. unter http://dvd.sourceforge.net/dvdinfo/mpeghdrs.html http://www.andrewduncan.ws/MPEG/MPEG-1 Picts.html
jt
Antwort von Paul Lenz:
"JT" schrieb:
> > Was für Dinger sind das, die 10 bis 20 Mal in einem Frame > > vorkommen? > > 00 00 01 BA ist Kennzeichnung des Headers eines MPEG Packs. > Ein Pack besteht aus einem Header und eine beliebigen Anzahl > nachfolgender Packets.
Ehrlich gesagt, bin ich jetzt kein bisschen schlauer. Ich dachte bisher, Frames sind die kleinste Einheit bei einem Video, aber nun scheinen Frames noch ein Packs unterteilt zu sein, richtig? Und wozu?
> Mehr Infos finden sich z.B. unter > http://dvd.sourceforge.net/dvdinfo/mpeghdrs.html > http://www.andrewduncan.ws/MPEG/MPEG-1 Picts.html
Besten Dank, den ersten Link kannte ich noch nicht. Leider kann ich da auch nicht sehen, was ein Pack ist.
Paul Lenz
-- Dies ist eine gültige Email-Adresse. Vor SPAM und Viren schützt mich www.spavi.de
Antwort von JT:
"Paul Lenz" wrote:
> "JT" schrieb:
>> 00 00 01 BA ist Kennzeichnung des Headers eines MPEG Packs. >> Ein Pack besteht aus einem Header und eine beliebigen Anzahl >> nachfolgender Packets. > > Ehrlich gesagt, bin ich jetzt kein bisschen schlauer. Ich dachte > bisher, Frames sind die kleinste Einheit bei einem Video, aber > nun scheinen Frames noch ein Packs unterteilt zu sein, richtig?
Packets haben mit der Aufteilung der enthaltenen Daten nicht allzuviel zu tun. Man kann es sich vielleicht als so eine Art "Transport-Verpackung" vorstellen - oder wie ein Netz-Daten-Paket.
In den Daten der Packets findet sich dann die logische Struktur, also Audio, Pictures, GOPs, etc. Ein Picture kann sich z.B. über eine Packetgrenze hinweg erstrecken.
> Und wozu?
Eben als Transportverpackung z.B. zum Mischen der unterschiedlichen Streams.