MeGUI [2015] -- x264 - bester Encoder, beste Videoqualität auf Youtube ;-)

  • Ich verwende [lexicon]Ogg Vorbis[/lexicon]. Gibts da Probleme?

    Geht glaub ich nicht. Wenn du [lexicon]MP4[/lexicon] trotzdem bevorzugst, dann kannst du dir NeroAAC mal anschauen und in [lexicon]meGUI[/lexicon] nachrüsten - downloaden kannst du ihn über diesen Direktlink, oder hier über die Nero-Seite, falls der Direktlink nicht funktioniert.


    Brauchbare Einstellungen wären z.B. das hier:

  • Aber zumindest ALAC. Auch [lexicon]lossless[/lexicon]


    ALAC kann nur allein als Audiostream in ein M4A [lexicon]Container[/lexicon] kodiert werden. Zusammen mit einem Videostream in [lexicon]MP4[/lexicon] funktioniert das nicht.


    Anstatt ALAC gibt es ALS


    Den ALS (Audio [lexicon]Lossless[/lexicon] Coding) kann man sich hier runterladen: Download - Homepage



    Man kann es z.B. zusammen mit FFMpeg und einer Batchanwendung nutzen um [lexicon]MKV[/lexicon] Datein in [lexicon]MP4[/lexicon] Datein umzuwandeln, auch wenn die betroffende [lexicon]MKV[/lexicon] Datei halt [lexicon]FLAC[/lexicon] codiertes Audiomaterial hat.


    [lexicon]FLAC[/lexicon] -> [lexicon]PCM[/lexicon] -> ALS


    So der Weg. Ist besser dem ALS [lexicon]Encoder[/lexicon] reines [lexicon]PCM[/lexicon] zu geben. [lexicon]FLAC[/lexicon] kann der ALS [lexicon]Encoder[/lexicon] auch nicht direkt.


    Da ja alles [lexicon]Lossless[/lexicon] ist und bleibt, sollte es keine Verluste geben.


    So sieht meine Batchdatei z.B. aus im "Senden an" Verzeichnis:


    Ist jetzt nur ein Beispiel.



    ALS kodierte Audiostreams im [lexicon]MP4[/lexicon] [lexicon]Container[/lexicon] können wie gesagt auch Videostreams beherbergen.
    ALAC hingegen kann nur im M4A [lexicon]Container[/lexicon] unterkommen und hat somit keine möglichkeit mit Videostreams im selben [lexicon]Container[/lexicon] zu operieren. Ein reiner Audiocodec halt mit entsprechend reiner [lexicon]MPEG-4[/lexicon] Audiocontainer Dateiendung.



    SetMTMode(Mode, Threads)

    • SetMTMode nutzt alle Threads, sofern keine Threadangabe gemacht wurde.
    • Die Threadangabe muss im ersten SetMTMode Befehl stehen, da die Threadnutzung für das Encoding sich nicht ändern darf.
    • Welcher Mode wann mit welchen Filter funktioniert hängt vom Skript selbst ab. Werden massiv Overlay Befehle verwendet, so wäre ein Mode von 4 angebracht.


      Wichtig jedoch ist folgendes:
      Die Modes besagen nicht hauptsächlich ob es schneller oder langsamer damit wird. Die Modes stehen für die richtige Verwendung der Threads und [lexicon]CPU[/lexicon] Kernen mit den nachfolgenden Filtern im Skript.
      z.B. werden für Ladesequenzen wie AVISource, FFVideoSource, etc. der Mode 3 empfohlen. Ein höherer oder auch ein niedrigerer Mode kann unter Umständen zu einen Konflikt beim Encoden führen.


      Da der [lexicon]SSM[/lexicon] mehrere Videos jegwediger Codectypen, Bild und [lexicon]FPS[/lexicon] Angaben laden und auch verbinden kann, wird im [lexicon]SSM[/lexicon] Funktionen verwenden. Eine Änderung innerhalb solch einer Funktion mit SetMTMode ist wie als würde man x mal den Befehl wiederufen und ändern. Das bedeutet das im [lexicon]SSM[/lexicon] Filter wie Resizer, Hintergrundbilder, etc... (sprich alles was zum Laden noch verwendet wird um auch Videos anzugleichen) mit der Ladesequenz simultan laufen.
      Kurz: Ladesquenz arbeitet mit Mode 3. Demnach auch die Resizer.


      Nachfolgende Filter wie Tweak, [lexicon]Blockbuster[/lexicon] und Co. können dann wieder unabhängig mit anderen Mode betrieben werden.


      PS: Ich habe das schon oft gesagt und es ist auch von SET im Doom9 Forum so vermerkt das die MT Funktion in bestimmten Fällen ein Glücksspiel gleicht.


      @De-M-oN und ich hatten bei der Testphase mit der Unterbringung von [lexicon]AVISynth[/lexicon] MT in den [lexicon]SSM[/lexicon] auch Probleme eine recht Standardmäßige schnelle stabile Einstellung dafür zu finden. Auch haben wir Positionen im Skript getestet und auch ob es schneller oder langsamer wird dadurch. Bis Schlussendlich wir es so hatten wie es im [lexicon]SSM[/lexicon] momentan Standardmäßig nun ist.
      Es ist eine Vorgabe, kein Muss. ;D

    • Ist MT erst mal aktiv, so kann man es nicht mehr abschalten.
    • Die Funktionsweise ist klar vordefiniert.
      Zuerst gibt man den Speicher an, der für MT nutzbar sein soll. Kann auch weggelassen werden um den gesamten Speicher zu nutzen (MemoryMax)
      Dann erfolgt der erste SetMTMode Befehl mit oder ohne Threadangabe. Werden keine Threads definiert, so werden alle verfügbaren Threads verwendet die verfügbar sind.


      PS: Im [lexicon]SSM[/lexicon] kann man die Threadangabe übertriebenermaßen bis 32 einstellen. Hat kein normaler PC ;D


      Jeder Filter unter dem SetMTMode Befehl wird dann mit den jeweiligen Mode betrieben der angegeben wurde.


      Wenn ein weiterer SetMTMode Befehl erfolgt, gilt dieser für die darunter auftauchenden Filter.


      Die Threadnutzung bleibt jedoch immer Konstant und kann wie gesagt nicht im laufenden Skript geändert werden.


    Beispiel mit farblicher Hervorhebung für SetMTMode:


    SetMTMode(3, 4)
    AVIload("Test.avi")

    SetMTMode(2)
    Tweak(sat = 1.5)
    Seitenschnitt(4, 6, 4, 6)
    SetMTMode(1)
    FlipHorizontal()


    Function FPSausgleich(clip clip0) {
    return clip0.AssumeFPS(25, 1)
    }


    Function Seitenschnitt(clip clip0, int a, int b, int c, int d) {
    return clip0.crop(a, b, c, d)
    }


    Function AVIload(clip clip0) {
    return AVISource(clip0, false).FPSausgleich()
    }



    Ich hoffe man versteht es ^^


    Oftmals hat der Filter Overlay ein Problem mit MT. Hier würde ich zu SetMTMode(4) raten. Ansonsten kommt es zum Flackern des Bildes.

  • Hier nochmal die Frage wegen meiner WDC Green, sollte reichen oder ?


    Ich mach einfach mal ne Testaufnahme, wäre trotzdem interessant aus erfahrenen "Händen" zu wissen ob das wirklich reicht oder ob das mal eng werden könnte.


    Die Platte ist platt und da sollten sonst keine Zugriffe darauf stattfinden.


    Edit:
    Also zumindest was [lexicon]Need for Speed[/lexicon] Porsche angeht über nGlide in 2560x1440 bei 60 scheint das zu funktionieren mit [lexicon]MagicYUV[/lexicon]


    Gruss Dennis_50300

    Einmal editiert, zuletzt von Dennis_50300 ()

  • Kann man den mit [lexicon]Audacity[/lexicon] nutzen?


    Unter der Funktion "externes Programm" unter "Audio Exportieren" könnte man dies eventuell versuchen. Habe ich aber noch nicht getestet. Und ich glaube auch das dies nicht geht, da der ALS [lexicon]Encoder[/lexicon] keine Pipefunktionalität hat.


    Kannst dich aber gern dran probieren. Ich denke mal das es nicht klappt.


    mp4alsRM23.exe -MP4 "C:\Temp\Audio.wav" "D:\Fertig\Audio.mp4"


    Bei einer Pipefunktion müsste es dann so aussehen:


    mp4alsRM23.exe -MP4 - "%f.mp4"

  • Hab mir jetzt auch mal überlegt, dass ich von Mainconcept [lexicon]h.264[/lexicon] auf [lexicon]x264[/lexicon] umsteige.


    Einige Tutorials später hab ich mir glaube ich nen ganz guten Überblick gemacht. Jedoch eine wichtige Frage wurde von mir noch nicht beantwortet (hab zugegebenermaßen die 214 Seiten dieses Threads nicht alle gelesen :D).


    Aktuell sieht mein Workflow so aus:
    Aufnahme mit [lexicon]Lagarith[/lexicon] => Premiere CC (Endcard, VSD Plugins für die Tonspur, eventuell andere Effekte) => Queue erstellen => Encoden


    Alle Videos und Tutorials die ich bis jetzt gesehen habe zielten darauf ab, dass ich den [lexicon]Frameserver[/lexicon] nach dem Ecoden entweder manuell schließen muss für jeden Render oder in irgendeiner Einstellung nach jedem Encodevorgang den Dateinamen anpassen (bzw. die Datei [lexicon]muxen[/lexicon] musste damit sie nicht überschrieben wird von der nächsten Folge).


    Ist es möglich einen Ähnlichen Workflow mit [lexicon]x264[/lexicon] zu realisieren? Ob ich [lexicon]MeGUI[/lexicon] oder [lexicon]x264vfw[/lexicon] direkt in Premiere verwende ist mir ziemlich Wumpe. Mir gehts nur darum das ich ne Queue vorbereite und die durchläuft ohne das ich manuell neue Folgen starten muss.


    Danke schonmal für die Hilfe! :)

  • Du könntest [lexicon]x264vfw[/lexicon] direkt mit Premiere ausgeben. Dann allerdings nicht nach AVI, sondern in eine .h264 Datei und Audio machste halt nach AVI. Irgendwo ist dafür eine Einstellung. Die kannst du dann hinterher mit [lexicon]mkvmerge GUI[/lexicon] in eine [lexicon]MKV[/lexicon] Datei, oder mit mymp4boxgui in eine [lexicon]mp4[/lexicon] Datei zusammenpressen ;)

  • Kann ich dort denn ne Queue für alles erstellen? Hätte kein Problem damit für 5 Folgen 5mal die h264 und dann noch 5mal die Sounddatei in die Queue zu hauen und dann am Ende alles von Hand zu [lexicon]muxen[/lexicon]

  • Naja, ganz normal über die Queue Funktion von Premiere halt. Mit [lexicon]x264vfw[/lexicon] kannst du halt mit Premiere direkt [lexicon]x264[/lexicon] ausgeben. Irgendwo hier im Forum gibt es auch ein Tutorial anhand von [lexicon]Magix[/lexicon] gezeigt.

  • Ich sehe gerade dass du auch mit Vegas arbeitest. Soweit ich weiß konvertiert Vegas alle Videos in RGB, d.h. wenn du mit YUV4:2:0 aufnimmst,
    geht schon beim import in Vegas durch das konvertieren zu RGB etwas verloren, und dann renderst du wahrscheinlich wieder in YUV4:2:0 raus was nochmal etwas Qualität kostet.
    Also direkt in RGB bzw 'at it is' aufnehmen und dann nur am Ende beim [lexicon]Rendern[/lexicon] in den gewünschten Farbraum konvertieren.

  • Ich möchte kurz anmerken: Die B-Frames auf 0 Stellen ist keine gute Idee, wenn man auch schneidet. Macht sicher nur Sinn um schneller zu [lexicon]encodieren[/lexicon] wenn man eine vollständige Spur hat die man nicht anrührt. Ich habe einen einzigen Schnitt in der Episode und genau an dieser Stelle kann man auf YT nicht hinspulen (bzw dauert ewig zu laden) und Bild und Ton machen etwas vollkommen anderes als in der Timeline vor dem [lexicon]encodieren[/lexicon] angegeben.


    Ich vermute mal dass es daran liegt, dass es ohne B Frames keine Referenz gibt aus der sich der aktuelle [lexicon]Frame[/lexicon] Informationen über diesen Schnitt hinweg holen kann.


    2,5 Stunden dauert das [lexicon]rendern[/lexicon] einer 25 Minuten Folge. Bei euch auch so lang?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!