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

  • 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.


    Dein Skript da erzeugt 2 Frames ^^ Das 0te und das 1te ^^ Was halt überflüssig ist wenn es nur darum geht das Bild zu speichern.


    Auch muss der Skript nur einmal durchlaufen werden. Das reicht wenn die Vorschau für dieses Skript in [lexicon]MeGUI[/lexicon] angezeigt wird oder es in Virtul Dub kurz geladen wird. Dann wird schon die Datei erzeugt. Also kein Encoden oder sowas nötig. Das Skript muss nur geladen werden irgendwo und es muss korrekt sein der Skripttext ^^

  • Sagaras, das wissen De-M-oN und ich.. Ich ziehe das Script einfach immer bei Video Encode in den [lexicon]AviSynth[/lexicon] Script Pfad, schließe die Vorschau und fertig, ich encodiere doch nicht auch noch meine Thumbnails xD Nope De-M-oN, der Pfad war richtig, selbst als ich ihn auf Desktop geändert habe, ging es nicht. Und ich hab schon das AVS Script reingezogen, ganz blöd bin ich ja nicht ;) Wie gesagt, ich hab das Bild nochmal gelöscht und per [lexicon]Gimp[/lexicon] exportiert und es ging, allerdings warn diesmal alle Haken raus, standardmäßig sind beim PNG Export ja ein paar gesetzt.

  • Dann ist ja gut xD


    Und den Skript hab ich auch optimiert für Bilder. xD Sry. Ich bin irgendwie langsam auf so ein Trip, was den Skript angeht und wo alles korrekt sein muss und optimiert xD Ich bitte da etwas nachsichtig zu sein. xD Ist ja auch nicht böse gemeint xD

  • Aber selbst wenns 2 wären, der performancegewinn wäre quasi im nanosekundenbereich. Bei 30 frames gehts nahezu gleich schnell wie mit dem einen.


    Es geht nicht um den Performancegewinn, denn sobald das Skript geladen wurde ist die Datei da. Das ist voll Banane ob es 2 oder 3 oder 5 Frames sind. Ich hab ja auch nur gesagt das es unnötig ist ^^


    ImageReader("picture.png", end=0).Lanczos4Resize(1600,900)
    ImageWriter("new_picture.png", type="png")


    Ist doch viel kürzer. ^^


    Bei dir im Bild steht 1/1 Frames und deine Spulenanzeige steht auf Ende. Wenn es wirklich nur 1 [lexicon]Frame[/lexicon] wäre müsste da 0/0 Frames stehen und die Spulenanzeige dürfte sich gar nicht erst bewegen mehr ^^ Das macht dieser Skript den ich da eben hingeschrieben habe ^^


    Sieht dann in [lexicon]MeGUI[/lexicon] halt so aus in der Leiste oben:


    Das hat halt nix mit Performance zu tun, sondern der Skript ist viel kürzer und auch übersichtlicher. Bei zu vielen Angaben, verliert man doch mal die Übersicht irgendwann. Gerade wenn man sowas wie BlankClip(1800, 320,240,"YV12",30000,1001,48000,true,true,$0000FF) hinschreibt schaut doch keine Sau mehr durch und vllt brauch man auch nicht alles davon.
    Übersichtlicher und effektiver sind Schlüsselbezeichnungen anzugeben, damit ein anderer den Skript auch verstehen kann. Bei dem Beispiel wäre es:
    BlankClip(length=1800, width=320, height=240, pixel_type="YV12", fps=30000, fps_denominator=1001, audio_rate=48000, stereo=true, sixteen_bit=true, color=$00000FF)


    Wenn irgendwas davon nicht gebraucht wird kann man es rauswerfen. Ohne Schlüsselbezeichnungsangabe die FPS zum Beispiel rauswerfen aus dem oberen Beispiel würde die FPS auf 1001 stellen, den Denominator auf 48000 usw. Deshalb die Angaben eigentlich ^^


    Bei Animate und ApplyRange können keine Schlüsselbezeichnungen verwendet werden, was das ansprechen der zu gebrauchten Schlüsselelemte erschwert. Weil dort kommen nur Argumente rein. Da macht es wieder mehr Sinn Funktionen zu benutzen ^^

  • Ich hab ein kleines Problem mit meinem [lexicon]MeGUI[/lexicon] [lexicon]Frameserver[/lexicon], nachdem das Video fertig encodiert ist hat es keinen Ton, auch finde ich keine Sound File die ich mergen könnte. :(
    Ich wette da gibt's ne ganz simple Lösung und ich bin einfach zu blöd, aber ich selber finde nix und mit der SuFu hab ich auch nix gefunden!
    MFG InskayDanork

  • Hast du im Feld Audio Input eine Audio Datei bzw. (falls Audio= true im AVS Script) das AVS Script? Wenn das encodiert werden soll, musst du es auch mit "Queue" in die Jobliste eintragen. Nach dem [lexicon]Encodieren[/lexicon] dann Audio und Video mit MKVMerge muxen.

  • AVISource("E:\MeGui\tm21fs.avi", audio=true).AssumeFPS(30)
    ConvertToYV12()
    Das stand in dem Script, und das ich es nachher [lexicon]muxen[/lexicon] muss ist klar, abe wie gesagt findet sich da keine Datei für.

  • Wo hast du denn deine Audiospur? Extern als [lexicon]WAV[/lexicon] Datei? Oder Intern in der AVI Datei? Wenn du eine Externe [lexicon]WAV[/lexicon] hast, musst du diese entweder Solo encodieren lassen in [lexicon]MeGUI[/lexicon] mit den dazugehörigen Schnittdaten vom dazugehörigen Video oder du trägst im Skript zusätzlich noch ein:


    AVISource("E:\MeGui\tm21fs.avi", audio=false).AssumeFPS(30)
    s=WAVSource("E:\MeGui\tm21fs.wav")
    AudioDub(s)
    ConvertToYV12()


    Damit nimmst du eine externe [lexicon]WAV[/lexicon] Datei für dein Video. Solltest du eine externe Audiospur haben. Beim laden der AVS Datei wird dann im oberen Bereich von [lexicon]MeGUI[/lexicon] nun das Video geladen und unten die Audiospur. Du musst beides in Auftrag geben dann.
    Das schneiden über den [lexicon]AVS Cutter[/lexicon] erfolgt bei dem Skript hier parallel für Audio und Video.

  • Kurze Frage: Kann man nicht mehr [lexicon]MP4[/lexicon] als File Format bei [lexicon]MeGUI[/lexicon] auswählen? Wenn nicht, gibt es zufällig einen Woraround dafür?
    Ich hatte es bis jetzt immer so gehandhabt, das Video als [lexicon]MP4[/lexicon] auszugeben, den Ton als [lexicon]OGG[/lexicon] und dann zu [lexicon]muxen[/lexicon]. Habe dann, falls ich die fertigen Videos wegen etwas Bestimmtem noch brauchte, die [lexicon]MP4[/lexicon] und OGG-Dateien noch behalten, da Premiere Elements leider kein [lexicon]MKV[/lexicon] unterstützt :/


    Danke schon einmal im Voraus.

  • Wenn du eine [lexicon]MP4[/lexicon] möchtest, musst du logischerweise einen [lexicon]MP4[/lexicon] Muxer nutzen und nicht mkvmerge.
    Auto-Encode beherrscht aber immer noch [lexicon]MP4[/lexicon], womit du dir auch das manuelle Muxen sparen würdest.

  • Update: Ich habe keine Ahnung wieso, aber nachdem ich [lexicon]MeGUI[/lexicon] nochmal neu installiert habe läufts, allerdings nur mit dem AVISource Befehl,
    und nicht mit dem FFVideoSource, ich benutze dabei dieser Script:
    LoadPlugin("E:\MeGui\MeGUI\tools\ffms\ffms2.dll")
    FFVideoSource("E:\MeGui\tm24fs.avi")
    Es kommt dann der "Keine Objektinstanz bei Objektverweis" Error, aber ich finde den Fehler im Script nicht, kann mir wer helfen?

  • @Lukeohl


    Einfach das Video als .264 (RAWAVC) encodieren und dann mit den in [lexicon]MeGUI[/lexicon] integrierten Muxern in eine [lexicon]MP4[/lexicon] (fürs Archivieren) und in eine [lexicon]MKV[/lexicon] (zum Hochladen) [lexicon]muxen[/lexicon].




    @InskayDanork


    Versuche es mal folgendermaßen:


    Code
    LoadPlugin("E:\MeGui\MeGUI\tools\ffms\ffms2.dll")
    return FFVideoSource(source="E:\MeGui\tm24fs.avi", threads=2)
  • ... ist ja nicht so, als ob man die [lexicon]MP4[/lexicon] nicht sowieso hochladen könnte, wenn man dann ein entsprechendes Audio Format nutzt.

  • Nein, hört auf xD Nicht alles neu machen xD


    Erst mal:

    Code
    LoadPlugin("E:\MeGui\MeGUI\tools\ffms\ffms2.dll")
    return FFVideoSource(source="E:\MeGui\tm24fs.avi", threads=2)


    ist viel zu viel ;D Ein Return muss nicht angegeben werden, sofern keine Funktion oder andere Bedingung etwas mit dem Video anstellt.
    Return ist nur eine Rücksendung der jeweiligen Variable an den Skriptsender.
    Vorläufig gerne in Funktionen zu finden ;D
    Hier jetzt muss er also nicht angegeben werden, da überflüssig. Weil das Video ja schon ausgegeben wird.


    Code
    LoadPlugin("E:\MeGui\MeGUI\tools\ffms\ffms2.dll")
    FFVideoSource(source="E:\MeGui\tm24fs.avi")


    reicht also wenn es so da steht. Eine Löschung der Indexdatei zum besagten Video kann Hilfe verschaffen. Eine Objektinstanz kann nicht erzeugt werden, wenn das betroffene Video mit dem Ladeprozess nicht geladen werden kann. Darum mal eine [lexicon]Mediainfo[/lexicon] zur Datei angeben die geladen werden soll. Eventuell fehlt der Header des Videos.

  • Eventuell fehlt der Header des Videos.


    Ich nutze einen [lexicon]Frameserver[/lexicon], falls das wichtig ist?^^
    (Vermutlich ja, warum hab ich das erst jetzt gesagt? *Facepalm*)

    Einmal editiert, zuletzt von InskayDanork ()

  • Ich nutze einen [lexicon]Frameserver[/lexicon], falls das wichtig ist?^^
    (Vermutlich ja, warum hab ich das erst jetzt gesagt? *Facepalm*)


    Dann liegt das vermutlich daran das die betroffene AVI Datei nicht indexiert werden kann, da Faik Datei glaub ich. Demnach kann diese so nicht geladen werden. Ich weiß es jetzt selbst nicht, aber ich kann mir das gut vorstellen. Was nutzt du denn? [lexicon]Sony Vegas[/lexicon] oder sowas? Wenn die AVI nicht abgespielt werden kann oder entsprechend klein ist, da diese auf andere Datein verweist kann mit FFDVideoSource nicht indexiert werden glaub ich. Dann musst du wohl AVISource nutzen.


    Generell wäre es hilfreich zu wissen was du vorhast ^^

Jetzt mitmachen!

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