Drexel's VidUp - Ein templatebasierter Youtube Uploader

  • Hier ich hab dir mal das Ende kopiert. Hatte über Nacht 4 Dateien hochgeladen ohne Thumbnails, aber bei der letzten hat er trotzdem wieder Probleme gemacht. Habe dir alles nach dem letzten Package was fertig war kopiert. Hilft dir das oder brauchst du noch mehr?

  • Ich seh gerade, dass ich in der Log Datei in 12 Stunden Uhrzeit Format genommen habe, sehr geschickt... Ich geh mal davon aus, das 12:08 in den ersten Zeilen ist 8 Minuten nach Mitternacht, da wird versucht, das 120. 40 MB Paket an den Youtube Server zu senden, da kommt aber keine Antwort mehr zurück.


    Um 11:01 läuft läuft der Playlistcheck Prozess, um Videos automatisch zu Playlisten hinzuzufügen,


    Und um 11:06 hast Du den Stop Button gedrückt.



    Wie groß ist die Datei, die Du da hochlädst?

    Ich bin mir echt nicht sicher, woran das liegt, eigentlich fallen mir nur 2 Möglichkeiten ein:


    - Könnte der Http Timeout sein, den ich auf unendlich gesetzt habe, falls der Server wirklich nichts antwortet. Kann ich mir aber eigentlich nicht vorstellen. Könnte den mal auf eine Stunde oder so setzen, wer eine Stunde oder länger braucht um 40 MegaByte hochzuladen, sollte eh keine YouTube Videos hochladen =) Wobei ich die Unterteilung in 40 MB Pakete eh irgendwann mal verwerfen wollte, da muss ich dann einen hohen Timeout setzen...

    - Könnte evtl. ein Deadlock sein, wobei ich mich frage, warum es nur bei einzelnen auftritt... Und ich sehe auch keinen Code, der das verursacht. Kann ich mir also eigentlich auch nicht vorstellen.


    Ich hab Dir mal ein eine Version gebaut, die eine Deadlock Situation vermeiden sollte (VidUp1.7.5.Kopfgeburt.zip): https://1drv.ms/u/s!AlNGd4g1Vh9rmHAvaCyZ5nvtOkDF?e=5vhucP


    Probier es mal damit bitte und gibt mir Bescheid, ob das Problem weiterhin auftritt.

  • Hi Drexel, hier mein Update:


    Interessant ist: ich habe 7 Dateien hochgeladen... bei der ersten hing er mal wieder und bei der aller letzten. Alle anderen gingen ohne weiteres korrekt durch. Hab dir den letzten Part wo es hing kopiert.

  • Das hast Du jetzt schon mit der angepassten Testversion hochgeladen?


    Edit ach ja seh ich schon an der anders formatierten Uhrzeit.... Bin da leider echt ein wenig ratlos, weil das bei mir und vielen anderen noch nie aufgetreten ist. Nur wenn es bei einer Person auftritt, tritt es immer wieder auf... Als wenn der YT Server nicht anworten würde. Und das komischerweise auch immer nur beim letzten Paket anscheinend, tritt ja immer nur bei 99% auf...

  • Kopfgeburt Ich hab Dir nochmal eine Version gebaut, diesmal mit Timeout beim Upload, wär cool, wenn Du mal probieren würdest, ob das was nützt. Ich habe die VidUp1.7.5.Kopfgeburt.zip aktualisiert: https://1drv.ms/u/s!AlNGd4g1Vh9rmHAvaCyZ5nvtOkDF?e=5vhucP


    Er lädt ja jede Datei in 40 MegaByte Paketen hoch, für jedes Paket hat er jetzt 5 Minuten Zeit. Außerdem habe ich noch ein paar weitere Trace Informationen eingefügt um noch genauer zu sehen wo es genau hakt.


    Ich kann in dem Log oben sehen, dass Du irgendwann wieder Stop drückst, erfolgreiche Uploads löschst und dann nochmal hochladen willst, er aber bei der verbleibenden Datei keine Info vom YouTube Server bekommt, wieviel schon hochgeladen wurde (Laut Doku gibt es eigentlich nur eine Situation wo das vorkommen sollte, wenn noch nichts hochgeladen wurde. Ich habe es aber gerade nochmal getestet, das passiert auch, wenn ein Upload fertig ist und man nochmal probiert den hochzuladen.). Und danach löschst Du dann alles.


    D.h. Die Datei bekommt niemals den Status Upload Finished korrekt? D.h. auf jeden Fall, dass das automatische Hinzufügen zu Playlists für diesen Upload auch nicht greift... Da ich den Fall so auch nicht vorhergesehen habe, kann man es auch nicht manuell auf Upload finished setzen. =) Aber die Datei ist korrekt hochgeladen oder?

  • Drexel Vielen lieben Dank das du dich da so reinhängst! Finde ich echt super! Ja ich habe auf Stop gedrückt weil der sich seit 2 Stunden nicht mehr gerührt hat. Die Datei ist aber korrekt hochgeladen, Beschreibung, Tags, etc. passt alles. Nur das Thumbnail gibter nicht mit und die Playlist... Ich probiere die Datei von dir aus, werde aber erst in ein paar Tagen wieder hochladen und melde mich dann bei dir.

  • Ich habe einen Memory Leak beim Upload festgestellt... Er merkt sich ja in einer Upload Historie, wieviel Bytes an welchem Tick (Tausendstel einer Millisekunde) in den letzten Sekunden hochgeladen wurden um den Upload drosseln zu können. Wenn nicht gedrosselt wurde, habe ich diese Historie dummerweise nie geleert, das hat auch dazu geführt, dass der Speicherverbrauch langsam, aber kontinuierlich angestiegen ist, ist mir bis jetzt aber nie aufgefallen.


    Aufgefallen ist es, weil die CPU Nutzung bei Aktivierung der Drosselung auf einmal in die Höhe geschnellt ist, wenn der Uploader lange lief. Ich hoffe, dass das damit auch gefixt ist, muss ich aber nochmal testen, wenn der Upload ohne Drosselung eine Nacht durch lief... Ich vermute, wenn das Dictionary, in dem die Historie gespeichert wurde, einmal mega voll wurde mit Millionen von Eintragen, dass die Performance des Dictionaries dann einfach im Sack ist, auch wenn es dann geleert wird....


    Wo ich gerade an der Drossel dran war, habe ich ich auch den minimalen Upload Speed von 256KByte/s auf 32KByte/s gesenkt, damit auch Leute wie Nerd-Gedanken mit Bambusleitungen von der Drosselung profitieren können. :)



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


    Neue Features:

    • Minimaler Upload Speed von 256KByte/s auf 32KByte/s gesenkt.

    Bugfixes:

    • Memory Leak in der Upload Drosselung behoben, wenn nicht gedrosselt wurde.
  • Durch den Post eines anderen Mitglieds hier im Forum habe ich nun auch erfahren, dass man bei jedem Video Shorts erlauben kann. Damit kann man anderen Usern erlauben kleine Teile des eigenen Videos für ihre eigenen Videos zu verwenden.


    Kann das auch über die Yuutube API direkt ausgeschaltet werden beim Upload :)?


    Hier ein kleines Bild zu dem was ich meine: https://prnt.sc/12ozmey


    https://support.google.com/you…=de#yt_desktop_shorts_rmx

  • Ich sehe leider nichts in der Richtung.

    Hier sieht man welche Daten ein Video bereitstellen kann: https://developers.google.com/youtube/v3/docs/videos

    Was man beim neuen Video mitgeben kann: https://developers.google.com/youtube/v3/docs/videos/insert

    Und was man beim Video updaten kann: https://developers.google.com/youtube/v3/docs/videos/update


    Ich sehe da nix in der Richtung. Sollte da mal was auftauchen, hätte ich kein Problem das einzubauen. Scheint ja auch ziemlich neu zu sein...


    strohi Ist Dir das schon über den Weg gelaufen?

  • Nee, das wird wenn dann noch etwas dauern. Sehe aber grade, dass der Haken für diese kinderfreundlichen Dinger auch über der API setzen kann. Das konnte man vorher glaube ich nicht.


    Bekanntlich wird ja die API nur sehr stiefmütterlich behandelt. Von daher vermute ich, dass das wenn noch dauert.

  • So hier gibt's mal eine neue VidUp Version. Wollte eigentlich schnell nen halben Tag was basteln, hat dann 3 Tage gedauert. :) Gibt 2 neue Hauptfeatures aus funktionaler Sicht:

    1. Dank The Pasch kann man die Platzhalerinformationen jetzt auch aus Dateien ziehen. Dafür im Template einfach den Schalter 'Use Placeholder File' aktivieren. Gesucht wird eine Datei die genauso heißt wie die Video Datei nur mit .txt am Ende. Im gleichen Ordner wie die Video Datei oder wenn man noch einen Placeholder Folder angibt auch in diesem Folder. Wie beim Thumb und wie gehabt mit # Platzhaltern.

    2. Im Upload Fenster habe ich im Ribbon eine Funktion gebaut um massenhaft Attribute zurücksetzen kann.


    Außerdem habe ich noch ein Auswahlfeld im Template und Upload für die Sprache der Texte eingebaut, das ist im Studio neuerdings auch drin und ist dann immer leer und ich setze es dann manuell, was genervt hat. Allerdings ist in den Lokalisierungsfunktionen in der API der Wurm drin. Die Abfrage, welche Sprachen Youtube unterstützt wirft immer nur einen Fehler, das haben andere auch. Sende ich de-DE kommt Deutsch an und nicht Deutsch(Deutschland), sende ich de-CH kommt nix an. Sende ich de_CH kommt Deutsch an. xD Sollte das irgendwann mal besser gehen und Youtube sich geeinigt haben wie sie es wollen, werde ich das nochmal anpassen und auch schauen, wie man nur Deutsch senden kann, wie es das Studio ja auch zulässt. Aber da eh nur Deutsch ankommt, ist es aktuell egal...


    Dann hat sich einiges unter der Haube getan:

    1. Das Chunking im Upload habe ich entfernt, das sollte nochmal ein paar Bytes mehr im Upload bringen, da nicht alle 40MB ein neuer Request abgesetzt sondern nur, wenn der Upload unterbrochen wurde. Das spart Overhead.

    2. Ich habe die Art und Weise geändert wie die GUI Komponenten miteinander kommunizieren. Das sollte keine funktionalen Änderungen mit sich bringen, evtl. wird aber die ein oder andere GUI Komponente die ich übersehen habe nicht mehr richtig aktualisiert, bitte melden, wenn das vorkommt, das fixe ich dann. :)

    3. Hab viele Icons auf die Standard Icons aus der Library der MaterialDesign GUI Komponenten umgestellt, nachdem ich endlich rausgefunden habe, wie das geht... 1-2 Icons haben sich dadurch auch geändert.



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


    Neue Features:

    • Platzhalter Texte können jetzt auch in Dateien ausgelagert werden.
    • Man kann Attribute massenhaft zurücksetzen.
    • Sprache für Beschreibungstexte hinzugefügt.
    • Tracing verbessert: Es wird mitgetracet wie lang beim Programmstart das Deserialisieren braucht, und man kann in den Settings ein detailliertes Tracing einstellen, was im Moment nur bewirkt, dass beim Upload jedes Serialisieren mitgeschrieben wird.
  • Zu früh gefreut ;)


    Also manchmal setze ich mit dem Upload aus - nehme also neue Folgen auf. Diese packe ich dann in den Ordner des Projekts und ziehe sie in VidUp. Normalerweise "weiß" VidUp ja, wann ich meine letzte Folge hochgeladen habe - und sucht das nächst mögliche Datum - entsprechend des Templates.


    Das funktioniert irgendwie nicht mehr. Das dann erste Video in der neuen Upload Queue hat ein Datum in der Zukunft, aber nicht das, was es haben müsste laut Template.


    Und will ich die "Recalculate" Funktion nutzen, stellt er das Datum nicht um bei den Videos, egal, was ich als Start Datum oben unter Recalculate einstelle.

  • Ich vermute, das liegt daran, weil VidUp nur Daten berechnet, die mindestens 24h in der Zukunft liegen. Das habe ich so gemacht, weil Upload und Verarbeitung seitens YouTube ja auch eine gewisse Zeit brauchen. Du kannst ein geplantes Datum aber auch manuell überschreiben.


    Müsstest dann Videos, die weniger als 24h in der Zukunft liegen sollen hinzufügen, das Datum manuell einstellen und dann die weiteren Videos hinzufügen.


    Wenn es was anderes ist, müsstest Du etwas konkreter werden, mir optimalerweise mal Deinen Dokumente->VidUp Ordner zukommen lassen und mir die Schritte zum reproduzieren nennen.

Jetzt mitmachen!

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