HC MPEG2 Encoder - AviSynth-Probleme

  • Hm, ich habe jetzt auch mal mit dem Ding herumgespielt, aber über die Hälfte meiner AVS-Scripte bringen den Encoder zum Absturz (passiert mir aber auch mit VirtualDubMOD, nur nicht so oft), während TMPGEnc sie einwandfrei akzeptiert.

  • Und was sagst du zu der anderen Hälfte?

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Kika, kann es sein, dass dein vfw API Interface einen Hau weg hat?
    Denn damit interpretieren alle VFW decoding basierten Programme, wie z.B.:

    - CCE
    - Vitrualdub(MOD)
    - HCenc (IMHO)
    - TmpgEnc (via readAVS.dll)

    Welche Import-Plugins hast du in TmpgEnc aktiv? Ich habe immer nur jenes aktiviert, welches ich brauche, so z.B. das readavs Plugin. Dies umgeht ein Dshow decoding, was immer recht risky ist. Somit solltest du mal (wenn du es nicht bereits machts) ebenso versuchen TmpgEnc dazu zu zwingen deine avs's mal "NUR" via dem readavs Plugin zu importieren ... und dann sehen obs auch Probleme gibt.

  • LigH
    Danke, gute Idee, das auszulagern.

    incredible
    Durchaus möglich, dass da was nicht stimmt. Es betrifft aber eben nicht alle AVISynth-Scripte, sondern nur ganz bestimmte. Aber das mit der readavs.dll werde ich zur Sicherheit nochmal checken. Allerdings: Wenn das so sein sollte, wie Du vermutest, dann müsste TMPGEnc in diesen Fällen dann auch abschmieren. Stellt sich die Frage: Wie repariert man's, ohne Windoof neu zu installieren? *grübel*

  • So, ich habe mal AVISynth von der Platte geputzt und neu instralliert. VirtualDub und MediaPlayer schmieren immer noch ab, wenn eine RGB24-Wandlung vorkommt, aber HCenc frisst jetzt die Scripte, die vorher zum Absturz führten.
    Das fällt wohl unter "... Dinge zwischen CPU und Applikation, die kein Mensch versteht..."

    Nebenbei habe ich noch festgestellt, dass ich in TMPGEnc eine fehlerhafte Pfadangabe zur ReadAVS.dll hatte.

  • Unter welchem Betriebssystem arbeitest du?

    HC läuft erst seit Version 0.15 unter Windows 2000 ordentlich, Version 0.14 hing beim Öffnen. Lag angeblich an falschen Pfadangaben beim Initialisieren.

  • Unabhängig von HC 0.14.
    Was vfw decoding von .avs betrifft.
    Ich meine gelesen zu haben dass 2.56 ein paar Macken hat. Installiere mal 2.55 und sehe ob die o.g. Apps immer noch abschmieren.

    VirtualDub, Qenc ( und ich meine auch CCE und Readavs.dll ). greifen auf die API Funktionen der avifil32.dll zu. dh. im c++ code wirst du z.B. AviStreamOpen(....................) finden eine der Funktionen jener dll. Damit kann man ebenso .avs served frames einlesen und an die libavcodec.dll weiterleiten (Qenc z.B. macht das). Das wird via AviStreamGetFrame() ermöglicht:
    http://msdn.microsoft.com/library/defaul…eamgetframe.asp

    Auf deutsch: vfw

  • Ich bin doch der, der sich dem "Fortschritt" bei den Betriebssystemen verweigert. Daher: Win98SE.
    Und wie gesagt, nach der Neuinstallation von AVISynth geht's ja jetzt. Ich verstehe zwar nicht warum, denn im Zusammenspiel mit den anderen Programmen hat sich gar nichts geändert, aber das muss ich wohl auch nicht verstehen. ;)

    Ich frage mich nur gerade, worüber TMPGEnc in der Vergangenheit die AVS-Files geöffnet hat, wo doch ReadAVS.dll gar nicht vorhanden war? Der DirectShow-Reader hat bei mir eine Priorität von -1, steht also ganz am Ende.

    Aber egal, ein kurzes Testencoding hat ergeben, dass die von ReadAVS geöffneten Files bitidentische Ergebnisse bringen.

    Nachtrag, da incredible jetzt dazwischen war: Ich hatte sowieso die 2.55 drauf.

  • Abgestürzt ist HC wegen AviSynth 2.56 nicht - aber total verschobene Bilder hat es gezeigt. "Zurück auf AviSynth 2.55" ist sehr zu empfehlen.

    Und die komplette Unterstützung von Windows 98 wäre auch eher fraglich, glaube ich.
    __

    TMPGEnc kann AVS auch über den kompatiblen AVI-Reader lesen, man muss nur erst mal die Dateisuchmaske beim Öffnen editieren (*.* oder *.avs).

  • IMHO egal was der Dshow Reader für eine Präorität hat, wenn er erkannt wird, dann wird er genommen, so auch AVI VFW compatibility Reader!

    Ich vermeide es gerne Dshow avs Streams decodieren zu lassen, so z.B. in TmpgEnc.
    Wer weiss, was sich da alles an Filtern dazwischen quetscht.
    In so vielen Foren hört man, dass manche Fehler von usern nicht nachvollziehbar sind, oder nur schwer. Denn was weiss man, was der Betroffene da alles an Dshow Filtern/Decodern im System hat.

    Ligh, ich nutze auch avs 2.56 und hatte bis jetzt nie Probleme, aber den Effekt von dir da oben kenne ich vom HC 0.14 auch.
    Ich vermute der HC hat da was eigenes am Start, denn der Qenc/Nuenc (auch vfw decoding) hat nie Probleme gemacht.

  • Bei dem jetzigen PC steig' ich nicht mehr um, da einiges von meiner Hardware nicht unter XP läuft (der Scanner z.B.). Früher oder später brauche ich eh alles neu, da mach' ich dann reinen Tisch. Ansonsten ginge bei mir nur eine Multibootsystem mit Win98SE UND XP auf dem PC, und den Ärger damit handle ich mir nicht ein. ;)

    Das mit den verschobenen Bildern bei HC + 2.56 habe ich im englischen Doom9 gesehen, sah ja schlimm aus.

    Nachtrag: Menno, seid Ihr schnell... :D

    LigH
    Ah ja, danke. ich wusste nicht, welcher Reader dann genommen wird und hätte auf DirectShow getippt. Aber jetzt, wo Du das geschrieben hast... hätte mir eigentlich auffallen müssen, dass ich seit einiger Zeit keine AVS mehr direkt öffnen konnte, sondern erst "all files" wählen musste. Die eingetragene ReadAVS lag im Verzeichnis von DVD2SVCD - und das habe ich vor einer Weile gelöscht.

  • @ Kika:

    Je öfter ich im englischen Forum Beiträge von dir lese, umso weniger glaube ich wirklich, dass du derart große Probleme mit der englischen Sprache hast! :daumen:

  • Doch, doch, die habe ich leider. Ich muss manche Sachen sehr einfach halten und kann manche Dinge nicht gut genug erklären. Und wie ich schon mal erwähnte: Ich kann Englisch ganz gut lesen, aber verstehen, sprechen und schreiben - argh, ohne mein digitales Leitz-Wörterbuch wäre ich vollends aufgeschmissen.

    Ich weiß z.B. einfach nicht, wie ich hank genau erklären soll, was ich bei dieser Min.-Bitrate-Sache von ihm will. Und außerdem hatte ich mich da etwas beim CQ-Modus vertan, der bei TMPGEnc ja eben nicht mit einer konstanten Qunatisierung arbeitet, sondern im Gegenteil, der passt ja den Quantisierer dynamisch an. Selbst CQ_VBR, der einem konstaten Quantisierer schon näher kommt, hat noch die Fähigkeit, das zu ändern.

    Aber inzwischen habe ich mehrere Tests mit dem HC gemacht und muss sagen, der ist verblüffend gut. Noch kann ich ihn mit TMPGEnc schlagen, aber wenn der sich so weiter entwickelt wie bisher...

  • Wie wird konstante Qualität berechnet... diese Frage habe ich Hori mal gestellt, als der noch auf Mails antwortete. Aber die Antwort war sehr verworren.
    Er hat wohl intern ein Messverfahren, das einen Mittelwert der Frames einer GOP bildet. Danach ändert er dann dynamisch die Quantisierung. Nach welchen Regeln er aber das tut, das hat er nie verraten.
    Es funktioniert jedenfalls sehr gut, wenn man den B-Frame-Bug korrigiert, was bei TMPGEnc in CQ oder 2pass CQ dadurch funktioniert, dass man die B-Spoilage auf 0 setzt. TMPGEnc neigt nämich dazu, den I-Frames zu viel und den B-Frames zu wenig Bitrate zuzuordnen - und das ergibt dann oft diese blöde Pumpen innerhalb einer GOP.
    Was ich mit Sicherheit sagen kann ist, dass TMPGEnc einen dynamischen und keinen statischen Quantisierer benutzt. Alles weitere, da müsste ich leider raten.
    Aber selbst wenn hank keinen dynamischen Quantisierer einbauen kann oder will, sollte es möglich sein, die Quantisierung dann zu ändern, wenn ein vorgegebenes Bitraten-Minimum unterschritten wird. Das ist eigentlich das, was ich gerne hätte.
    Ein Padding nutzt ja nichts, weil normale DVD-Authoring-Tools das eh wieder rausschmeißen und es bei elementary Streams - und solche erzeugt HC ja, auch gar nicht möglich ist, ein Padding einzufügen.

    Nachtrag: Oh, Mist, ich habe gerade festgestellt, dass ich in meinen AVS-Scripts die Lumarange wieder selbst anpassen muss, wenn ich HC benutze. Der hat all meine Encodings jetzt verhauen. Das AVS lieferte schon 16-235, und HC hat's komprimiert zu 32-219... Also alle Tests nochmal von vorn... argh! ;)

Jetzt mitmachen!

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