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

  • Deswegen hatte mich das Material interessiert. Dass bei quasi Standbildern eine niedrige Bitrate ausreicht, sollte mehr als klar sein.

    Brauchst doch nur auf die Encodeeinstellungen gucken. Da steht CRF21, von daher isses CRF Encode.


    Aber ich würde nicht nur 1920x1080 auf youtube hochladen, das geht bei halbwegs komplexerem Material nicht gut aus.



    kann das video kann viel b-frames nutzen (GOP Max = 0)

    b-frames hat er auf 0. Aber ja bei inkomplexem material würden die nochmal ordentlich die Dateigröße reduzieren :D

  • Am Script dürfte es nicht liegen, ging ja 2 Jahre damit ohne Probleme aber hier ist es, 2014 ausgearbeitet mit Demon und Sagaras


    LoadPlugin("C:\xxx\xxx\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
    AVISource("D:\x\xxx.avi", audio=true).AssumeFPS(60000, 1001)
    ColorMatrix(mode="Rec.601->Rec.709")
    ConvertToYV12()
    Spline36Resize(2048,1152)

  • @UndiscoveredLP
    Die Frage ist jetzt was der Fehler genau ist? Woran scheitert es denn?
    Weil das Skript sieht ok aus, sofern du die Pfade zu den Dateien richtig angegeben hast für das Plugin, als auch für das Video.


    Bedenke halt das ColorMatrix ein YV12 oder YUY2 Input haben möchte.


    Wenn du YV24 hast, wäre die Nutzung von ManualColorMatrix Plugin vllt. eine bessere Option.


    Auf jedenfall sind Farbmatrix Werte nur für einen YUV Farbraum bestimmt und nicht für einen RGB Farbraum. RGB besitzt keine Farbmatrix.


    Den letzten Fehler den du mir in der Konversation gepostet hast war wie folgt:

    Code
    -[Error] MediaInfo
    --[Error] [05.08.2016 02:16:14] Error parsing media file D:\Downloads\Xur.avs
    ---[NoImage] ColorMatrix: input to filter must be YV12 or YUY2!
    ---[NoImage] (D:\Downloads\Xur.avs, line 3)


    Das Skript dazu haste ja etwas weiter oben gepostet:

    Code
    LoadPlugin("C:\xxx\xxx\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
    AVISource("D:\x\xxx.avi", audio=true).AssumeFPS(60000, 1001)
    ColorMatrix(mode="Rec.601->Rec.709")
    ConvertToYV12()
    Spline36Resize(2048,1152)


    Und jetzt vergleich mal. Zeile 3 und 4 in der Fehlermeldung von MeGUI weißt dich darauf hin was los ist und in welcher Zeile es ist im Skript.


    In Zeile 3 im Skript steht der ColorMatrix Filter. Der kann aber nur ein YV12 oder YUY2 Signal verarbeiten. Das heißt das in Zeile 2 wo du dein Video laden tust, es bereits in einem ganz anderem Farbraum vorliegt. RGB24/RGB32 oder YV24 vllt. Und schon haut das nicht hin.


    Du musst dem DebugMode oder Advanced Frameserver sagen das er in YUY2 oder YV12 ausgeben soll, damit das Ganze funktioniert im Skript.


    An deiner Stelle hätte ich aber vllt. noch mal einen anderen Weg eingeschlagen wo du im Endeffekt mehr raus bekommst.
    Hätte da 3 Varianten anzubieten.


    Variante 1:


    Code
    LoadPlugin("C:\xxx\xxx\MeGUI\tools\avisynth_plugin\ManualColorMatrix.dll")
    AVISource("D:\x\xxx.avi", audio=true).AssumeFPS(60000, 1001)
    Spline36Resize(2048,1152)
    ManualColorMatrix(2, 0.182586, 0.614231, 0.062007, -0.098397, -0.331015, 0.429412, 0.429412, -0.390037, -0.039375, 16, 128, 128)

    ManualColorMatrix müssteste dir dann erst noch downloaden dann.


    Aber dieser Weg ist um Längen besser, denn nun haste die Möglichkeit deine Videos in RGB vom Frameserver auszusenden, dann wird mit dem RGB Material skaliert, was weitaus effizienter ist als ein YUV Farbraum zu skalieren und erst dann in Zeile 4 wird auf YV12 mit BT.709 geändert.
    Das heißt das du somit mehr Möglichkeiten hast.


    Beachte das wenn du bereits in BT.709 aufnimmst, das Skript dir die Farben verfälscht, da es für eine RGB -> BT.709 Konversation gedacht ist.


    Variante 2:


    Code
    LoadPlugin("C:\xxx\xxx\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
    AVISource("D:\x\xxx.avi", audio=true).AssumeFPS(60000, 1001)
    Spline36Resize(2048,1152)
    ConvertToYV12() # <- Standard BT.601 conversion without parameters
    ColorMatrix(mode="Rec.601->Rec.709")

    Sieht deinem jetzigen nicht unähnlich aus, nur das die Reihenfolge optimiert ist. Immer erst Skalieren und dann den Farbraum ändern.


    Der Rest dürfte Klar sein denk ich.


    Beachte hier das die Farbmatrix bei der Aufnahme schon BT.601 sein muss, damit überhaupt auf BT.709 geändert werden kann. Ansonsten werden Farben verfälscht.
    Obwohl sie schon dank des TimeLine Programmes verfälscht werden könnten.


    Variante 3:


    Währe natürlich die Beste mitunter. Hier wäre aber der Verzicht auf das Timeline Programm erforderlich.
    Denn du hast folgende Ausgangs Situation mit deinem Timeline Programm:


    Aufnahme sei jetzt mal mit YV12 in BT.709


    Dann würde dein Timeline Programm es auf RGB umkonvertieren, da RGB einfacher zu Handhaben ist, genauer ist und vor allem viele Effekte somit anwendbar sind, da sie auf RGB geeicht wurden.


    Das heißt das die Information der Farbmatrix erlischt. Wenn du es jetzt wieder nach AVISynth schicken tust werden die Farben schon daher verfälscht, weil AVISynth, als auch der DebugMode Frameserver in BT.601 ausgibt (sofern YUV Übertragung ausgewählt worden ist), da es ja vorher eine RGB RAW Quelle ist im Timeline Programm.


    Ich weiß das ist recht verzwickt mit den Dingern und eigentlich kann man da nicht mal was ändern.


    Aber wenn du ohne ein Timeline Programm direkt das Video in AVISynth laden würdest, würdest du sowas halt vermeiden.
    Dann müssteste dir nur die Mediainfo von deinem Video zu Rate ziehen und passt das Skript explizit darauf an.



    Das Problem was du und wir hier momentan haben ist:
    A) wir haben noch keine Mediainfo deiner jetzigen Aufnahmen gesehen
    B) Wir wissen nicht was du im DebugMode Frameserver einstellst als Farbraum, denn darauf muss dann auch das Skript angepasst werden.
    C) Sofern das die einzige Fehlermeldung war, wäre halt nur noch A und B zu klären. Wenn nicht, solltest du uns eine komplette Log von MeGUI posten wo sich auch der Eintrag des Fehlers befindet. Ansonsten raten wir hier rum und wissen nicht was los ist.

  • Mal ne Frage an @De-M-oN :
    Wenn ich mein Video lokal nach dem Rendern spulbar haben möchte, muss ich dann in meGUI die GOP auf 1 stellen? Will das jetzt nicht ausprobieren auf meinem alten Rechner hier, da ich keine Lust habe, den am Ende ohne Ergebnis 2 Stunden rendern zu lassen^^

  • Hallo :)


    Kann mir jemand erklären warum die Processing Rate bei gleichen Einstellungen/Ausgangsmaterial je nach Video extrem schwankt ? Teilweise dauert ein 4min Video 45min also so ca 5fps/sek waren das glaube...


    Als ich mit kurzen Testclips verschiedene x264 Qualitäts Settings getestet hab waren es immer 9-13fps/sek...

  • Hallo :)


    Kann mir jemand erklären warum die Processing Rate bei gleichen Einstellungen/Ausgangsmaterial je nach Video extrem schwankt ? Teilweise dauert ein 4min Video 45min also so ca 5fps/sek waren das glaube...


    Als ich mit kurzen Testclips verschiedene x264 Qualitäts Settings getestet hab waren es immer 9-13fps/sek...


    Wie kann das Ausgangsmaterial das selbe sein wenn es ein anderes Video ist ?
    Also es schwankt je nach Video aber sagst es wäre das gleiche Material ?

  • die komprimierbarkeit ist aber doch trotzdem unterschiedlich. Und je schlechter komprimierbar das video ist, desto länger muss nach Ansätzen gesucht werden und der encode dauert somit länger. Wirst merken das ein desktopvideo zb erheblich schneller fertig sein wird. Auch Geschwindigkeit von HDD und Decoder beim quellvideo hat Einfluss drauf.
    Wenn man den aufnahmecodec also nicht auf volle threadnutzung gestellt hat, beeinflusst das natürlich auch den decoder und nicht bloß den encoder und dann isses natürlich auch keine verwunderung, wenn sich das quellvideo nicht flüssig abspielen lassen sollte.

  • Habe heute seit längerem wieder eine Aufnahme gemacht.
    Die wird auch gerade encodiert, ich hab nur einiges an Fragezeichen und befürchte das passt so noch nicht wirklich gut.
    Aufgenommen hab ich knapp 40min letsplay Mankind Divided, dazu hab ich Dxtory genutzt, allerdings zum ersten Mal statt Lagarith den MagicYuv, Aufnahme in FullHD und bei 30fps hab ich am Ende ne 120GB große Datei rausbekommen.


    1.
    Meine bisherigen Erfahrungen waren immer gut 1GB pro 1min Aufzeichnung, liegt das am Codec oder warum ist die Aufnahme jetzt noch viel größer?


    2.
    Fürs encodieren hab ich mir brav die Tutorialvideos zu sargaras scriptmaker und megui angeschaut.
    Im Video zum Scriptmaker wird erwähnt, dass es Sinn machen würde das Video in einer höheren Auflösung und mit mehr fps zu rendern um ne bessere Youtubequali zu erhalten.
    Teilweise wird in den Tutorials aber auch angesagt, das es keinen Sinn macht mit mehr als 30fps aufzunehmen, da youtube eh nicht mehr zulässt.
    Mehr als FullHD kann ich eh nicht aufnehmen.
    Macht es Sinn, die Auflösung beim rendern hochzuschrauben, und wenn ja von fullhd wohin?
    Macht es Sinn mit mehr als 30fps aufzunehmen? Falls ja, in dxtory lässt sich nach 30fps nur 60 einstellen. Ist es ein Problem, wenn ich die nicht konstant zusammen bekomm, d.h. wenn es auch mal während der Aufnahme auf unter 60fps einbricht (vermute nicht, aber lieber mal fragen ^^)


    3.
    Den Sound hab ich bisher nie encodiert, sondern als wav per Audacity bearbeitet und später mit dem fertig encodierten Video per MKVToolnix zusammengefügt. Spricht was dagegen das weiter so zu machen?


    4. Wieso denn in megui als Ausgabeformat nicht mehr mkv sondern rawavc? Hat das irgendwelche Vorteile? Kann ich dann überhaupt noch MKVToolnix weiter nutzen um meine Tonspur unterzubringen?


    Hoffe ihr könnt mir etwas Licht ins Dunkel bringen...


    schöne Grüße,


    Moraven


    edit: also mind. 41fps statt 30 scheint laut anderen Foreneinträgen ja sinnig zu sein und auch ne höhere Auflösung, 3200x1800 oder tuts auch weniger?
    Lieber gleich mit höheren fps aufnehmen statt auf 30fps und später auf 41fps hochrendern, oder?

  • Meine bisherigen Erfahrungen waren immer gut 1GB pro 1min Aufzeichnung, liegt das am Codec oder warum ist die Aufnahme jetzt noch viel größer?


    Ja, MagicYUV komprimiert längst nicht so stark wie Lagarith.



    Teilweise wird in den Tutorials aber auch angesagt, das es keinen Sinn macht mit mehr als 30fps aufzunehmen, da youtube eh nicht mehr zulässt.


    Dieses Tutorial wirfst du am besten gleich in die Tonne. ;)



    Mehr als FullHD kann ich eh nicht aufnehmen.


    Macht nichts, für so was gibt es entweder Skalierungsfilter oder aber Downsampling - falls dein PC das schafft.



    Macht es Sinn, die Auflösung beim rendern hochzuschrauben, und wenn ja von fullhd wohin?


    Bei 2048x1152 gäbe es die nächste Stufe der Bitrate, bei 3200x1800 noch mal die nächste. Teste für dich selbst, welchen Qualitätsanspruch du selbst hast und was besser aussieht. ^^



    Macht es Sinn mit mehr als 30fps aufzunehmen? Falls ja, in dxtory lässt sich nach 30fps nur 60 einstellen. Ist es ein Problem, wenn ich die nicht konstant zusammen bekomm, d.h. wenn es auch mal während der Aufnahme auf unter 60fps einbricht (vermute nicht, aber lieber mal fragen ^^)


    Je mehr FPS du aufnimmst, desto flüssiger ist das Bild am Ende, insofern nimm ruhig so viel wie möglich. Ins Feld kannst du zwar auch 53 FPS oder was ähnliches eintragen, aber wenn du 60 nimmst und während der Aufnahme nur 53 erreichst, ist das auch nicht tragisch.



    Den Sound hab ich bisher nie encodiert, sondern als wav per Audacity bearbeitet und später mit dem fertig encodierten Video per MKVToolnix zusammengefügt. Spricht was dagegen das weiter so zu machen?


    Höchstens die Dateigröße spricht dagegen, aber die Tonqualität ist natürlich bei WAV am besten. FLAC ginge auch, wäre gut ein Drittel kleiner, wird allerdings nicht von jedem Container unterstützt.



    3200x1800 oder tuts auch weniger?


    Wie gesagt, 2048x1152 wäre die Stufe darunter, allerdings gibt es bei 3200x1800 eine noch bessere Bildqualität. Testen und selbst entscheiden.



    Lieber gleich mit höheren fps aufnehmen statt auf 30fps und später auf 41fps hochrendern, oder?


    Sofern dein PC es schafft, gleich mit höherer FPS aufnehmen (gilt übrigens auch für die Auflösung). Nativ ist immer besser als über Filter. :D

Jetzt mitmachen!

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