x264 VFW Codec für das direkte Encoding nach dem Schnitt mit VirtualDub noch sinnvoll

  • 1. MP4Box: vermutlich statisch compiliert, enthält alle Funktionen in der EXE


    2. MP4Box: dynamisch compiliert, lädt benötigte Funktionen aus mehreren DLLs. Addiere mal die nötigen zur EXE...


    3. Vergleiche mal mit einer aktuell statisch compilierten MP4Box aus der media-autobuild_suite oder aus MeGUI.

  • Der geloggte Hinweis (gleich oben), dass QAAC anscheinend das Audio-Eingangsformat nicht mag, wäre schon mal interessant um nachzuforschen, welches Audio-Format VirtualDub denn von dem Clip bzw. Skript erhält; zeig auch mal File - Info mit an.

  • Anmerkung:
    Die Video- und Audiospur, liegen jeweils einzeln vor!

    MediaInfo von der Videospur:
    http://img.xrmb2.net/images/615958.png

    MediaInfo von der Audiospur:
    http://img.xrmb2.net/images/575684.png
    Das ist ganz Simples Audio: WAV 2.0 ;-)


    Mein AviSynth Script:

    Code
    1. LoadPlugin("C:\AviSynth\L-SMASH\LSMASHSource.dll")
    2. LoadPlugin("C:\AviSynth\NicAudio 2.0.6\NicAudio.dll")
    3. V = LWLibavVideoSource("G:\K.mkv")
    4. A = RaWavSource("G:\K.wav")
    5. AudioDub(V, A)
    6. AssumeFPS(23.976)
    7. ConvertToYV12()


    So sieht das ganze unter VirtualDub aus: (File Information)


    Lässt sich aufjedenfall Prima unter VirtualDub absspielen :-)


    Kurze frage zu dieser QAAC Quicktime Geschichte...
    Wiso wurde die BeSweet Geschichte oder die Nero AAC Encoder Methode,
    durch Ablösung der QAAC Quicktime DLL Pakete Methode (vollständig) ersetzt?

  • Wie-so? ... Weil's besser ist.


    Allerdings eher akademisch. In den Hörtests von Roberto Amorim waren die AAC-Encoder von Nero und QuickTime schon recht ähnlich, und die sind schon 10 Jahre her. Ein etwas aktuellerer AAC-Vergleich von IgorC zeigt, dass andere Hersteller den Nero AAC-Encoder bei einer Zielbitrate von 96 kbps bereits qualitativ überholt haben. Aber die Abstände sind gering, und alle Testkandidaten sind mit Abstand besser als der experimentelle freie AAC-Encoder in ffmpeg.


    Aktuelle Versionen des CLI-Frontends QAAC können übrigens auch AviSynth-Skripte selber verarbeiten.

  • Wie bekomme ich den Export?


    Das wurde bereits mehrfach beantwortet, durchsuche einfach das Thema noch einmal.


    Jetzt aber ;-)
    Hier nochmal der ganze Export Dialog in Text Form:


    VirtualDub-Export_x264+QAAC_im_MP4_Container.vdprof




    Haben wir´s jetzt ;-)


    Dazu gibt es später, noch ein kleines Video, wie der neuste Prozess unter VirtualDub abgelaufen ist...
    Diesmal wurde ein neues "Encoder Set 2 (Test nur Video)": angelegt, wo das Audio erstmal ausgelassen wird!
    Das x264 Encoding, scheint schon mal zu klappen... (Siehe kurze Video Aufzeichnung)
    Was mir selber aufgefallen ist, das die Frames in folgenden Schritten codiert werden...
    Hier ein kleiner Auszug aus der Log:
    35 / 40 / 43 / 48 / 52 / 61 / 62 / 67 frames ... (abgearbeitet)
    Werden hier Frames übersprungen oder im Schlimmstenfall sogar ausgelassen?
    Gesund, sieht mir das nicht aus!
    Und am Schluß folgt ein Fehler, das es mit dem Container muxxen, nicht geklappt hat :-(


    http://img.xrmb2.net/images/964461.png




    Wie-so? ... Weil's besser ist.


    Allerdings eher akademisch. In den Hörtests von Roberto Amorim waren die AAC-Encoder von Nero und QuickTime schon recht ähnlich, und die sind schon 10 Jahre her. Ein etwas aktuellerer AAC-Vergleich von IgorC zeigt, dass andere Hersteller den Nero AAC-Encoder bei einer Zielbitrate von 96 kbps bereits qualitativ überholt haben. Aber die Abstände sind gering, und alle Testkandidaten sind mit Abstand besser als der experimentelle freie AAC-Encoder in ffmpeg.


    Aktuelle Versionen des CLI-Frontends QAAC können übrigens auch AviSynth-Skripte selber verarbeiten.


    Das ist ja Minimal!
    Never Change a Running System, oder wie heißt es so schön ;-)
    Spricht also nichts dagegen, BeSweet oder die Nero AAC Encoder Methode,
    weiter zu verwenden?...

  • Außerdem erwartet es .wav-Ausgabe. Für den Audio-Encoder gibt es bei Virtual Dub einen extra Reiter, wo Du auf "WAV file" umstellen kannst.


    Jetzt aber!



    Danke, es läuft jetzt, wie es sein soll :-)
    Das erklärt auch, warum beim letzten Test, der H264 Videostream von MP4Box,
    nicht in den MP4 Container geschrieben werden konnte...
    Ohne Audioausgabe, müßte man noch die entsprechende Befehlszeile ändern!


    VirtualDub-Export_x264-(Ohne.Audiospur)_im-MP4-Container.vdprof




    Übrigens, was hälst du von folgender Einstellung in VirtualDub,
    die mir aufgefallen ist, das sie (eventuell) nicht ganz korrekt ist...


    Wäre es nicht besser den Punkt bei "Buffered - slowest, but most compatible" zu setzen?

  • Übrigens, was hälst du von folgender Einstellung in VirtualDub,
    die mir aufgefallen ist, das sie (eventuell) nicht ganz korrekt ist...


    Wäre es nicht besser den Punkt bei "Buffered - slowest, but most compatible" zu setzen?


    Das wäre Unsinn, weil es da um Kompatibilität mit Windows 9x (MME-Dateizugriff) geht. Unter Windows NT (also auch XP, Vista, 7 ...) sollte man auf jeden Fall die asynchronen NT-Dateifunktionen nutzen.

  • Die Einstellungen findest Du unter Options->Externel encoders.
    Einfache Kommandozeile für x264:
    --demuxer raw - --input-res %(width)x%(height) --fps %(fpsnum)/%(fpsden) -o "%(tempvideofile)" --crf 23 -o video.mkv


    das funzt mit der x264-10bit version, danke...
    habs aber nun mit den gleichen parametern mit der x265.exe probiert, aber da klappts nicht wegen pipe-error...
    müssen andere parameter her oder gehts grundsätzlich nicht mit x265 ?

  • x265 ist nicht das selbe wie x264.


    x265 hat nicht komplett die selben Parameter wie x264.


    Im vorliegenden Fall kann x265 weder MKV ausgeben (weil es keinen Multiplexer integriert hat) noch mit dem "demultiplexer"-Parameter etwas anfangen (weil es sowieso nur rohes YUV oder Y4M lesen kann).


    Ich weiß nur von einer erweiterten Version, die L-SMASH integriert hat, um MP4 auszugeben. Die meisten Binaries erzeugen aber nur einen rohen HEVC-Videostream.


    Für x265 wäre also eine geeignete Eingabezeile vermutlich (ungetestet):


    Code
    1. - --input-res %(width)x%(height) --fps %(fpsnum)/%(fpsden) -o "%(tempvideofile)" --crf 23


    Geeignete Dateiendungen wären z.B. ".hevc", eventuell auch ".h265" oder ".265".
    __


    Ich sehe gerade, das Zitat ist falsch zitiert. Da sind zwei Ausgabedatei-Parameter drin, das hat sneaker2 so aber nicht geschrieben (nur -o "%(tempvideofile)" drinlassen, -o video.mkv gehört da nicht rein).


  • Ich sehe gerade, das Zitat ist falsch zitiert.


    ja hast Recht, ich habe einfach stattdessen meine eigene Kommandozeile rauskopiert...
    deine Zeile funktioniert bestens jetzt mit der x265.exe, vielen Dank :)


    Noch eine kleine Frage... ich glaube irgendwo gelesen zu haben daß die übliche Norm-Quali crf 20 so ähnlich sein soll wie crf 28 bei x265, käme das hin ?

  • Lies doch einfach mal die Hilfeausgaben der Encoder. Standard-Ratecontrol-Modus ist CRF in beiden Fällen, denn für die anderen Modi gibt es keinen (bedeutungsvollen) Standardwert:


    x264 --fullhelp


    Code
    1. ... --crf <float> Quality-based VBR (0-51) [[b]23.0[/b]]...


    x265 --log-level full --help


    Code
    1. ...
    2. --crf <float> Quality-based VBR (0-51). [b]Default 28.000000[/b]
    3. ...
  • Hallo,
    ich versuche gerade nach dieser Anleitung hier auch die externen Encoder für mich nutzbar zu machen. Ich habe die Konfiguration von H264x importiert und die Pfade entsprechend angepasst. Video encodieren funktioniert auch, nur bei Audio kommt eine Fehlermeldung. Im Logfile steht dann:


    AudioEnc: ERROR: 193: CoreAudioToolbox.dll
    .
    .
    Video Encoder Logausgaben
    .
    .
    Error: The audio encoding process has prematurely exited with an error code of 2 (00000002). Check the log for possible error messages.


    Die ganze Logausgabe ist im Anhang. Im Edit-Fenster vom Audio Encoder ist auf "WAV" umgestellt. Die DLL-Datei ist auch auf dem Rechner vorhanden. Quicktime 7.7.1 ist installiert (brauchte ich für QTimport). Anbei auch noch das Script, ist etwas ganz einfaches nur zum ausprobieren. Hat vielleicht jemand eine Idee woran das liegen könnte?