Möglichkeiten das Enkodieren zu optimieren / beschleunigen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Möglichkeiten das Enkodieren zu optimieren / beschleunigen

    Anzeige
    Hallo liebes Lets Play Forum! :)

    Wie schon im Titel steht, suche ich nach einer (eventuellen) Möglichkeit die Enkodierung meiner Videos zu optimieren bzw. vor allem diese zu beschleunigen. Optisch gesehen ist da auf jeden Fall noch Optimierungspotential vorhanden, das ist mir klar. :P
    Es kann sein, dass dieses Thema schon schnell abgehandelt ist, weil ihr vielleicht sowas sagt wie z.B.: "Was hast du denn, die Zeit in der deine Videos enkodiert werden ist völlig in Ordnung!" Ich bin mir aber nicht sicher und frage deshalb nochmal nach. ^^

    Zunächst erstmal mein System:
    • AMD FX-8350 mit seinen standardmäßigen 4 GHz, also ohne OC
    • 24 GB 1600er DDR-3 RAM (Crucial Ballistix-Sport | 2x4GB und 2x8GB)
    • zwei Seagate ST1000DM003 (1 TB) Platten (eine fürs System und Daten, die andere für die Aufnahmen)
    • MSI GeForce GTX 970 Gaming 4G, 4GB
    • Windows 8.1 Pro 64 Bit

    Habs aufgelistet damit man keinen Link anklicken muss. Sollten noch mehr Daten benötigt werden, sollte man hier fündig werden: sysprofile.de/id131887

    Hier noch ein Test mit Crystal Disk Mark:

    Ich nehme momentan mit Fraps in HD 1080 und 60 FPS auf. Mein Kommentar wird mit Audacity aufgenommen.
    Geschnitten bzw. meistens eh nur das Gameplay (mit Ein- und Ausblendung in Form einer weichen Blende) und mein Kommentar zusammengepackt wird das Ganze mit Adobe Premiere Pro CC 2014. Also keine besonderen Effekte etc.

    Enkodiert wird dann mit dem (wohl nicht so beliebten) Adobe Media Encoder CC 2014.
    Ich finde es einfach angenehm mit den Programmen zusammen zu arbeiten, habe aber gelesen, dass der Media Encoder nicht gerade eine Meisterleistung darbietet.

    Meine Enkodiereinstellungen sind: H.264, 1920x1080, 60 FPS, VBR, 1 Duchgang, Ziel und maximale Bitrate 8 MBit/s, Sound: AAC, 256 KBit/s, 48 kHz, Stereo. Die MPE mit CUDA wird auch genutzt.

    Ich habe testweise mal ein 7 Minuten langes FIFA 15 Gameplay mit den Einstellungen enkodiert, als wäre es normales LP. Das Enkodieren hat 12 Minuten und 25 Sekunden in Anspruch genommen. Kann jetzt sein, dass ihr sagt, dass es doch nicht lange ist, bei einem 15-20 Minuten Video brauche ich dann aber gerne mal so über 30 Minuten.

    Die Grafikkarte wird während des Enkodierens nie beansprucht und CUDA somit nicht genutzt, das hatte mich erst stutzig gemacht. Ich habe CUDA in die CUDA-Liste für Premiere und Media Encoder eingetragen und nutze den neuesten Grafikkartentreiber. Nun habe ich aber gelesen, dass das in Premiere und Media Encoder verwendete H.264 Format CUDA gar nicht unterstützt. Mit dem Debugmode FrameServer und MeGUI oder dem NVidia GPU-accelerated H264-encoder plugin (forums.adobe.com/thread/1243687) habe ich bisher keine besseren Ergebnisse erzielen können, andere Videoformate habe ich allerdings auch schon getestet...

    Ich habe aber gelesen, dass es zumindest Leute gibt, deren Enkodierzeit für ihre Videos nur noch halb so viel wie die Videodauer betragen haben. So... ROMAN ZU ENDE! :D
    Gibt es also Möglichkeiten meinen jetzigen Enkodiervorgang zu beschleunigen, eventuell auch mit einer anderen Vorgangsweise, oder habe ich jetzt alles "umsonst" getippt und erwarte hier einfach viel zu viel? Wahrscheinlich schon, oder? 8o :D
    Wenn ja ist es egal, dann habe ich wenigstens Klarheit.. ^^

    Gruß
    Can

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von OBIGaming ()

  • Ich finde die Zeit in Ordnung, solange benötige ich auch ungefähr bei einem 15 Minuten Video. Wenn du VBR benutzt empfiehlt es sich einen 2 pass encode zu machen, nimmt aber mehr Zeit in Ansprch. Ich würde dir, wenn du die Qualität optimieren willst, empfehlen mit dem DebugFrameserver + MEGUI zu arbeiten (hast du ja bereits). MeGUI verwendet den x264 Encoder, der bis dato effizienteste Encoder in Hinblick auf Qualität und Dateigröße.

    ​Ich habe aber gelesen, dass es zumindest Leute gibt, deren Enkodierzeit für ihre Videos nur noch halb so viel wie die Videodauer betrgen. So... ROMAN ZU ENDE!


    Die rendern dann aber nicht in 1080p, zumindest habe ich es noch nicht geschafft ein Encode in dieser Qualitätsstufe in so einer kurzen Zeit zu rendern, ohne dass das Video danach nicht völliger Murks ist.

    ​Gibt es also Möglichkeiten meinen jetzigen Enkodiervorgang zu beschleunigen, eventuell auch mit einer anderen Vorgangsweise, oder habe ich jetzt alles "umsonst" getippt und erwarte hier einfach viel zu viel? Wahrscheinlich schon, oder?


    Mir würde jetzt spontan nur einfallen in niedrigerer Qualitätsstufe zu rendern. Du hast gesagt das du mit MeGUI bereits gerendert hast: Hast du dort auch die Einstellungen optimiert? Bin jetzt nicht auf dem aktuellsten Stand aber MeGUI hat bei mir schneller gerendert als der Media Encoder. Vllt. relativiert sich das aber wieder weil das Video durch den Frameserver geschliffen werden muss. Vllt. empfehlt sich ein kompletter Umstieg auf Avisynth + MeGUI, da du das was du bearbeitest auch damit machbar wäre. Deine Hardware ist ja denke ich noch relativ gut, sehe da jetzt auch nicht zwingend die Notwendigkeit aufzurüsten...
  • Ein schnellerer Encoder als der von Premiere verwendete MainConcept wäre auf jeden Fall x264. Allerdings liegen hier die Stärken eben in der Kompression und der Qualitätserhaltung, wenn du x264 also auf Geschwindigkeit einstellst, wirst du extrem große Dateien bekommen, die dann auch wieder länger hochladen. Wenn du FTTH hast und dir Upload somit egal ist, wäre das eine echte Alternative, zumindest habe ich es schon hinbekommen, ein 20-Minuten-Video in 2560x1440 mit HandBrake (nutzt auch x264) in nur vier Minuten zu kodieren. Allerdings war die Datei dann hinterher wirklich riesig. Müsstest du schauen, ob es dir das wert ist.

    Es gibt halt so ein Dreieck mit drei Aspekten, aus denen du dir zwei auswählen darfst.

  • Hab schon gehört, dass der x264-Encoder der momentan wohl effizienteste Encoder ist.

    Und ja das Dreieck trifft es halt wirklich ganz gut. :D

    FTTH habe ich leider nicht. :( :D Aber mittlerweile immerhin schon mal ne 50k Leitung mit einem Upload von 10 MBit/s. Hat lange gedauert, da ich einer richtigen Kleinstadt bzw. eigentlich einem Dorf wohne.. ^^

    Danke schon mal für eure Antworten. Ich probiere eure genannten Möglichkeiten aus und schaue mal, ob ich damit einen guten Kompromiss finden kann.
    Ich gebe dann natürlich auch nochmal Feedback. :)
  • Anzeige
    SSM für die Scripterstellung verwenden und Multithreading nutzen.
    Premiere weglassen, nur MeGUI verwenden:

    Speed++

    Wobei über 30min encodezeit zu meckern absolut lächerlich ist.

    Zu Premiere:

    Wenn du 10mbit upload hast, isses mir zudem ein absolutes Rätsel, warum du bei Premiere nur 8mbit bitrate benutzt.
    Und die max bitrate sollte erstrecht nicht begrenzt werden. Wozu?

    Mal eine frühere Erklärung von mir dazu:

    De-M-oN schrieb:

    erste 50% ist inkomplex, nächsten 50% sind komplex.

    Machen wir es mal total grob und sagen du gibst eine schnittbitrate von 6000 vor.

    die ersten 50% bekommen dann 3000 kbit und die anderen 50% des videos 9000.

    Doch jetzt kommst du mit einer max peak bitrate von zb 7000 an.

    Nun musser dem inkomplexen Teil mehr Bitrate aufdrücken, und hat für den komplexen Teil weniger über. Weil du ihm ja nicht erlaubst 7000 zu überschreiten.


    Außerdem sollte 2pass Encode in jedem Fall angehakt sein. (also 2 durchgänge)

    Hier auch nochmal ein früheres Zitat:

    De-M-oN schrieb:

    1 pass vs 2 pass:

    1pass kann er nur einen Anteil an Frames berücksichtigen für die Verteilung der Bitrate. Wenn du zb ein Video hast, wo hinten bei weitem höhere Komplexität ist, ala vegetation etc und am anfang ist vllt nur desktop, dann kann der encoder das halt nicht vorher wissen. Man kann dann nur grob ran gehen und die bitratenverteilung ist mehr gleichmäßig als sinnvoll verteilt.

    2pass jedoch wird im ersten durchgang das video analysiert, sprich informationen gesammelt über das video. So weiß der Encoder, dem ersten Teil kann ich weniger bitrate geben, und dem Ende kann ich entsprechend mehr bitrate geben. So hat der komplexe Teil dann mehr Qualität. Sowas fällt halt bei niederen Bitraten insbesondere auf:

    Hier mal ein extrembeispiel: Das Wäre mal 2500 kbit KONSTANTE bitrate:

    killerinstinct.ath.cx:2000/video/1920x1080-2500kbit-CBR.html

    Und hier einmal 2500 kbit, aber VBR und 2pass.

    killerinstinct.ath.cx:2000/vid…0-2500kbit-VBR-2pass.html

    Beim 2pass Encode sieht der Anfang zwar ein tick schlechter aus als bei CBR (also wenn doom beginnt), aber dafür erhebliche besserungen beim komplexen Teil (insbesondere bei Serious Sam sehr deutlicher Unterschied, aber auch bei Doom nach dem Teleporter in den helleren Bereichen vor allem), der komplexe Teil aber ja auch viel wichtiger ist, als der dunkelheitsbereich am anfang und es wird sehr viel verschwendet beim Desktopanteil am Anfang.

    Die Bitrate wird einfach sinnvoller verteilt.
    Aktuelle Projekte/Videos


    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von De-M-oN ()

  • OBIGaming schrieb:

    bei einem 15-20 Minuten Video brauche ich dann aber gerne mal so über 30 Minuten.

    Ich encode hier gerade 2 Videos, daher nutzt x264 nur 50% der CPU (GPU ist gerade ungenutzt bei 2%), ein 18 Minuten 720p-Video braucht (auf 2 von 4 Cores des AMD x4 631) hier also 1h30. Einzig mit einem i7 wärst du schneller... ;)
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • @De-M-oN: Ja, ich sagte ja, dass man darüber wohl nicht meckern kann. Wollte ja nur Sicherheit und das Bestmögliche rausholen. :P

    Das mit dem Begrenzen der Bitrate ist mir tatsächlich vorher einfach nicht so bewusst gewesen, danke für den Tipp. Und die 8 MBit/s daher, da ich erst seit kurzem eine Uploadrate von 10 MBit/s habe und es noch nicht geändert bzw. hochgeschraubt habe. Werde ich aber wahrscheinlich nun tun und dann wohl auch mal mit VBR 2. Wie viel MBit/s sollten es denn mindestens sein? Wie zum Beispiel eine neuere Premiere Vorgabe angibt 16 MBit/s oder gar noch mehr? :O

    Und ach ja, noch was.. Wie ist es denn eigentlich mit CUDA? CUDA wird bei der Enkodierung an sich nicht wirklich benutzt, sondern nur für bestimmte Effekte etc. , oder wie war das?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von OBIGaming ()

  • Ja, das stimmt natürlich schon, nehme ja auch lossless auf. :P

    Aber wie ist das denn nun mit CUDA im Media Encoder? So wie ich gehört habe, unterstützt der integrierte H.264 Codec CUDA gar nicht bzw. nur bei bestimmten Effekten?
    Und mehr RAM heißt ja auch nicht, dass man schneller enkodieren kann, sondern einfach nur dass man (je nach Aufteilung) mehr oder weniger Speicher für andere Anwendungen zur Verfügung hat, oder?
  • OBIGaming schrieb:

    aber 50 MBit's oder gar losless Material hochzuladen

    Eben deshalb lossless aufnehmen und das Video anschließend mit x264 kodieren, dann hast du extrem geile Videos, die für die Qualität, die sie haben, eigentlich nicht kleiner sein können! Und die haben dann keine feste Bitrate, sondern eine variable. Wenn eine Sekunde im Video 100 MBit braucht, kriegt sie die, und wenn eine andere nur 0,5 braucht, dann kriegt sie die.
    You like music? I like pissing.
    ~Corey Taylor

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Strohi ()

  • Ja, ist wohl offensichtlich besser.

    Edit:
    Danke nochmal für euren ganzen Erläuterungen und Ansichten. :thumbup:
    Ich sehe schon ein, dass es mit x264 auf jeden Fall besser, als meine bisherige Vorgehensweise, wäre. Allerdings werde ich zumindest vorerst bei meiner bisherigen Methodik bzw. bei dem angesprochenen NVidia GPU-accelerated H264-encoder plugin (forums.adobe.com/thread/1243687) bleiben und mir dann nochmal den Debugmode FrameServer mit MeGUI ansehen. :P

    Bis bald. :thumbsup:

    Gruß
    Can


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OBIGaming ()