Vielen Dank für die ganze Arbeit! Werde es schnellstmöglich testen, muss die Videos nur noch schneiden

Drexel's VidUp - Ein templatebasierter Youtube Uploader
Unterstütze das Forum mit einem kleinen Beitrag und sichere Fortbestand und Weiterentwicklung: Jetzt Unterstützer werden!
-
-
Ach eine Anmerkung zur Drosselung noch:
Gesendet wird in 10KByte Paketen, damit er aber nicht alle 10KByte auf die die Festplatte zugreifen muss, liest er immer 20MByte in den RAM. Das sollte bei HDDs vorteilhaft sein. Die Geschwindigkeit wird anhand des Uploads der letzten 3 Sekunden berechnet und angepasst, die angezeigte Uploadgeschwindigkeit basiert auf den letzten 20 Sekunden, damit die Zahl nicht ganz so starkt schwankt...
-
Btw, der Upload wird ja in KByte eingestellt. Wenn Ihr MBit in KByte müsst Ihr / 8 *1024 rechnen. Also mein Upload synchronisiert zB mit ca 32 MBit/s, das sind 32 / 8 = 4 * 1024 = ca 4000 KByte/s..
-
Hab mir eben mal dein Tool runter geladen.
Nachdem ich es installiert und geöffnet habe, möchte ich gerne ein Template erstellen.
Nach einem Klick auf "Templates" im Menü öffnet sich das Fenster, in welchem ich den Namen etc. festlegen kann.
Wenn ich nun aber kein Bild festlegen und einfach nur Namen und Root vergebe, schmeißt er mir diese Fehlermeldung an den Latz und schmiert danach ab:
---------------------------
PRESS CTRL+C TO COPY!
---------------------------
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei Drexel.VidUp.Business.TemplateList.CopyPictureToStorageFolder(String pictureFilePath, String storageFolder) in D:\Daten\Matthias\Dokumente\Visual Studio 2019\VidUp\VidUp.Business\TemplateList.cs:Zeile 96.
bei Drexel.VidUp.Business.TemplateList.AddTemplates(List`1 templates) in D:\Daten\Matthias\Dokumente\Visual Studio 2019\VidUp\VidUp.Business\TemplateList.cs:Zeile 84.
bei Drexel.VidUp.UI.ViewModels.MainWindowViewModel.<openNewTemplateDialog>d__97.MoveNext() in D:\Daten\Matthias\Dokumente\Visual Studio 2019\VidUp\VidUp.UI\ViewModels\MainWindowViewModel.cs:Zeile 636.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.DispatcherOperation.InvokeImpl()
bei MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Windows.Threading.DispatcherOperation.Invoke()
bei System.Windows.Threading.Dispatcher.ProcessQueue()
bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei Drexel.VidUp.UI.App.Main()
---------------------------
OK
---------------------------
Füllt man alles brav aus, gehts auch direkt einen Schritt weiter.
Hier wäre vielleicht ein Hinweis zu diesem Pflichtfeld angebracht.
-
Eigentlich sollte ein Titel an der Stelle auch ausreichen, sobald man den eingibt wird ja auch der Accept Button aktiviert. An dem Bilder Management hat sich aber was geändert in der neuen Version, da hab ich wohl was übersehen, sollte aber einfach zu fixen sein, Update folgt denke ich heute Abend.
Sorry für den schlechten Einstieg ins Tool.
-
Sorry für den schlechten Einstieg ins Tool.
Quatsch, alles gut!
Lade grad ein paar Videos mit hoch und es läuft prima!
-
In dem Zuge sind mir noch 2 Dinge aufgefallen:
Wenn man das Template Bild ändert, wir es das Bild nicht in den VidUp Ordner kopiert. Fixe ich auch noch.
Ebenso gleiche ich nochmal Variablennamen an, manchmal heißen Bilder intern Image und manchmal Picture, sowas macht mich wahnsinnig.
Das änder ich auch nochmal, kann sein, dass Ihr aufgrund der Änderungen nochmal ein paar Template Bilder neu zuordnen müsst.
-
Eben herausgefunden: Wenn die Internetverbindung plötzlich abbricht, dann beendet sich das Programm. Den Upload kann man aber wieder normal starten, er fängt dann nur wieder von vorne an. Es wäre schon cool, wenn ein Upload, der kurz zuvor abgebrochen wurde, an der Stelle wieder weitermacht. Das ist aber natürlich (wie bei meiner letzten Anmerkung) kein Muss, sondern nur eine Anregung
Ich glaub da wurde ich letztes mal falsch verstanden^^ Ich nutze das Programm sehr gerne, aber wenn mir etwas auffällt was ich angenehm fände, geb ich das einfach mal weiter. Was Drexel draus macht, ist dann wieder was anderes
-
Welches .net Framework brauche ich? Auf meinem 2016 Server passiert nach einem Doppelklick auf das Setup genau...gar nichts
-
Das neuste. 4.7.2 ist das glaub ich. Boah diese Wix Toolset da ist der Name echt Programm...
Eben herausgefunden: Wenn die Internetverbindung plötzlich abbricht, dann beendet sich das Programm. Den Upload kann man aber wieder normal starten, er fängt dann nur wieder von vorne an. Es wäre schon cool, wenn ein Upload, der kurz zuvor abgebrochen wurde, an der Stelle wieder weitermacht. Das ist aber natürlich (wie bei meiner letzten Anmerkung) kein Muss, sondern nur eine Anregung
Ich glaub da wurde ich letztes mal falsch verstanden^^ Ich nutze das Programm sehr gerne, aber wenn mir etwas auffällt was ich angenehm fände, geb ich das einfach mal weiter. Was Drexel draus macht, ist dann wieder was anderes
Ja das Thema Verbindungsabbrüche und Resumable Uploads hab ich noch nie genau betrachtet, da ich noch nie einen Verbindungsabbruch hatte... Aber im Hinterkopf hatte ich es schon immer. Ich schaus mir für das nächste größere Update Mal an.
-
Das neuste. 4.7.2 ist das glaub ich.
Habe 4.8 installiert, aber es passiert nach wie vor einfach nichts. Ich klicke die Datei doppelt an, habe für eine Sekunde den Ladekreis, und das wars. Gibts noch irgendwelche Abhängigkeiten?
-
Nicht dass ich wüsste. Kann später auch nochmal ein Zip nur mit den Binaries zur Verfügung stellen...
Ich bau das Setup mit dem Wix Toolset, eine sogar von MS entwickelte und propagierte Setup Methode. Unfassbar, dass das so rumzickt, kein .Net Core richtig unterstützt, keine grafische Integration ins Visual Studio...
Die alte Setup Methode hat aber andere Nachteile und kann man gar nicht mit .Net Core zum Laufen bringen... .Net Core Brauch ich ja nun nicht mehr, aber es war halt schon fertig eingerichtet...
-
Ah hier steht was zu den Requirements: https://wixtoolset.org/documentation/manual/v3/main/
Musst evtl mal Framework 3.5 installieren.
Geil...
-
Ach Microsoft
Ich werds mal probieren, danke
-
Wird leider auch mit .net 3.5 nichts. Dann ist wohl irgendwas nicht mit Server 2016 kompatibel, obwohl es ja im Grunde fast einen Windows 10 Unterbau hat.
-
Habs Dir als Zip in den Ordner gelegt. Haben denn die bisherigen Versionen auf der Maschine funktioniert? Hab am Setup eigentlich nix geändert...
Ansonsten ist MS auf Servern ja restriktiver, es gibt doch Einstellungen, dass aus dem Internet runtergeladenen Programme oder nicht signierte Programme nicht ausgeführt werden. Kanns evtl. daran liegen?
Gleich kommt aber auch noch ein Update mit ein paar Bugfixes...
-
Haben denn die bisherigen Versionen auf der Maschine funktioniert?
Ja, also die letzte mit dem .net Core oder was das vor deiner Umstellung war.
Ansonsten ist MS auf Servern ja restriktiver, es gibt doch Einstellungen, dass aus dem Internet runtergeladenen Programme oder nicht signierte Programme nicht ausgeführt werden. Kanns evtl. daran liegen?
Nein, weil der Server für allerhand solcher Sachen genutzt wird. Da lief z. B. auch batch drauf (Strohis STFU läuft auch), da laufen andere Programme ohne verifizierten Installer usw., ist also auszuschließen.
Habs Dir als Zip in den Ordner gelegt.
Danke
-
Kurzes Update: Verhält sich genau wie das Setup. Bekomme ganz kurz den Ladekreis zu sehen, und mehr passiert nicht. Kann leider mit nichts weiter dienen, keine Log kein gar nichts, sehe auch nicht das irgendein markanter Prozess startet und da was unterbindet
-
Wenns dus über ne Commandline startest, kriegst du dann ne Fehlermeldung? Vielleicht wird in der Konsole ein Fehler geloggt?
Edit: Hast du einen vollwertigen Server oder einen Server Core (oder sowas?): https://support.microsoft.com/…-the-net-framework-4-7-on
-
Zu meinem Edit dazu auch interessant:
https://github.com/microsoft/dotnet/issues/431
Wenn mein Tool läuft und Drexels nicht, würde ich vermuten, dass es an WPF liegt. Das ist der größte Unterschied zwischen seinem und meinem Tool, deswegen würde ich da zuerst suchen. Ich nutze Windows Forms, was zwar nicht annähernd so geil ist, wie WPF, aber dafür idR deutlich kompatibler.
Windows Forms kriegt man eingeschränkt sogar unter Linux zum Laufen, während WPF faktisch Windows-Only ist (und da auch manchmal etwas sehr wählerisch), dafür aber auf DirectX aufbaut, mehr Möglichkeiten zum Design bietet und sehr viel besser zu entwickeln ist.
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!