Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 75

Thema: Matroska parsen

  1. #11
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Zitat Zitat von LigH Beitrag anzeigen
    Ich kann mich noch an solche Herausforderungen beim Parsen von AC3 erinnern: Da gab es Bitfelder mit unterschiedlicher Bedeutung und Länge, je nach dem wie ein paar vorherige Bits besetzt waren.
    Wenn genau dokumentiert ist welche Bytes andere Bytes in bestimmter Weise beeinflussen mag das sicher alles recht kompliziert sein, aber eben auch logisch und nachvollziehbar. Und dann sollte es auch "einfach" zu programmieren sein.

    Zitat Zitat von LigH Beitrag anzeigen
    Encodierung "wie UTF-8" würde ich so verstehen, dass die meisten Daten 8 bit Länge haben, aber bestimmte Bytes dienen als Einleitung für Daten mit 16 oder gar 24 bit Länge. Vielleicht findest du auch irgendwo nochmal die Beschreibung, wie das Grafikformat PCX nur bei Bedarf Lauflängencodierung (RLE) durchführt, das war ein ähnlicher Ansatz.
    mmh... hört sich nicht so recht nach Matroska an :-). Dort wird oft auf "big-endian" hingewiesen. Leider ist mir das auch nicht 100% verständlich.
    Hat halt was mit der Bit-order oder so zu tun oder so...keine Ahnung.

  2. #12
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.322

    Standard AW: Matroska parsen

    Zitat Zitat von hubblec4 Beitrag anzeigen
    Für die Beispiel Datei wäre es ja nur ein Byte [A3] denn die nächsten beiden [42][86] gehören ja schon wieder zum nächsten EBML Element(EBMLVersion).

    [A3] als Binär sieht es dann so aus [1010 0011] Es gibt keine "führenden "0"en somit erhält man 1 als Länge.
    Welches 1 Byte müsste ich nun lesen, das [A3] selber?
    A3 ist binär 1010 0011. In diesem Fall muß also zur Größenermittlung nur A3 gelesen werden, da es keine führenden Nullen gibt. Wie bei den Element-IDs fällt alles bis einschließlich der ersten 1 weg, also aus 1010 0011 wird 0010 0011. 0010 0011 binär sind 35 dezimal. Das heißt, dieses Element hat 35 Bytes an Inhalt. Also 4 Byte ElementID (1A45DFA3) + 1 Byte Elementgräße (A3) + 35 Byte an Daten, in diesem Fall Unterelemente. Insgesamt 40 Bytes.

  3. #13
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Ganz riesen herzlichen dank, ich denke das könnte jetzt der durchbruch sein.

  4. #14
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Doch noch gleich ne frage.

    Wenn das Size-Byte nicht [A3] ist sondern sagen wir [01], was binär [0000 0001] ist dann habe ich 7 "0"en, und damit eine länge von 8 Bytes.

    Wird das Size Byte dann NICHT mit gelesen?

  5. #15
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.322

    Standard AW: Matroska parsen

    Das "Size Byte" zählt zu den 8 Bytes dazu, fällt aber gleichzeitig natürlich komplett weg, weil alles bis einschließlich dem erst 1er Bit wegfällt. Also liest man dann nur die 7 Bytes, die nach dem Size Byte folgen und berechnet daraus die Größe des Inhalts.

    Das ist aber auch recht anschaulich in den Matroska-Specs erklärt:
    https://www.matroska.org/technical/specs/index.html

    Wenn da die Erklärungen nicht ausreichen, schau mal in die Alternativen Specs, die gerade zur Standardisierung erarbeitet werden:
    https://tools.ietf.org/html/draft-lh...ar-matroska-01
    https://github.com/Matroska-Org/ebml...ation.markdown

  6. #16
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Zitat Zitat von sneaker2 Beitrag anzeigen
    Das "Size Byte" zählt zu den 8 Bytes dazu, fällt aber gleichzeitig natürlich komplett weg, weil alles bis einschließlich dem erst 1er Bit wegfällt. Also liest man dann nur die 7 Bytes, die nach dem Size Byte folgen und berechnet daraus die Größe des Inhalts.
    Ok, das macht Sinn.

    Zitat Zitat von sneaker2 Beitrag anzeigen
    Das ist aber auch recht anschaulich in den Matroska-Specs erklärt:
    https://www.matroska.org/technical/specs/index.html
    Ja das schon, aber leider war ich im English Unterricht sehr oft Kreide holen, daher verstehe ich nicht immer den sinn. Google Translater ist zwar gut aber auch nicht immer richtig. Dazu kommt dann noch das manche Begriffe schon recht spezifisch sind und man müsste sich da auch erst noch bilden.


    Zitat Zitat von sneaker2 Beitrag anzeigen
    Wenn da die Erklärungen nicht ausreichen, schau mal in die Alternativen Specs, die gerade zur Standardisierung erarbeitet werden:
    https://tools.ietf.org/html/draft-lh...ar-matroska-01
    https://github.com/Matroska-Org/ebml...ation.markdown
    Danke für die beiden Links, sind echt gute Hilfen.

  7. #17
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Hi sneaker2

    Könntest du mir vielleicht bei einem Problem helfen?

    Es geht um die Spieldauer einer Matroska Datei.
    In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.

    Mosu meinte ich müsste das selber errechnen...da fällt mir nur die FPS und die Anzahl der Frames ein. Wie und woher würde ich diese Werte aus der Matroska Datei bekommen?

    Ich hatte geshen das "Cluster" einen Zeitstempel haben, und dieser auch "mandatory" ist.
    Es scheint ein zuverlässiger Wert zu sein. Wie berechnet sich aber die Dauer eines Clusters?
    Und ist es schlau das mit den Clustern zu machen, man könnte zum letzten Cluster parsen und dann dessen Dauer addieren.


    LG
    hubble

  8. #18
    Daydreamer Avatar von Endoro
    Registriert seit
    11. August 2012
    Ort
    Atlantis & Avalon
    Beiträge
    521

    Standard AW: Matroska parsen

    Zitat Zitat von hubblec4 Beitrag anzeigen
    In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.
    Für Audiotracks, Video oder beide?
    Frames und Dauer zeigen ffmpeg/ffprobe an.

    Code:
    ffprobe -show_frames video.mkv
    

  9. #19
    Matroska Dev-Helfer
    Registriert seit
    11. April 2007
    Beiträge
    718

    Standard AW: Matroska parsen

    Zitat Zitat von Endoro Beitrag anzeigen
    Für Audiotracks, Video oder beide?
    Die Duration aus der SegmentInfo meinte ich, was die jetzt genau wiederspiegelt, ob Video oder Audio weis ich nicht genau.
    Es scheint das dort der "größte" Wert gespeichert wird, der bei mehreren Spuren gefunden wurde.

    Wichtig für mich ist die Video-Dauer.

    Zitat Zitat von Endoro Beitrag anzeigen
    Frames und Dauer zeigen ffmpeg/ffprobe an.

    Code:
    ffprobe -show_frames video.mkv
    Danke für den Hinweis, wollte aber gerne wieder ohne ffmpeg und Co das bewerkstelligen.

  10. #20
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.322

    Standard AW: Matroska parsen

    Zitat Zitat von hubblec4 Beitrag anzeigen
    Es geht um die Spieldauer einer Matroska Datei.
    In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.
    Naja, da müßte man zuerst mal eine Definition dessen haben, was genau "die Spieldauer" eigentlich sein soll. Mit "fps" ist schlecht, denn Matroska ist bekanntlich variabel.

    Anfang des ersten Blocks bis letzter Block (+Default Duration o.ä.) hört sich vernünftig an, aber dann ist die Frage, welche Tracks man sich anschauen möchte, denn das ist ja für jeden anders. Mkvmerge taggt da auch jeden Track einzeln mit dieser Info. Also statt "Definition" vielleicht noch eher die Frage nach dem Zweck... Ich wüßte nicht, warum da MediaInfo oder irgendein Player das Maß der Dinge sein sollten.

Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Matroska-Ordered Chapters Version in einfache Matroska ummuxen
    Von Nel-son im Forum Alternative A/V-Container und -Formate
    Antworten: 4
    Letzter Beitrag: 17. June 2012, 01:25
  2. Matroska v2
    Von hippoth im Forum Alternative A/V-Container und -Formate
    Antworten: 23
    Letzter Beitrag: 11. May 2006, 17:59
  3. AVC in Matroska
    Von Mr. Brown im Forum Alternative A/V-Container und -Formate
    Antworten: 5
    Letzter Beitrag: 2. May 2005, 13:54
  4. Matroska vs. OGM
    Von Xerves im Forum Alternative A/V-Container und -Formate
    Antworten: 10
    Letzter Beitrag: 13. February 2005, 17:31
  5. [- FAQ -] Matroska, XCD und MCF
    Von BaronVlad im Forum Alternative A/V-Container und -Formate
    Antworten: 0
    Letzter Beitrag: 26. April 2003, 11:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •