Abschätzen der Dateigröße vorm (RE)Muxen

  • Liebe Cummunity folgedens:

    Ich möchte vorm Remuxen einer Quelle feststellen können wie groß die resultierende Datei wird.
    Es geht mir dadrum das ich vor dem Muxen sehen kann ob die kombination aus Video, Ton und Untertitelspuren klein genug bleiben um auf mein Ziel Medium gespeichert werden zu können oder ob ich noch ein paar Untertitel bzw Tonspuren weglassen muss.

    Ich benutze eigentlich sehr gerne das Tool Medieinfo, leider gibt dieses Tool grade für die Videospur und für die erste Audiospur (warum auch immer) keine Größe aus, somit ist das Tool für mein Vorhaben nutzlos. Da meistens eine fürs Video eine VBR benutzt wird, kann ich mir die größe auch nicht errechnen.

    Hab ihr eine Idee für dieses Problem ?

    Grüße Blade

    P.S. Hier mal ein Beispiel aus Mediainfo:

    Format : BDAV
    Format/Info : Blu-ray Video
    Dateigröße : 26,2 GiB
    Dauer : 1h 48min
    Gesamte Bitrate : 34,5 Mbps
    maximale Gesamtbitrate : 48,0 Mbps

    Video
    ID : 4113 (0x1011)
    Menü-ID : 1 (0x1)
    Format : AVC
    Format/Info : Advanced Video Codec
    Format-Profil : High@L4.1
    Format-Einstellungen für CABAC : Ja
    Format-Einstellungen für ReFrame : 4 frames
    Dauer : 1h 48min
    Bitraten-Modus : variabel
    maximale Bitrate : 31,0 Mbps
    Breite : 1 920 Pixel
    Höhe : 1 080 Pixel
    Bildseitenverhältnis : 16:9
    Bildwiederholungsrate : 23,976 FPS
    ColorSpace : YUV
    ChromaSubsampling : 4:2:0
    BitDepth/String : 8 bits
    Scantyp : progressiv
    colour_primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
    transfer_characteristics : BT.709-5, BT.1361
    matrix_coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

    Audio #1
    ID : 4352 (0x1100)
    Menü-ID : 1 (0x1)
    Format : DTS
    Format/Info : Digital Theater Systems
    Format-Profil : MA
    Muxing-Modus : Stream extension
    Dauer : 1h 48min
    Bitraten-Modus : variabel
    Kanäle : 6 Kanäle
    Kanal-Positionen : Front: L C R, Side: L R, LFE
    Samplingrate : 48,0 KHz
    BitDepth/String : 24 bits

    Audio #2
    ID : 4353 (0x1101)
    Menü-ID : 1 (0x1)
    Format : AC-3
    Format/Info : Audio Coding 3
    Format_Settings_ModeExtension : CM (complete main)
    Dauer : 1h 48min
    Bitraten-Modus : konstant
    Bitrate : 640 Kbps
    Kanäle : 6 Kanäle
    Kanal-Positionen : Front: L C R, Side: L R, LFE
    Samplingrate : 48,0 KHz
    BitDepth/String : 16 bits
    Stream-Größe : 497 MiB (2%)

    Audio #3
    ID : 4354 (0x1102)
    Menü-ID : 1 (0x1)
    Format : DTS
    Format/Info : Digital Theater Systems
    Format-Profil : HRA
    Muxing-Modus : Stream extension
    Dauer : 1h 48min
    Bitraten-Modus : konstant
    Bitrate : 2 047 Kbps
    Kanäle : 6 Kanäle
    Kanal-Positionen : Front: L C R, Side: L R, LFE
    Samplingrate : 48,0 KHz
    BitDepth/String : 24 bits
    Stream-Größe : 1,55 GiB (6%)

    Audio #4
    ID : 4355 (0x1103)
    Menü-ID : 1 (0x1)
    Format : DTS
    Format/Info : Digital Theater Systems
    Format-Profil : ES
    Dauer : 1h 48min
    Bitraten-Modus : konstant
    Bitrate : 1 510 Kbps
    Kanäle : 6 Kanäle
    Kanal-Positionen : Front: L C R, Side: L R, LFE
    Samplingrate : 48,0 KHz
    BitDepth/String : 24 bits
    Stream-Größe : 1,15 GiB (4%)

    Text #1
    ID : 4608 (0x1200)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #2
    ID : 4609 (0x1201)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #3
    ID : 4610 (0x1202)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #4
    ID : 4611 (0x1203)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #5
    ID : 4612 (0x1204)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #6
    ID : 4613 (0x1205)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #7
    ID : 4614 (0x1206)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #8
    ID : 4615 (0x1207)
    Menü-ID : 1 (0x1)
    Format : PGS

    Text #9
    ID : 4616 (0x1208)
    Menü-ID : 1 (0x1)
    Format : PGS

  • Den Multiplexing-Overhead vorher abzuschätzen ist nicht ganz trivial. Du müsstest dafür die Multiplex-Blockgrößen kennen, die Header-Größen pro Block (damit auch die maximale Datenmenge, die nach dem Header noch im Block übrig bleibt), sowie das Multiplex-Verhalten bei Grenzen von Datenblöcken im Original-Material: Wahrscheinlich wird nicht der gesamte Videostream optimal auf die Datenbereiche der Blöcke aufgefüllt, sondern mindestens jede GOP, wenn nicht gar jedes Picture, mit einem neuen Block beginnen (analog auch für Audio und Subpictures) - bedeutet: Einige Blöcke werden nicht voll sein und mit Leerbytes aufgefüllt werden.

    Die "vollständige Analyse" von MediaInfo zeigt mehr Details, aber leider auch keine Größe der einzelnen Streams: Eine solche Information steht nämlich nicht im Dateiheader. Und mehr als Header liest MediaInfo nicht.

  • Heist um es ansatzweise herauszufinden muss ich den ganzen mist erst DeMuxen und dann die gewünschten Spuren addieren und einen gefühlsmässigen overhead draufgeben.
    Grrr und grade das wollte ich vermeiden ^^

    Danke

    2 Mal editiert, zuletzt von blade22 (24. August 2010 um 17:04)

  • Ne, mit Gefühlt hat das wenig zu tun, dass kann man schon berechnen, ist aber je nach Zielkontainer nicht ganz simple.
    In was für einen Container soll das Ganze denn?

    Zitat

    Und mehr als Header liest MediaInfo nicht.


    Was sich leider wohl auch nie ändern wird. :(

  • Das soll am ende eine Bluray werden, also die Hauptdatei wird eine .m2ts plus den ganzen mist von der Bluray.

    Jemand sollte mal ein kleines Programm dazu schreiben, ist nicht schön das man Daten auf gut Glück oder so Umständlich reduzieren muss :).

    Grüße Blade

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!