HC-Encoder codiert zu klein

  • Moin Leute ich habe folgendes Problem:
    ich möchte mit dem HCgui einen Film auf DVD9 runter rechnen.nach Abzug des Menüs, der Tonspuren und der subs habe ich noch 7040MB platz für den reinen Film.also stelle ich beim HCgui unter file size 7208960 kb ein!
    hier ein Bild
    [Blockierte Grafik: http://img3.imageshack.us/img3/9753/42033373.jpg]

    nach 6 Stunden kommt allerdings nur eine 4,9GB großes m2v Filmformat raus.
    am quellenmaterial kann es nicht liegen denn da ist die Filmdatei 8,5GB groß.

    ich hoffe ihr könnt mir helfen!denn ich habe schon zwei mal codiert und immer das selbe Ergebnis

  • 7153319 KB * 8 b/B : 7053,32 s = 7999,99888 kbps

    Du hast als Maximum 8000 kbps erlaubt. Es wird aber Szenen geben, in denen der Encoder einfach keine 8000 kbps erreicht (z.B. sehr dunkle oder ruhige Szenen).

    Zwar kannst du eventuell mit dem Maximum noch etwas höher gehen (auf DVD sind insgesamt 9800 kbps erlaubt - wie viel müsstest du für deine Tonspuren und Reserve von ~9500 kbps abziehen?), aber letztlich würde die DVD wohl nur durch "Verschwendung" (padding = auffüllen) wirklich randvoll werden.

    Und das kann ich dir gar nicht empfehlen, weil du ja auch noch einen geeigneten Bereich für den Layer-Break finden musst. Also lass lieber noch ein paar hundert MB frei!

  • also Tonspur. subs und menü sind großzügig nach oben gerundet 1000MB groß
    also hätte ich sogar 7099MB platz für den Film ( und hätte immer noch etwas Reserve )
    das ich nicht überall die 8000kbps erreiche habe ich mich gedacht.aber wenn auf einmal nur eine 4,9GB datei raus kommt ist das etwas wenig finde ich.
    und wenn ich von 8000kbps auf 9800 kbps gehe wird das doch soviel auch nicht ändern oder?

    hier noch mal ein paar daten aus dem log
    average bitrate: 5886
    minimum bitrate: 148
    maximum bitrate: 7999
    und die average bitrate will ich möglichst hoch haben!

    Einmal editiert, zuletzt von scholty (16. September 2009 um 16:11)

  • Ich brauche von den Tonspuren nicht die Größe in MB, sondern die einzelnen Bitraten in kbps (siehe MediaInfo).

    Du sollst die maximale Video-Bitrate nicht auf 9800 setzen, sondern auf (9500 - Summe der Audio-Bitraten).

    Da es immer Szenen mit Minimalbitrate geben wird, wird der Durschschnitt immer geringer bleiben. Man kann dem HC-Encoder anscheinend kein Minimum vorgeben, das er durch Padding (Auffüllen mit nutzlosen Bytes = "Verschwendung") einhält.

    Und wie gesagt: Du brauchst Spielraum für den Layer-Break! Ich empfehle dir bis zu 500 MB Reserve.

    Für PAL-Video (720x576) solltest du Auto-GOP übrigens auf 12 setzen: Viel mehr als 1/2 Sekunde (25 fps : 2 = 12,5 Frames/GOP) mögen einige knapp bestückte DVD-Player nicht. Die paar mehr I-Frames heben die durchschnittliche Bitrate aber auch nicht wesentlich.

  • also wenn ich dich richtig verstehe rechne ich 9500kbps - 448kbps der Tonspur und die ergebene 9052kbps nehme ich als maximale bitrate.
    aber ich habe zwei tonspuren von a 448kbps muss ich dann minus 896kbps oder reicht minus 448kbps?

    Und wie gesagt: Du brauchst Spielraum für den Layer-Break! Ich empfehle dir bis zu 500 MB Reserve.

    ich gehe ohnehin nur von 8099MB die ich von der DL DVD nutze!sprich 8099MB minus menü, tonspuren und subs.
    sollte doch reichen oder?


    Zitat

    Für PAL-Video (720x576) solltest du Auto-GOP übrigens auf 12 setzen: Viel mehr als 1/2 Sekunde (25 fps : 2 = 12,5 Frames/GOP) mögen einige knapp bestückte DVD-Player nicht. Die paar mehr I-Frames heben die durchschnittliche Bitrate aber auch nicht wesentlich.

    das verstehe ich nicht so ganz. wird das bild besser dadurch das ich den GOP wert auf 12 setzte?und sollte ich das pauschal immer bei PAL-Video
    ( 720x576 oder 704×576 ) machen?
    und was genau sind I-Frames?

    habe mir zum Thema GOP nochmal das hier durchgelesenen http://www.netzwelt.de/news/71398_3-k…grundlagen.html und wenn ich das richtig verstanden habe, desto mehr GOP deso besser das bild und das vor- bzw zurückspulen!

    ich danke dir jetzt schon mal für deine Geduld und deine Hilfe

    Einmal editiert, zuletzt von scholty (16. September 2009 um 19:46)

  • aber ich habe zwei tonspuren von a 448kbps muss ich dann minus 896kbps oder reicht minus 448kbps?

    http://www.dvddemystifiziert.de/dvdfaq.html#3.4

    "Die maximale Videobitrate ist 9,8 Mbps." Das hängt unter anderem damit zusammen, dass die Auslesegeschwindigkeit bei "einfacher DVD-Geschwindigkeit" (und welche Geschwindigkeit sonst hätten die ersten DVD-Laufwerke haben sollen?) 10,8 Mbps für die komplette Spur (inklusive System- und Fehlerkorrekturdaten) beträgt.

    Diese wäre jedoch über längere Zeit nicht zusätzlich zu den Tonspuren zuverlässig zu verwalten. Als ich noch im DVD-Authoring tätig war, gingen wir davon aus, dass "9,8 Mbps - Maximum aller Tonspur-Bitraten" funktionieren sollte. Das schafften auch die meisten Player. Bis auf ein paar Ausnahmen. Die 9,8 Mbps dürfen nur über einen kurzen Zeitraum erreicht werden, nicht länger als 1-2 Sekunden im Durchschnitt (auch wenn pro GOP mal 12-13 Mbps auch nicht schaden). Wir hatten das Maximum dann zur Sicherheit auf "9,5 Mbps - Summe aller Tonspuren" begrenzt, auch bei 5-6 Tonspuren (die dann oft eh nur 192 kbps Pro-Logic hatten).


    8099MB minus menü, tonspuren und subs.

    Basst scho. Wird eh nicht voll werden, auch mit erhöhtem Maximum.


    wird das bild besser dadurch das ich den GOP wert auf 12 setzte? und sollte ich das pauschal immer bei PAL-Video
    ( 720x576 oder 704×576 ) machen?

    Nicht erkennbar besser. Aber kompatibler mit älteren Playern.


    und was genau sind I-Frames?

    "Intra frames" / Independent frames (unabhängige Bilder):

    http://de.wikipedia.org/wiki/Group_of_Pictures

    Die nutzen keine Ähnlichkeiten zwischen benachbarten Bildern aus, brauchen deshalb mehr Platz. Aber sie sind der Anfang einer Decodierung, und einzig mögliche Sprungziele beim Spulen und Springen zu Kapiteln oder Zeiten.


    wenn ich das richtig verstanden habe, desto mehr GOP deso besser das bild und das vor- bzw zurückspulen!

    Im Grunde sind mehr P- und B-Frames und seltenere I-Frames günstiger, wenn die Bitrate knapp ist, weil I-Frames viel Platz brauchen.

    Wer aber viel Platz hat, der kann sich den Luxus von etwas häufigeren I-Frames (kürzeren GOPs) durchaus leisten: Jeder Decodierungsfehler (oder jede Ungenauigkeit der Quantisierung) bleibt durch alle folgenden P- und B-Frames erhalten, bis das nächste I-Frame kommt.

  • danke für deine ausführliche und verständliche antwort.
    eine frage habe ich dann aber noch.wen ich den GOP-Wert jetzt auf 12 setzte heißt das das jeder 12 frame ein I frame ist?

  • hier noch mal eine kleine rückmeldung bezüglich der GOP Werte

    test 1
    GOP-Wert 12
    max. Bitrate 8603kbs
    nr. of gops: 15664
    nr. of frames: 178833
    nr. of I-frames: 15664
    nr. of P-frames: 48045
    nr. of B-frames: 115124
    average bitrate: 6526
    minimum bitrate: 168
    maximum bitrate: 8603
    Filmgröße: 5,43GB

    test 2
    GOP-Wert 15
    max. Bitrate 8603kbs
    nr. of gops: 12747
    nr. of frames: 178833
    nr. of I-frames: 12747
    nr. of P-frames: 50824
    nr. of B-frames: 115262
    average bitrate: 6447
    minimum bitrate: 148
    maximum bitrate: 8603
    Filmgröße: 5,37GB

    Man sieht ganz deutlich,dass wenn man die maximale Videobitrate ausrechnet und den GOP-Wert auf 12 setzt die beste Qualität raus bekommt.

  • Ob man für den GOP 12 oder 15 benutzt sollte doch normalerweise laut Spezifikation egal sein, persönlich benutze ich aus Sparsamkeit eigentlich immer 15 und ändere bei bedarf lediglich die Bitrate.
    Beim CCE konnte man die Min, Durchnitt, und Max Bitrate einstellen, indem man die Min-Bitrate höher stellt könnte man sicherlich die Qualität noch etwas verbessern, beim HC habe ich es allerdings noch nie Probiert mir genügt Mencoder.
    Was mich irritiert ist bei deinem Test die Min-Bitrate, die ist meines Wissens viel zu klein und sollte laut Spezifikation eigentlich nicht kleiner als 1800 sein. Eventuell hast du ja unwissentlich irgendwelche Einstellungen oder die Matrix geändert

  • Laut MPEG2-Spezifikation können GOPs bis zu 32 Frames beinhalten; laut DVD-Spezifikatipon sollte ein GOP aber nicht länger als 1/2 Sekunde dauern (begrenzter Decodierpuffer) - bei NTSC wäre das ~30 fps / 2 * s = 15 Frames, bei PAL dagegen nur 25 fps / 2 * s = 12,5 Frames.

    Für die Ausnutzung der max. 2 B-Frames zwischen I- und P-Frames wären bei PAL mit "hinten geschlossenen GOPs" (also mit P-Frame am Ende) im Grunde 13 Frames/GOP ideal und maximal. Aber diese GOP-Variante ist nicht notwendig, wenn nicht nachträglich noch geschnitten werden soll.

    Die Minimal-Bitrate ist in der Tat niedriger als gefordert. Offenbar nutzt der HC-Encoder kein Padding zum Auffüllen. Bleibt also zur zu hoffen, dass der Multiplexer im DVD-Authoring-Tool das dann durchführt.

  • GOP Längen sind in den MPEG Spez nicht limitiert.

    Zitat

    The smallest group of pictures consists of a single I-picture, whereas the largest size is unlimited.

    Für DVD Video gilt als max GOP Länge ~600 ms = max 15 Frames bei PAL und max 18 Frames bei NTSC (präsentierte Frames und nicht nur kodierte, Pulldown-Frames müssen also mitgezählt werden).

    Es gibt keine Minimal-Bitrate für DVD Video. Die oft angegebenen Min-Werte sind ein praktisches Limit.
    z.b in DVD Demystified

    Zitat

    Not an absolute limit but a practical limit below which video quality is too poor

    GOPs sind "hinten" immer geschlossen, d.h. sie enden immer mit P oder I-Frame. Offene GOPs sind GOPs die mit B-Frames beginnen welche auf I oder P Frames der vorangegangenen GOP referenzieren.

  • :eek: Unlimitiert?! :grübeln: Wo hab ich dann die Grenzen her? Gab's die mal bei MPEG1?

    Bei der Bitrate war mir so, als würde selbst bei Schwarzbild ein Minimum von ~300 kbps empfohlen sein, weil sonst (über längere Zeit...) das Timing zwischen VBV und Laufwerk beim Auslesen problematisch werden könnte...

    Und bei den GOPs finde ich dann besonders witzig, dass praktisch jede Quelle, die B-Frames erklärt, "hinten offene" GOPs zeigt. Selbst die Wikipedia. -- http://de.wikipedia.org/wiki/Group_of_Pictures

  • Auch wenn es noch so oft geschrieben wird - falsch bleibt falsch.

    Man muss mal die Bilderfolgen unterscheiden zwischen "Decoding Order" und "Display Order".
    Die "Decoding Order oder Bitstream Order" ist die Reihenfolge in der der Encoder die Bilder im Stream speichert bzw die Bilder decodiert werden.
    Die "Display Order" gibt die Reihenfolge an in der die Bilder angezeigt werden.

    Z.B. ein GOP wie es der CCE erzeugt
    Erste GOP:
    Decoding Order
    IPBPBBPBBPBBPBB
    Display Order
    IBPBBPBBPBBPBBP
    Zweite GOP (offen):
    Decoding Order
    IBBPBBPBBPBBPBB
    Display Order
    BBIBBPBBPBBPBBP
    die beiden rot markierten B-Frames referenzieren auf das letzte P Frame der vorherigen GOP

    Andere Encoder erzeugen z.b folgende Struktur:
    Erste GOP:
    Decoding Order
    IBBPBBPBBPBBPBB
    Display Order
    BBIBBPBBPBBPBBP
    die beiden blau markierten B-Frames referenzieren nur auf das nacholgende I-Frame (grün)
    Eine solche GOP trägt (und nur eine solche benötigt es) als Kennzeichnung das closed_gop-Flag
    Zweite GOP (offen):
    Decoding Order
    IBBPBBPBBPBBPBB
    Display Order
    BBIBBPBBPBBPBBP
    hier referenzieren die beiden rot markierten B-Frames wieder auf das letzte P Frame der vorherigen GOP

    Die zweite Struktur mit den führenden B-Frames am Beginn ist verantwortlich für die fälschlichen -80 ms (-67 ms bei NTSC) Delayangaben in DVD2AVI, früheren Dgindex, Decrypter etc.
    Einen PTS Stempel haben nur die I-Frames und dieser trägt einen um 80 ms höheren Wert als der erste Audio PTS da es ja der dritte Frame ist.

  • Ich habe folgende Einstellungen im HCencoder drin:

    -> Tab: Main - Profile auf "Best"
    -> Tab: Main - Aspect ratio Auf "16:9"
    -> Tab: Main - dc prec Auf "10"
    -> Tab: Main - Misc
    * "SMP" ein
    * "scene change" ein
    * "closedgops" aus
    * "pulldown" aus lassen
    -> Tab: Settings 1 - Interlacing options auf "progressive"
    -> Tab: Settings 2 - Misc
    * "VBR bias". Wert von "20"
    * "VBV check"
    * "allow 3 B-frames"aus
    -> Tab: Settings 2 - Luminance gain Wert von "2"
    -> Tab: Settings 3 - AVISynth settings
    "Reload AVISynth" ein
    -> Tab: Matrix
    Wähle "built in matrix" und MPEG
    -> Tab: Main - Misc
    * "autogop" ein - Wert "12"
    ->Tab: Main - bitrate
    * "file size" 7040 MB
    * "maximum (kb/s) 8604

    ist da was falsch oder ist die min. bitratre einfach so schlecht?

  • Was für ein Glück das ich das nicht alles zu wissen brauche :)
    Nur so nebenbei da es sich um eine relativ geringe Änderung der gösse handelt würde ich einfach Shrinken.
    Deinen Film bekommst du sicherlich auch mit ReJig oder einem ähnlichen Programm klein.

  • Ja stimmt hast recht, um welches Quellmaterial es sich handelt hat er ja Garnicht verraten.
    Für mich zählt immer Effizienz und nicht Verschwendung, ich dachte an zwei DVDs zu einer.
    Naja bei der Länge des Films wird er die DL-DVD sicher nicht voll bekommen.
    Eventuell helfen ja weniger effiziente Einstellungen ;)

Jetzt mitmachen!

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