AviSynth und CUDA / oder: Optimale Komprimierbarkeit für YouTube

  • Nachteil der ganzen Angelegenheit ist natürlich eine geradezu irrsinnige Verschwendung von Upload-Bandbreite. Aber wenn's schee macht...


    Man sollte natürlich die Möglichkeit einen höheren Farbraums auch eher dann in betracht ziehen wenn man bereits alles andere ausgeschöpft hat und seine Qualität noch weiter erhöhen möchte.
    Oder man einen Sonderfall wie Sagaras wo man von einer extrem niedrigen Auflösung hochskaliert
    Also 1800p, 10 Bit, Motion Blur, andere Resizer...

    Was mir irgendwie immer noch fehlt, ist eine klar definierte Ausgangslage. Bei welcher Auflösung beginnen wir denn hier? MS-DOS-Spiele in Standard-VGA-Auflösung?


    Das kann mal leider nicht sagen, da wir hier von mehreren hundert Leuten ausgehen müssten und von etlichen verschiedenen Spielen xD
    Aber im Normalfall kann man ausgehen das die schlimmste Skalierung von 720p auf 1800p ist.
    Das von Sagaras fällt halt wieder unter denn Bereich der Sonderfälle, genau so mein Versuch mit YV24, aber genau diese Sonderfälle, auch wenn es nicht viel Leute sind, versucht man mit ein zu beziehen,

    Wenn ja, wäre PointResize() "das schärfste, was Ihre Majestät zu bieten hat" (entschuldigt den kleinen DiNozzo am frühen Morgen). ;D — aber woher käme dann das Rauschen, dass man mit NLMeans glätten wollte? Oder wofür sei das dann gut?

    Zudem würde mich mal interessieren was genau der NLMeansCL2, da sind wir nicht so genau bisher hinter gekommen.


    Ich glaub mehr muss ich nicht dazu sagen xD

    Wenn nicht, könnte man alternativ auch darüber nachdenken, mit NNEDI3_rpow2 die Bildfläche mit "Edge Directed Interpolation" aufzublasen, für schöne Kanten, und danach auf das gewünschte Ziel zu verkleinern.


    Hier besteht dann wieder das Problem das die Geschwindigkeit extrem einbricht.
    Bei 720p zu 1800p fällt dann die Encod-Fps von 4.81 Fps auf 1.59 bei dem vergleich von Spline 100 zu Spline 16 rf 2...
    Wodurch es in einem Normalfall (720p - 1800p) nicht zu gebrauchen ist, zudem Schärfe auch nicht immer das beste ist xD
    Aber hei wenn du dir mal das Programm angeguckt hättest, hättest du gesehen das nnedi3 (rpow2) mit dabei ist :D

    Aber von GPU-Unterstützung führt das dann eher noch weiter weg.


    Deswegen war auch einmal die Frage von mir, wenn wir nur Resizer und Motion Blur nutzen, welche Möglichkeit es gibt um das über GPU zu beschleunigen, da es wahrscheinlich keine weiter Möglichkeit gibt mehr Geschwindigkeit über CPU rauszuholen...

    entschuldigt den kleinen DiNozzo am frühen Morgen


    Ähm denn was? xD
    Ach egal, vielleicht finden man ja dadurch noch einen Weg uns zu helfen :D

    P.s. Ich bin ja momentan dabei verdammt viel Videos hochzuladen, man mann dann sehen kann wie sich was auf Youtube auswirkt...
    Also wie sich die Einstellungen des x264 und Avisynth auswirken, also auf Geschwindigkeit, Dateiengröße und Qualität...
    Ich weiß halt nicht wie interessant das für Leute aus dem Forum hier ist und ob die Leute Spaß dran haben sowas zu analysieren xD
    Aber wenn ich mit sowas an das Forum herantreten möchte an welche Bereich sollte ich mich dann an besten wenden?
    Gerad da hier sehr viel auch mit qp=0 gearbeitet wurde, damit man dann nur die Einwirkung der Presets, Resizer, etc sehen kann

  • Ähm denn was? xD

    Navy CIS – Special Agent Anthony "Toni" DiNozzo: Arroganter Schwerenöter italienischer Abstammung, mit Filmzitate-Datenbank im Kopf...
    __

    NLMeansCL2 ist eine OpenCL-Adaption von TNLMeans, einem Rauschfilter von tritical.

    Non-local means ist (stark vereinfacht ausgedrückt) eine Technik, die Mittelwerte nicht nur mit Blick auf die direkte Nachbarschaft jedes Pixels berechnet, sondern dabei den Inhalt größerer Umgebungen bis hin zum gesamten Bild berücksichtigt. In einem Bereich, der sehr geringen Kontrast aufweist, ist es wahrscheinlich, dass feine Strukturen ohnehin nur Rauschen darstellen und durch Weichzeichnen erwünscht unterdrückt werden können. Anders in Bereichen, in denen starke Kontraste vorkommen: Hier sind feine Strukturen wahrscheinlich eher wirklich Struktur, dort dürfen sie nicht so stark weichgezeichnet werden.

    Video zur Erklärung (37 min)

  • Navy CIS – Special Agent Anthony "Toni" DiNozzo: Arroganter Schwerenöter italienischer Abstammung, mit Filmzitate-Datenbank im Kopf...

    Joa man sollte auch erstmal wach werden wenn man versucht sowas zu lesen xD
    Aber klar denn guten alten Toni kenne ich natürlich xD

    NLMeansCL2 ist eine OpenCL-Adaption von TNLMeans, einem Rauschfilter von tritical.


    Ok damit fällt dann alles was momentan mit GPU zu tun hat weg... schade...

    Non-local means ist (stark vereinfacht ausgedrückt) eine Technik, die Mittelwerte nicht nur mit Blick auf die direkte Nachbarschaft jedes Pixels berechnet, sondern dabei den Inhalt größerer Umgebungen bis hin zum gesamten Bild berücksichtigt. In einem Bereich, der sehr geringen Kontrast aufweist, ist es wahrscheinlich, dass feine Strukturen ohnehin nur Rauschen darstellen und durch Weichzeichnen erwünscht unterdrückt werden können. Anders in Bereichen, in denen starke Kontraste vorkommen: Hier sind feine Strukturen wahrscheinlich eher wirklich Struktur, dort dürfen sie nicht so stark weichgezeichnet werden.

    Video zur Erklärung (37 min)

    Auf was beziehst du dich hier gerade?

  • Darauf, was NLMeans-Filter eigentlich tun. Es gibt für AviSynth kaum so viele verschiedene Filter in einer Kategorie wie "Rauschfilter", und alle arbeiten irgendwie ein wenig anders...

    Naja das es halt ein Rauschfilter ist, wüsste ich jetzt nicht wann man sowas gebrauchen würde in denn Fällen die wir arbeiten...
    Da wir halt schon eine Lossless Aufnahme haben und sie zu ersten mal bearbeiten.
    Dementsprechend solden Resizer und Filter keine großen Störfaktoren erzeugen.

  • Nun ja, das hängt eben stark von der Skalierungsfunktion und vom Skalierungsfaktor ab. Außerdem vom Bildinhalt. Ob du von VGA-Auflösung und reduzierter Palette, oder von FullHD-Auflösung reine 3D-Welten mit bilinear gefilterten Texturen mit oder ohne Detailtexturen und mehr oder weniger Antialiasing, oder FullHD-Auflösung mit feinen scharfen GUI-Elementen und Texten, auf deine Zielauflösung skalierst, ist keinesfalls das gleiche Problem. Entsprechend glaube ich nicht, dass bei einer entsprechend möglichen Breite an Inhalten eine einzige optimale Filterkette für alle Extreme existiert.

  • Entsprechend glaube ich nicht, dass bei einer entsprechend möglichen Breite an Inhalten eine einzige optimale Filterkette für alle Extreme existiert.

    Das stimmt schon, nur das unsere größtest Problem die Komplexität des Videos ist.

    Zitat

    720p : 2.000 Kbit/s
    1080p : 4.000 Kbit/s
    1440p : 10.000 Kbit/s (minimale Auflösung 1170p)
    2160p : 22.000 Kbit/s (minimale Auflösung 1800p)

    Und mehr bekommen wir nicht, alles was dadrüber geht erzeugt Blöcke.
    Das heißt wir müssen in denn meisten Fällen die Komplexität reduzieren und da ist Spline 100 schon ein sehr gut Weg.
    Ich würde auch lieber auf bessere und schärfer Resizer zugreifen nur was bringt esmir wenn es Pixelmatsch dann nachher gibt...

    720p
    http://youtu.be/HRPG24nkQOg

    1080p
    http://youtu.be/gBeQUSdjfCo

    1170p
    http://youtu.be/ETzHxKXrNlY

    1440p
    http://youtu.be/8NWrw9Twil8

    1800p
    http://youtu.be/MYXxVId4Hrc

    2160p
    http://youtu.be/XfX3yGOQSMM

    Einmal editiert, zuletzt von LigH (12. Januar 2015 um 10:18) aus folgendem Grund: BBtag-Durcheinander entwirrt

  • nur mal so nebenbei hier noch was mir spontan für GPU basierte Avisynth filter einfallen:

    Zitat

    Das stimmt schon, nur das unsere größtest Problem die Komplexität des Videos ist.


    Könntest Du irgendwo mal ein paar Sekunden verlustfrei komprimiert hochladen? (in der Auflösung in der gecaptured wurde)

  • Zitat von Sam

    I eat resistance for breakfast!

    Interessantes Beispiel: Wirklich sehr (amerikanisch) satte Farben, die u.U. den TV-YUV-Bereich sprengen könnten (TV/PC Range, Coring), und relativ detailreiche Texturen, wahrscheinlich mit Aliasing (Flimmern) von teiltransparenten Sprites (z.B. Grasbüschel) in mittlerer Entfernung. Je nach Technik kann ein Rauschfilter hier schon helfen. Ist aber schwieriges Material.

    Geduckt im Gras laufen ist der absolute Killer für alte Encoder wie H.263; da ist nix mehr zu erkennen, geschweige denn zu lesen.

  • Interessantes Beispiel: Wirklich sehr (amerikanisch) satte Farben, die u.U. den TV-YUV-Bereich sprengen könnten (TV/PC Range, Coring), und relativ detailreiche Texturen, wahrscheinlich mit Aliasing (Flimmern) von teiltransparenten Sprites (z.B. Grasbüschel) in mittlerer Entfernung. Je nach Technik kann ein Rauschfilter hier schon helfen. Ist aber schwieriges Material.

    Wenn das was bringt hört sich das schon mal gut an, wenn es dann nicht gerade die Komplexität wieder erhöht.
    Aber dann müsste man mal genau wissen wann und wie es zum Einsatz kommt,

    Geduckt im Gras laufen ist der absolute Killer für alte Encoder wie H.263; da ist nix mehr zu erkennen, geschweige denn zu lesen.


    Das ganze Material ist ein Killer für Youtube xD
    Aber ich werde mich auch noch mal an ein anderes Spiel setzen und das für Vergleiche fertig machen, nur weiß ich nicht welches ich dann nehmen soll.
    Am liebsten hätte ich Spyro 1 von der PSX genommen... nur wird es da leider nichts mit 60 Fps...

    nur mal so nebenbei hier noch was mir spontan für GPU basierte Avisynth filter einfallen:
    Könntest Du irgendwo mal ein paar Sekunden verlustfrei komprimiert hochladen? (in der Auflösung in der gecaptured wurde)

    Meinst du auf Youtube oder irgendwo anderes?
    Wenn es wo anderes sein soll, müsste ich wissen wo...
    Ich hätte ansonsten schon 720p, 60 fps, qp=0, 8 Bit, Medium, YV24 direkt zur Verfügung, das wäre dann genau der Ausschnitt denn ich auf Youtube verwendet habe.
    Ist halt 1,96 GB groß...

    Zur Komplexität...
    Es kommen und halt die miserablen Einstellung des x264 von Youtube in die Quere...

    Standard CRF von 30, pro Auflösungsstufe kriegen wir unterschiedliche maximale Durchschnittliche Bitraten
    720p : 2.000 Kbit/s
    1080p : 4.000 Kbit/s
    1440p : 10.000 Kbit/s (minimale Auflösung 1170p)
    2160p : 22.000 Kbit/s (minimale Auflösung 1800p)

    Youtube wäre:

    720p
    http://youtu.be/HRPG24nkQOg

    1080p
    http://youtu.be/gBeQUSdjfCo

    1170p
    http://youtu.be/ETzHxKXrNlY

    1440p
    http://youtu.be/8NWrw9Twil8

    1800p
    http://youtu.be/MYXxVId4Hrc

    2160p
    http://youtu.be/XfX3yGOQSMM

  • Zitat

    Meinst du auf Youtube oder irgendwo anderes?


    Irgendwo anders, wo das Material nicht reencoded wird.
    Bei ~2GB würde sich GoogleDrive anbieten, falls Du einen Google Account hast. (wobei ein kürzeres Sample es ja auch tun würde)

  • So dann hab ich hier einmal denn Link zu Datei
    Dann bin ich mal gespannt was du damit vor hast und vor allem das Wichtigste ist immer das Ergebnis auf Youtube...
    Das Video kann aufem Pc so schön wie es will aussehen, wenn es auch Youtube nur noch matsch ist bringt es leider nichts...
    https://drive.google.com/file/d/0B01IYE…iew?usp=sharing

    Und dann hab ich hier noch mal eine kleinen Exel Tabelle wo die ganzen Ergebnis aus denn Encoding für die Testvideos drin stehen.
    So kann man sich dann auch schon mal angucken was alles hochgeladen wird xD
    Also Encode Fps, Dateiengröße und Co...
    https://drive.google.com/file/d/0B01IYE…iew?usp=sharing

  • Zitat

    Geduckt im Gras laufen ist der absolute Killer für alte Encoder wie H.263; da ist nix mehr zu erkennen, geschweige denn zu lesen.

    War ja auch Sinn und Zweck des Ganzen. Wir wollten in dem Fall ein massiv komplexes Video für youtube haben.

    Youtube benutzt aber x264 und kein h.263. Wo haste denn her das youtube noch h.263 benutzt? Das machen die höchstens auf 240p oder so, aber alles höhere ist definitiv h.264 video.

    Die Aufnahme ist von mir und liegt in RGB24,1280x720,60fps vor. Aufgenommen wurde mit MagicYUV Codec.

  • Kein noch so prof.Videobearbeitungstool akzeptiert diesen Stream so wie er vorliegt.
    mpc-hc kanns zwar abspielen.......in welchem Schnittprogramm willst Du dies denn bearbeiten ?

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Zitat

    mpc-hc kanns zwar abspielen.......in welchem Schnittprogramm willst Du dies denn bearbeiten ?

    MagicYUV kann eine NLE öffnen. Drache benutzt vegas und sendet via Frameserver an MeGUI.

    Ich persönlich bearbeite rein nur mit avisynth, falls ich denn mal bearbeiten muss. Meist sinds nur Auflösungsskalierungen, weil youtube^^

    Ich persönlich habe eine riesige Abneigung zu NLEs, weil sie in Decode und Encode einfach nur miserabel sind...

  • Zitat

    MagicYUV kann eine NLE öffnen. Drache benutzt vegas und sendet via Frameserver an MeGUI.

    Ja,MagicYUV ist mir schon ein Begriff,stehe selber aber eher auf Huffyuv_MT...kenne die Diskuss über MagicYuv schon.

    bei Vegas mit dem Frameserver habe ich User Marco,den letzten entscheidenden Tipp gegeben,arbeite aber nur selten und wenn immer noch mit der V.12.
    Danke.

    Zitat

    Ich persönlich bearbeite rein nur mit avisynth,


    auch ich arbeite mit Avisynth....möchte aber das Resultat auch wärend der Anpassung an einem Sichtgerät angucken können,darum nehme ich Edius.

    Zitat

    Ich persönlich habe eine riesige Abneigung zu NLEs, weil sie in Decode und Encode einfach nur miserabel sind...

    hat schon was Wahres,darum liebe ich ja auch User selurs Hybrid.
    Um NLEs komme ich hier nicht rum...wenn zum Bsp.diverse Sprachfetzen irgendwo in einem bereits bestehenden Stream eingefügt werden müssen und dann mit fade-in + out angepasst werden müssen.
    Ob der Stream im IRE Bereich 16-235/240 liegt...ob die Farbsättigung übertrieben ist usw.usw.darum brauche ich hier Edius als NLE.
    Die Zeiten als man wärend der Abarbeitung eines Avisynth-Script das Bild an einem Kontr.Moni begutachten konnte sind leider schon lange vorbei.
    canopus HQX ist aber akzeptabel,gibts ja nun auch kostenlos zum DL.

    Nachtrag_
    MagicYUV inst.Neustart
    weder Edius 7.41 noch A.Premiere können was anfangen mit dem Geladenen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

    Einmal editiert, zuletzt von Goldwingfahrer (12. Januar 2015 um 14:21)

  • MagicYUV kann eine NLE öffnen. Drache benutzt vegas und sendet via Frameserver an MeGUI.

    Ich persönlich bearbeite rein nur mit avisynth, falls ich denn mal bearbeiten muss. Meist sinds nur Auflösungsskalierungen, weil youtube^^

    Ich persönlich habe eine riesige Abneigung zu NLEs, weil sie in Decode und Encode einfach nur miserabel sind...

    Alle meine Testvideos sind nur über Avisynth bearbeitet worden, genau so bearbeite ich meine Lets Play auch nur über Aviysinth...
    Gerade mal wenn es Kompliziert wird nutze ich Sony Vegas, aber hier kommt wieder das gute alte NLE Problem das kein High 4:4:4 Profil was für x264 Lossless gebraucht wird von NLE's akzeptiert wird

    Und noch so prof.Videobearbeitungsprogramme sind bei der Verträglichkeit von Codecs und bei der Möglichkeit der Encoder sowie der Einstellungsmöglichekit dieser Encoder unter aller Sau.
    Es kommt auch noch mit dazu das NLE's Problem mit *.mkv haben....

    2 Mal editiert, zuletzt von GelberDrache (12. Januar 2015 um 14:10)

  • Youtube benutzt aber x264 und kein h.263. Wo haste denn her das youtube noch h.263 benutzt? Das machen die höchstens auf 240p oder so, aber alles höhere ist definitiv h.264 video.

    Knapp daneben, würde ich sagen. Ein Video in H.264 (MPEG-4 AVC) gibt es erst ab 720p im MP4-Container. Ohne zusätzliche Add-ons zeigt ein Mozilla-Browser aber YouTube-Videos erst mal nur mit maximal 480p an, und da sind noch ältere Videoformate im FLV-Container enthalten. Ohne Add-ons wie "YouTube HD" müsste man manuell umschalten, nachdem das Video einmal in niedriger Auflösung begonnen hatte.

    Um seit der Einführung von DASH höhere Auflösungen als 720p abspeichern zu können, braucht man Add-ons wie den "Complete YouTube Saver"; der gute alte "Video DownloadHelper" unterstützt ohne DASH nur maximal 720p.

    Ob es in Chrome oder vergleichbaren Browsern anders läuft, weiß ich nicht. Vielleicht probier ich das mal mit SRWare Iron.

  • Ok....
    Aber mal ehrlich, wir nutzen hier x264, Resizer und und und...
    Ich glaube das uns alles unter 720p uns nicht mal ansatzweise Interessiert xD
    Aber trotzdem gut zu wissen...

    Für Youtube wird als Addon Magic Actions genutzt.
    Zum runterladen wird der JDownloader 2 genutzt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!