Beiträge von Drexel

Unterstütze das Forum mit einem kleinen Beitrag und sichere Fortbestand und Weiterentwicklung: Jetzt Unterstützer werden!

    Freut mich, dass ich weiterhelfen konnte. Mir scheint es so einfacher zu sein, als mit 2 verschiedenen Aufnahmen rumzuhampeln, da es automatisch synchron ist etc... ;) Ist für mich auch der Grund meine Stimme mit OBS aufzunehmen, auch wenn OBS leider nur verlustbehaftetes Audio unterstützt...

    Ja das ist richtig, ich erinner mich auch, dass das schonmal Thema war, ich dachte auch ich hätte das gefixt, als ich mir die Codestelle aber heute nochmal angeschaut habe, hab ich mich gefragt ob das jemals schon richtig funktioniert hat. =)


    Ich gebe Youtube beim Upload den Original Dateinamen mit, gerüchteweise soll das zur Content Erkennung von Youtube beitragen. Letztendlich geht um das rechts oben beim Editieren des Videos im Youtube Studio steht. Da das im Http Header übertragen wird, kann das nur ASCII Zeichen enthalten:


    https://www.virtualuniversity.…are/ascii/ascii-table.GIF


    Und der neue Upload Client scheint mir da ein bißchen zickiger zu sein, der nimmt nur ASCII Zeichen zwischen 32 und 126, der alte hat glaub ich auch noch über 126 akzeptiert. Wie auch immer, alles was nicht in diese Range fällt wird zukünftig einfach durch _ ersetzt.

    Und noch ein Update. Wahnsinn, was an Bugs wieder auftaucht, die längst behoben waren. xD Auch bei mir empfiehlt es sich nach Release ein paar Tage auf Fixes zu warten...


    Version 1.6.2 ist online: https://1drv.ms/u/s!AlNGd4g1Vh9rmHAvaCyZ5nvtOkDF?e=5vhucP


    Neue Features:

    • Upload Stabilität verbessert. Jeder 40MB Teil eines Uploads wird jetzt 3 Mal versucht hochzuladen und nicht nur der gesamte Upload 3 Mal. Ebenso werden auch die Initialisierungsrequests 3 Mal wiederholt. (Mein Internet ist gerade so kacke, das war mal nötig...)
    • Fehlerausgabe verbessert, alle aufgetretenen Fehler werden jetzt ausgegeben, statt nur der letzte. Dafür in verkürzter Form, ausführliches Informationen sind in der Trace Datei.

    Bugfixes:

    • Die Upload Stats zählen jetzt wieder bis 0 runter und bleiben nicht bei den letzten paar MB stehen...
    • Das Upload Control wird jetzt zuverlässiger deaktiviert, sobald der Upload begonnen hat.
    • Der Installationsordner ist nun wieder 'Programme\VidUp' und nicht 'Programme\VidUp Versionsnummer'. Wer die 1.6.1 installiert hat, hat jetzt auch einen Ordner 'Programme\VidUp 1.6.1', aber eigentlich sollte der beim Update gelöscht werden. Wenn nicht, könnt Ihr das manuell machen...

    Und direkt ein kleines Update:


    Version 1.6.1 ist online: https://1drv.ms/u/s!AlNGd4g1Vh9rmHAvaCyZ5nvtOkDF?e=5vhucP


    Bugfixes:

    • Der Upload lies sich nicht mehr stoppen, funktioniert jetzt wieder
    • Fehlendes Icon beim Anpinnen an der Taskbar.
    • Wenn beim Aktivieren von Publish At die Uhrzeit auf eine volle Stunde fiel ist ein Fehler aufgetreten, das passiert jetzt nicht mehr.
    • Aktivierung und Deaktivierung der Publish At Controls überarbeitet, sie werden jetzt auch korrekt angezeigt, wenn das Upload Control nach Beginn des Uploads deaktiviert ist.

    Es ist wieder Zeit für einen neuen Release. Dabei gibt es kaum funktionale Änderungen, sondern eher ein paar technische Umstellungen, die die Weichen für die Zukunft von VidUp stellen.


    Kleines Entwicklertagebuch und Hintergründe

    Microsoft hat ja das .NET Framework als Entwicklungsplattform für die "einfache" Windows Entwicklung in c# und Visual Basic ins Leben gerufen, alles was man damit gebaut hat, lief nur auf Windows. In letzter Zeit ist Microsoft aber deutlich offener geworden und sie haben .NET Core als quelloffene und systemunabhängige Variante in Leben gerufen (ähnlich wie Java), Programme die damit geschrieben werden, laufen auch relativ einfach auf Linux oder Mac. In letzter Zeit war auch absehbar, dass die Lebenszeit des klassischen Frameworks begrenzt ist und MS voll auf .NET Core gehen wird, die Umstellung haben sie jetzt mit der Veröffentlichung von .NET 5 auch vollzogen. .NET 5 ist der Nachfolger von .NET Core und signalisiert mit dem neuen Namen auch, dass es das zukünftige Zugpferd ist, .NET Framework 4.8 wird die letzte Version bleiben und nur noch Sicherheits- und Maintenance Updates bekommen für eine gewisse Zeit.


    VidUp basierte zuletzt auf dem .NET Framework, obwohl es als .NET Core App gestartet ist, weil damals schon klar, dass .NET Core die Zukunft ist. Ich hatte aber in .NET Core das Problem, dass sämtliche Uploads immer erst in den RAM gebuffert wurden und bei Youtube Uploads, die gerne bis zu über 100GB groß sein könne, wird das mit dem RAM eng (oder wer hat hier über 100GB RAM? :)). Außerdem fällt dann sowas wie Drosselung auch schwer, weil man die Drossel quasi nur beim Lesen der Datei ansetzen kann, wenn man den Upload nicht wirklich komplett selbst implementieren möchte. Dann wäre das Kopieren in den RAM gedrosselt, aber nicht unbedingt das Schreiben ins Netzwerk. ^^ Der gleiche Code wies mit dem .NET Framework ein anderes Verhalten auf, die Daten wurden sofort nach dem Lesen ins Netz geschickt. Ich hatte das Problem auch auf Stackoverflow gepostet, aber keine Antwort bekommen und deswegen aufs .NET Framework gewechselt. Vor Weihnachten hab ich aber auf mein Problem unbemerkt eine Antwort bekommen, das habe ich letzte Woche bemerkt. Und es liegt daran, dass ich auf einen veraltete HTTP Funktion gesetzt habe (HttpWebRequest) von der bekannt war, dass sie in .NET Core verbugt war. Aber Microsoft hat das nie gefixt, weil die Funktion wie gesagt veraltet ist und auch irgendwann rausfliegt, die Änderung nicht trivial ist, und es einen funktionierende Alternative in Form des HttpClients gibt. Und da jetzt wie gesagt der strategische Wechsel auf .Net 5 eh seitens MS vollzogen wurde und die ganzen Tools etc. auch nur noch dafür verbessert werden, war es zeit die HTTP-Aufrufe durch die neue Funktion zu ersetzen und wieder zurück zu .NET 5/Core zu gehen... Das war relativ zeitintensiv, weil ich die Projektdateien alle umstellen musste, schauen musste, dass die neuen Funktionen überhaupt funktionieren, wie ich sie in meinen bestehenden Code gedengelt bekomme, wie ich sowas wie die Upload Stats und die Drosselung reinbekomme, das ganze noch testen und neue Bugs fixen, die durch die Umstellung aufgetreten sind etc. etc.


    Das Setup habe ich auch wieder umgestellt. Bisher habe ich die WiX Tools genutzt, die ich damals genommen hatte, weil es für .NET Core (noch) keine Setup Unterstützung von MS gab und das die offizielle Empfehlung von MS war, das hat mich aber schon immer genervt, weil es von WiX schon lange keine offiziellen Releases mehr gab und man nicht ohne weiteres prüfen kann, ob das benötigte .NET Framework installiert ist, weil es die neuen Versionen nicht kennt. Und das ist ein von MS propagiert und von MS Mitarbeitern geschaffenes Tool! Mittlerweile unterstützt das Visual Studio aber Setup Projekte für .NET 5/Core, also habe ich auch das ausgetauscht. Das MS Setup ist zwar nicht ganz so Feature mächtig, aber einfach. Da das MS Setup unterstützt z.B. nur 3stellige Versionsnummern, deswegen gibt es jetzt nur noch 3stellige Versionsnummern. :) Also kleine Updates und Bugfixes erhöhen beide die letzte Ziffer...


    Ich hatte erst überlegt, ob ich daraus überhaupt einen Release machen soll, aber bevor ich funktionale Dinge im größeren Stil änder wäre es gut zu wissen, ob die technische Basis stabil läuft. Ich hatte beim Testen ein paar komische Effekte, die ich nicht lokalisieren konnte, die aber auf einmal weg sind, evtl. standen sie im Zusammenhang mit anderen Bugs, die ich gefixt habe. Zum Beispiel hatte ich einmal den Eindruck, dass er doch die Uploads erst wieder im RAM buffert und dann hochlädt. Solltet Ihr abseits von harten Fehlern also schwankende Upload Raten, nicht aktualisierende Upload Stats oder sonstige Ungereimtheiten bemerken, lasst es mich bitte wissen. Harte Fehler natürlich auch. Evtl. wäre es gut auch das Tracing einzuschalten, damit ich es besser nachvollziehen kann, falls es hakt. Ich hab jetzt einen Testupload am laufen und der scheint gut durchzulaufen, ich wünsche Euche ebenfalls viel Glück. ;)


    Version 1.6.0 ist online: https://1drv.ms/u/s!AlNGd4g1Vh9rmHAvaCyZ5nvtOkDF?e=5vhucP


    Neue Features:

    • Kommunikation mit der Youtube Api neu implementiert.
    • Neues Setup. Eigentlich sollte es die alte Version deinstallieren und die neue installieren, ich hoffe das klappt. =) Schaut mal in die Apps & Features Liste nach doppelten Einträgen. Oder deinstalliert vorsichtshalber manuell...
    • Wird ein Upload mit Failed zurückgesetzt, geht der erst auf Stopped zurück, damit geht der Uploadfortschritt nicht verloren. Wird er nochmal zurückgesetzt, geht er auf Ready for Upload und damit ist der Upload Progress weg.

    Bugfixes:

    • Zur Berechnung von Veröffentlichungsdaten werden jetzt alle Uploads berücksichtigt, auch die mit Status Failed oder Paused Foxhunter
    • Dateien werden jetzt wie gewollt in 40MB Paketen und nicht in 10MB Paketen hochgeladen.

    Noch ein kleiner Nachtrag, ich hab jetzt nur die Positivbeispiele genannt, es gab aber auch Dinge die kolossal schlecht gelaufen sind, z.B. TLOU2, das ist auch son typisches Triple AAA Game was einfach jeder gezockt hat. Und ein Spätzünder war Hollow Knight, das hat Monate später auf einmal Aufrufzahlen bekommen, keine Ahnung wieso, man weiß es nie so genau...