Announcement

Collapse
No announcement yet.

Audiocodec aus MPEG-2 Multiplexed Stream auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Audiocodec aus MPEG-2 Multiplexed Stream auslesen

    Hallo zusammen,

    Mein Problem ist nicht C#-spezifisch, sondern eher ein allgemeines Verständnis Problem (oder Unwissen )

    Ich habe ein Programm geschrieben das aus einem MPEG Multiplexed Stream den Video und den Audio Codec ermitteln soll. Bei einigen Files funktioniert das auch tadellos.
    Nun habe ich einige MPEG2 Files die, den Packet Headern nach nur aus Video bestehen. Aber der Videoplayer findet Ton und spielt diesen auch ab. Nach einigem Suchen in meiner MPEG Sammlung habe ich herausgefunden das dieser Zustand durchaus "normal" ist, obwohl es laut Spezifikation eigene Packet Header für Audio Daten gibt.

    Wenn das File laut Packet Headern nur aus Video besteht, wo finde ich dann die Audiodaten?

    Ich will das File nicht abspielen, sondern nur auslesen welche Ausmaße der Film hat, wie lang er ist und welche Codecs verwendet wurden. Und das möglichst ohne externe DLLs zu benutzen, da das Programm noch andere Filetypen analysiert und beschreibt wäre das früher oder später ein Overkill an externen DLLs.

    Viele Grüße
    Womble

  • #2
    Ich habe es selbst gefunden.
    Es gibt zwar für Audiodaten spezielle Bereiche (die Tags von "000001C0" - "000001DF") aber es können sich trotz allem Audiodaten im Tag "000001BD" befinden, der in den den meisten Beschreibungen nur als Private Stream betitelt wird.

    Bei so etwas frage ich mich immer wieso ich einen Standard baue der für bestimmte Daten bestimmte Bereiche vorsieht und dann zulasse das sich die Daten auch wo anders befinden können.

    Gruß Womble

    Comment


    • #3
      Bei so etwas frage ich mich immer wieso ich einen Standard baue der für bestimmte Daten bestimmte Bereiche vorsieht und dann zulasse das sich die Daten auch wo anders befinden können.
      Über schlecht umgesetzte Standards haben wir uns schon alle geärgert. Aber du weist sicher warum es am Ende doch so kommt. Versuche dein Programm mal ausschließlich Standardkonform auszulegen und schau dir dann an ob es noch irgendwer benutzen will.
      Standards entarten. Nur tote Standards tun das nicht mehr.

      Comment

      Working...
      X