Seite 1 von 1

Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mo 7. Dez 2009, 12:57
von Gerti
Hi!

Hat jemand Ahnung, wie ich aus MKV- und TS-Files das Bildformat oder Auflösung auslesen kann? Bei AVI-Files steht sowas ja im Header, aber wie oder wo finde ich das bei MKV Files?

Gruß,
Gerti

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Di 8. Dez 2009, 22:51
von Midship Runabout 2
[quote="Gerti"]Hi!

Hat jemand Ahnung, wie ich aus MKV- und TS-Files das Bildformat oder Auflösung auslesen kann? Bei AVI-Files steht sowas ja im Header, aber wie oder wo finde ich das bei MKV Files?

Gruß,
Gerti[/quote]


Was genau hast du denn damit vor willst du es Umwandeln ?

Bildformat oder Auflösung auslesen? bin gerade auf dem Holzweg:

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Di 8. Dez 2009, 23:14
von Maliboy
Also, bei TS wird das nicht so einfach sein, da das IMHO für jedes Paket kommt. Dort kann sich das Format ja im Stream ändern.
Und laut Wikipedia kann bei MKV sich das Seitenverhältnis auch im Stream ändern.
MKV selber ist ein Binäres XML. Wahrscheinlich musst Du das erst einmal entschlüsseln.

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 07:42
von Twilight
[quote="Midship Runabout 2"]Was genau hast du denn damit vor willst du es Umwandeln ?

Bildformat oder Auflösung auslesen? bin gerade auf dem Holzweg:[/quote]

er will nichts umwandeln, sondern sein mediaspect tap erweitern....

twilight

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 07:54
von Gerti
Hi!

Mir reicht das Format des ersten Bildes, ein Wechsel im Stream ist für mich uninteressant.
Ich brauche die Infos für mein TAP MediaAspect...

Gruß,
Gerti

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 18:04
von jkIT
Beim TS (mpeg2 Video) verhält es sich so:
Wenn man die Nutzdaten (payload) der TS Packets auspackt bleiben PES-Packet übrig. Diese wiederum ausgepackt ergeben den Elementary Stream. Interessant ist hier der Start einer Video Sequenz, die mit einem sequence_header beginnt
Also erst mal die TS-Packets auf den Video-Pid prüfen:

Code: Alles auswählen

32 bit timecode (nur TMS 192 byte TS-Packets)
  8 bit sync = 0x47 
  3 bit Flags
13 bit PID
  2 bit  transport_scrambling_control 
  1 bit  has_adaption_field   
  1 bit  has_payload                 
  4 bit  continuity_counter 
falls has_adaption_field=1 :
  8 bit adaption_field_length (in byte)
[adaption_field]
[payload bis zum Ende des Packets]
im Payload startet das PES-Packet mit einem Header:

Code: Alles auswählen

24 bit  start_code_prefix = 00 00 01
  8 bit    stream_id = 0b1110xxxx
16 bit  PES_packet_length
16 bit  Flags etc.
  8 bit header_data_length (in byte)
[header_data]
[ES-Data]
Im Elementary Stream sollte nun der sequence_header beginnen

Code: Alles auswählen

32 bit  sequence_header_code = 00 00 01 B3
12 bit  horizontal_size_value 
12 bit  vertical_size_value
 4 bit  aspect_ratio_information
 4 bit  frame_rate_code 
et voila, schon hast die Auflösung, das Seitenverhältnis und die Framerate :D

Code: Alles auswählen

aspect_ratio_information:
    1: 1/1;
    2: 4/3;
    3: 16/9;
    4: 2.21;
frame_rate_code:
    1: 1/23976;
    2: 1/24000;
    3: 1/25000;
    4: 1/29970;
    5: 1/30000;
    6: 1/50000;
    7: 1/60000;

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 18:08
von TV-Junkie
Wie wäre es mit Mediainfo :thinker:

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 18:20
von jkIT
Am besten gleich als TAP compilieren :wink:

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 19:09
von Twilight
TV-Junkie hat geschrieben:Wie wäre es mit Mediainfo :thinker:

und wie soll man da erkennen wie mediainfo das macht?! :thinker:

twilight

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 19:10
von FireBird
Twilight hat geschrieben:und wie soll man da erkennen wie mediainfo das macht?! :thinker:

Per TAP gesteuert macht der PC einen Screenshot, schickt ihn per ftp an den Topf und das TAP erkennt per OCR die Auflösung. :D

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Mi 9. Dez 2009, 19:16
von TV-Junkie
Ok, falscher Film :angel:

AW: Bildformat von MKV- und TS-Dateien auslesen?

Verfasst: Do 10. Dez 2009, 15:08
von jkIT
Noch ein Nachtrag zu obiger Beschreibung:
Bin mir nicht 100% sicher, aber es könnte reichen, den Stream nach dem sequence header start code 00 00 01 b3 zu durchsuchen, da diese Kombination im Bitstream eindeutig sein sollte.

Bei Mpeg4 AVC steckt die Auflösung im sequence parameter set (start code: (00) 00 00 01 0xx0 0111 mit xx=nal_ref_idc <> 00).
Da zu den Daten zu kommen ist allerdings kompliziert zu erklären (vor allem, wenn man selbst nicht ganz versteht :wink: ) und besser in der H.264 Definition nachzulesen.