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

  • FFDShow Uncompressed YV12 wird jedoch einwandfrei eingelesen - auch wenn [lexicon]DXTory[/lexicon] den Header geschrieben hat.


    Im Übrigen klappt das einlesen mit FFVideoSource einwandfrei auch mit [lexicon]Lagarith[/lexicon]. ^^


    Anscheinend auch bei [lexicon]Lossless[/lexicon] Codecs wohl besser kein DirectShow zu nehmen ^^

  • Also inzwischen habe ich eine gute Balance zwischen Rendergeschwindigkeit und Dateigröße mit [lexicon]MeGUI[/lexicon] gefunden. Wenn ich aber meine Stimme direkt über [lexicon]DXTory[/lexicon] aufnehmen lasse, beide .wavs aus dem Video ziehe und beide einzeln kodiere, kann ich die ja nicht alle drei mit mkvmerge zusammenmuxen, denn beide Tonspuren müssten vorher kombiniert werden. Das ginge natürlich mit [lexicon]Audacity[/lexicon], ist mir aber ein klein wenig zu umständlich. Gäbe es da noch einen flotteren Weg, vielleicht auch über ein weiteres Programm?


  • Warum ist das umständlich xD


    Mein Gott :D

    Weil ich zum Beispiel viele Funktionen von [lexicon]Audacity[/lexicon] im Grunde nicht brauche. Die Timeline gar nicht und auch lässt sich mit dem Programm keine Qeue erstellen. Ich habe ja einfach nur gefragt, was es noch für Möglichkeiten gibt.

  • Und ich habe dir eine genannt. Schau am besten hier unter "Audiospuren", da wird das Mischen in Avisynth erklärt.

    Das hatte ich ja gelesen und mir auch angeguckt. Lediglich den Dank in meinem Post vergessen. Deshalb nochmal hier: Danke dafür. :)

  • Da finde ich aber das zusammmischen der Audio in AVISynth viel zu unübersichtlich. [lexicon]Audacity[/lexicon] bietet dabei die bessere Kontrolle drüber. Weshalb man auch das Ganze da macht.


    Empfehlung ist aber: Bildbearbeitung sollte über AVISynth -> [lexicon]MeGUI[/lexicon] laufen. Sofern du Audio bearbeitest, kannst du sofern die Programme es erlauben in [lexicon]WAV[/lexicon] wieder zu speichern alle Programme nutzen die du willst. Selbst Schrottasia wäre dann ne Option. Naja... blödes Beispiel xD Aber es geht damit auch ^^ Wichtig ist nur das du wieder in [lexicon]WAV[/lexicon] das ganze abspeichern kannst. ^^

  • Danke De-M-on für das gute Tutorial. Das hat mir sehr geholfen. Wenn man mal durchgestiegen ist durch das Programm, ist der Umgang wahnsinnig einfach und erzeugt eine super Qualität.


    :thumbup:

  • Wuhuu *-* Rat mal wer dank DIR jetzt seine Videos schnell und mit guter Qualität auf YouTube hochladen kann ?
    Richtig, Ich :D

    Einmal editiert, zuletzt von IsItWaterOrH2O ()

  • ---------------------------
    Error parsing avs file
    ---------------------------
    ImageReader: error 'File read error' in DevIL library
    reading file D:\Sazoga\CT\CT Fertig.png
    (D:\Sazoga\Thumbnail.avs, line 1)
    ---------------------------
    OK
    ---------------------------


    Das Script:


    ImageReader("D:\Sazoga\CT\CT Fertig.png", 0, 1, 1).Lanczos4Resize(1600,900)
    ImageWriter("D:\Sazoga\CT\CT Fertig encodiert.png", 1, 1, "png")



    Was soll das? -.-

  • Hab ich schon alles, hilft alles nichts



    //Edit Hab das Bild nochmal per [lexicon]Gimp[/lexicon] exportiert und dann gings, komisches MeGUI..

  • ImageReader("D:\Sazoga\CT\CT Fertig.png", 0, 1, 1).Lanczos4Resize(1600,900)
    ImageWriter("D:\Sazoga\CT\CT Fertig encodiert.png", 1, 1, "png")


    Hier wird ein Fehler begangen und das nicht grad beim Reader.


    Und zwars fängt das beim Image Reader so an:
    ImageReader(Clip, Start [lexicon]Frame[/lexicon], End [lexicon]Frame[/lexicon], FPS)


    Bei dir also: ImageReader("D:\Sazoga\CT\CT Fertig.png", start=0, end=1, fps=1)


    soweit so gut, du hast also 1 [lexicon]Frame[/lexicon] grad mal. Sprich 1 einziges Bild geladen damit. Nix weiter. Und möchtest nun ein Bild erzeugen von [lexicon]Frame[/lexicon] 1 bis [lexicon]Frame[/lexicon] 1 was natürlich 0 ergibt.
    Da du dir das sparen kannst, würde der Skript also bei ImageWriter so aussehen müssen:
    ImageWriter(file="D:\Sazoga\CT\CT Fertig encodiert.png", type="png")


    Da du dir Start und Endframe sparen kannst, weil dies dann zu einem Fehler führen würde, da du ja nur ein [lexicon]Frame[/lexicon] geladen hast mit 1 FPS.


    Zudem versuchst du mit ImageWriter("D:\Sazoga\CT\CT Fertig encodiert.png", 1, 1, "png") zum einen 1 Datei zu speichern, obwohl du eine Angabe von Start und Ende der Frames machst, was für eine Abspeicherung einer Bilderfolge erst notwendig wäre. Dazu müsstest du nicht file angeben, sondern path und nur den Ordner. Kein Dateinamen. Die Bilder werden dann durchnummeriert. ^^


    Zudem kannst du beim ImageReader die Angabe des use_DevIL machen. Ob der genutzt wird oder nicht. Schreibste einfach hinter der fps Angabe. Also (... fps=1, use_DevIL=false)...


    Um das mal zu zitieren wofür DevIL gut ist:

    Zitat

    When false, an attempt is made to parse (E)BMP files with the internal parser, upon failure (prior to v2.56) DevIL processing is invoked. When true, execution skips directly to DevIL processing. You should only need to use this if you have BMP files you don't want read by ImageReader's internal parser



    PS: Für den ImageWriter muss man das ganze nicht in [lexicon]MeGUI[/lexicon] encodieren. Da reicht es auch aus den Script nur senden zu lassen, indem man den Skript kurz in Virtual Dub zieht. Und schon ist das Bild auch da im entsprechenden Ordner. ^^

  • Aber so mach ich das immer, das Script ist von De-M-oN und jetzt geht ja auch wieder alles, trotz 0, 1, 1 :| Aber danke für den [lexicon]VirtualDub[/lexicon] Tipp, wobei ich dir nicht ganz folgen kann, is ja komplizierter als C++ xD

  • Aber so mach ich das immer, das Script ist von De-M-oN und jetzt geht ja auch wieder alles, trotz 0, 1, 1 :| Aber danke für den [lexicon]VirtualDub[/lexicon] Tipp, wobei ich dir nicht ganz folgen kann, is ja komplizierter als C++ xD


    Das ist nicht komplizierter als C++ ^^ Sondern einfache Logik anhand der Funktion die gegeben ist mit dem Befehl.


    Du hast ja dein Befehl:
    ImageReader("D:\Sazoga\CT\CT Fertig.png", 0, 1, 1)


    Das ist nix anderes als wenn im Skript steht:
    ImageReader(file = "D:\Sazoga\CT\CT Fertig.png", start=0, end=1, fps=1)


    Wenn die Reihenfolge der Inputs beibehalten wird, brauchst du keine Bezeichnungen schreiben wie start, end oder frame. Dann reichen auch die alleinigen Inputs dafür.
    Lässt du aber eines davon weg, musst du bei den darauf folgenden die Bezeichnungen wieder setzen.


    Beispiel:
    ImageReader("D:\Sazoga\CT\CT Fertig.png", end=1, fps=1)


    Hier wird der Startframe weggelassen, da dieser Standardmäßig sowieso 1 beträgt, alle weiteren Angaben muss ich aber angeben, weil wenn ich sonst nur 1,1 angebe ohne Bezeichnung würde das für Start und Endframe sein. Und somit ist es für Endframe und für die FPS angegeben.


    Bei ImageWriter hast du allerdings einen Fehler gemacht, sofern dieser danach folgt.
    Du hast halt versucht ein File, eine Datei zu erzeugen, aber dafür Start und Endframe angegeben. Das fürt zu einem Fehler, denn es ist ja keine Bildfolge die du ausgeben willst, sondern ein Bild nur. Da du nur ein [lexicon]Frame[/lexicon] besitzt und das mit einem Bild nur geladen ist, ist eine Bildfolge überflüssig. Wobei du ja auch nur ein File schreiben willst.


    Also Bilderfolge mit einem Pfad angeben und einem Start und Endframe und bei einer einzelnen Datei die du erzeugen willst, nur den Endframe angeben der erzeugt werden soll. Oder halt weglassen um den Standartmäßigen Endframe als Bild zu speichern ^^

  • Er will nurn Thumbnail skalieren und das geht mit dem Script so einwandfrei. Da brauch ich keine mehreren Frames.


    Jo, dann lasst doch den Start und Endframe einfach weg dafür ^^ Dein Bild beträgt doch eh nur ein [lexicon]Frame[/lexicon] mit dem gleichen Bild. Und eine ausgabe ohne sonstirgendwas.


    Demnach erstellt er auch nur ein Bild wenn das hier steht:
    ImageReader("L:\Test\Testaufnahme\Logo.png", 0,0, 1).Lanczos4Resize(1600,900)
    ImageWriter("L:\Test\Testaufnahme\Logo Neu.png", type="png")


    1 [lexicon]Frame[/lexicon] nur. Warum unnötig noch Frames dazudichten?

  • Eig. macht das Script doch nur einen Frame? Ist aber auch eh egal, da der performancegewinn wohl im nanosekundenbereich wär xD


    Das es nicht einlesbar war, lag an einem falschen Pfad im Script oder er hat versehentlich die PNG in [lexicon]MeGUI[/lexicon] geöffnet statt das Script. Aber höchstwahrscheinlich erstres der Fall.

Jetzt mitmachen!

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