Beiträge von JoeB

    YLevelsG hört sich nicht schlecht an, sehe den Thread auf den Didee da verlinkt zum ersten mal. :)

    Cu Selur



    War aber so nicht gefragt hier. Hier geht es darum, dass x264 homogene Flächen mit Blöckchen darstellt wenn man nicht (nach meiner Erfahrung) -no fast p-skip einstellt.

    Hi,

    ich würde geren ein paar Filme in HDTV umwandeln. Die Auflösung ist 1080i. Könnte man nicht Dein tool um die HDTV Auflösungen erweitern? Als Ziel ist das ja nun nicht auswählbar und ich habe keine Ahnung wie ich das errechnen soll :)

    Bei einem Test (drittes Bild) bin ich aber zu einem anderen Schluß gekommen. So extremes Material wie das von NeuRaf hab ich hier allerdings nicht getestet.

    Gruß

    akapuma

    Interessant - das werde ich auch einmal austesten.

    Was ich aber wirklich getestet habe ist die Wirkung von No-Fast P-Skip. Homogene Flächen im Hintergrund oder schwarze Szenen hören auf zu flimmern und die sehr sehr deutliche Blöckchenbildung verschwindet.

    Ich bitte drum. Mit Brother John's Tutorial kann zwar auch agkp mit encraw genutzt werden, allerdings ist das nur getrickst. Ein Nachteil des Tricksens ist z.B. die fehlende Möglichkeit zur automatischen Übergabe der Credits. Jetzt, wo bald der Winter kommt (=Programmierzeit), überlege ich, ob ich nicht xvid_encraw fest in agkp einbinden soll. Im Gegensatz zum x264-CLI weiß ich aber noch nicht warum.

    Dann bleibt noch das Problem der Version. Obwohl in der CLI-Hilfe angegeben, unterstützen die aktuellen Builds von celtic_druid nämlich kein mkv-Output, so daß man auf die (einmalige???) Version von squid80 zurückgreifen muß.

    Eine ausführliche Begründung wäre toll!

    Gruß

    akapuma

    Hi,

    ich habe dann mal hier geantwortet:


    Übrigens gibt es eine Version vom 31.07.2006 und zwar direkt von Squid.

    >Klick Mich<

    Changelog:
    Version 1.2.31.07.2006
    - Neater error reporting and dynamic linking with xvidcore.dll.

    Ins Detail kann ich da auch nicht gehen. Sicher weiß ich, dass MPEG-4 ASP mit B-Frames in AVI den Standard verletzt. Matroska benutzt bei einem VfW-Encoding standardmäßig den AVI-Kompatibilitätsmodus und übernimmt den verbogenen Stream so wie er ist.

    Vielleicht mal eine kleine Erklärung dazu :)

    A) Die Spezifikation
    Zunächst muss man sich einmal klarmachen, wie normalerweise ein der mpeg4 Spezifikation entsprechender stream aussieht. Er besteht im Grunde nach immer aus einer bestimmten Abfolge von I, P und B frames.
    Ein b-frame bezieht sich hierbei immer auf 2 frames, auf das vorherige I/P frame und auf das folgende I/P frame.

    Die Wiedergabe funktioniert also so:
    I B B P


    B) Zum Problem des VFW Codecs
    Der VFW Codec arbeitet nun nach dem Schema, "ein frame rein und ein frame raus". Also für jedes frame das reinkommt, wird auch ein frame rausgegeben. Dies ist natürlich nicht mit b-frames möglich, da diese sich ja auf 2 andere I/P frames beziehen und die sind bei "ein frame rein und ein frame raus" zu diesem Zeitpunkt nicht "drin". Das Grundproblem besteht also darin, dass der VFW Codec eigentlich keine Speicherung von b-frames beherrscht.

    Also wenden Encoder einige Tricks an um b-frames doch noch möglich zu machen.

    Trick 1 (Packed Bitstreams)
    Man packt das erste b-frame zusammen mit einem P-frame und gibt sie gemeinsam aus. Da nun auf der Ausgabeseite durch diese Verschmelzung (=Packet Bitstreams) ein frame im Gegensatz zur Anzahl der frames fehlt, fügt der VFW-Codec am Ende einen Platzhalter ein, ein so genanntes N-frame.

    Die neue Abfolge sieht dann so aus:
    I PB B N


    Trick 2 (Delay Frames)
    Wenn wir nun in der Encoder-Konfiguration Packed Bitstreams abgeschaltet haben, dann muss der VFW Codec sich was einfallen lassen und das macht er so:
    Zuerst bekommt er ein I-frame. Das ist kein Problem, das speichert er ab. Dann sollte eigentlich ein b-frame folgen. Das kann er aber nicht darstellen, da das P-frame noch fehlt. Er muss aber etwas abspeichern ("ein frame rein und ein frame raus") - also speichert er ein sogenanntes Delay frame (1-byte 0x7f frames). Das macht er ebenso beim nächsten B-frame. Schliesslich kommt das P-frame und der Encoder kann alles abspeichern. Geschaffen hat er einen stream mit zusätzlichen Delay frames.

    C) Fazit
    Bekanntermassen kann man die vom VFW Codec erstellten avi´s abspielen, Das liegt daran, dass die Decoder mit diesen Hacks umgehen können. Ab und zu versagt zwar ein SA dabei - aber eigentlich haben wir uns alle daran gewöhnt.

    Tatsache ist aber, dass wir einen stream vollkommen ausserhalb der Spezifikation erzeugen und das wir dies bei den Kontainern mkv und mp4 nicht benötigen. mkv und mp4 können native mpeg4 streams speichern und sind ja auch dafür entwickelt worden. :D

    Hier wird etwas für den AVI-Kontainer mit vielen Tricks erstellt, das eigentlich in den mp4 Kontainer oder auch mkv Kontainer gehört.

    @ Kopernikus

    Vielen Dank für Deine ausführliche Erklärung. :)

    Leider sieht es aber so aus, dass ich das wohl nicht hinbekommen werde - ich kapiere einfach zu wenig von den Formeln und weis noch immer nicht was ich machen soll. So wie ich es verstanden habe, ist die oben aufgeführte Formel unvollständig da nur als Beispiel aufgeführt. Eine vollständige Formel mit dem klassischen lumimasking gibt es auf der verlinkten Seite. Aber wie nun das in Praxis als richtige commandline aussieht bleibt weiter geheimnisvoll für DummUser wie mich :)

    Aber ich bin gespannt auf Eure Tests und finde das Projekt richtig spannend - weiter so :)



    Hi,

    so ganz schnalle ich es noch nicht. Wie lautet denn nun eigentlich ein Befehl? Ich verstehe es so, dass ich eine Formel hinterlegen muss?

    Kann mir mal jemand eine beispielhafte commandline dazu schreiben? - vielen Dank :)

    Zitat von LigH

    Vor allem die "Future Plans" werden zeigen, wie er im Vergleich zum AC3Enc dasteht, der bisher z.B. in BeSweet verwendet wird. Von Psychoakustik ist in dieser Zuammenfassung auch noch nichts im Detail zu lesen.

    Kurtnoise will es in BeLight einbauen damit es mit BeSweet zusammen geht - erst dann werde ich es testen. 99,99 % meiner Encodes gehen nach he-aac.

    MeGUI dürfte ein avi mit einem OpenDML-header erzeugen und das macht AutoGK nicht. Viele SA´s verstehen aber OpenDML Header nicht.

    Du kannst das avi aber in VirtualDub öffnen und als direct stream copy abspeichern, das dauert 2 Minuten und schon hat Dein avi den richtigen header ;)