Upload Traffic überwachen > wenn zu gering > batch ausführen
-
Dann guck mal hier, ob dir das weiterhilft.
-
@dreamer84 sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
Wäre auch nicht umsonst
Hmmm
-
@DocShoe
kannst du mir mal eine PN schicken?
-
Das war nicht ernst gemeint...
Hast du Programmierkenntnisse/-erfahrung?
-
@DocShoe
Ich hatte mal ein Projekt an einen Raspberry Pi mit Python und eins an einem Arduino mit C++.
Das Prinzip verstehe ich im Ansatz, aber dann hörts leider auch schon auf
Ich bin aber lernfähig
-
Fängt denn OBS Studio von selbst zu streamen an wenn man es startet? Also reicht wirklich das Neustarten des Prozesses, ohne dass man noch irgendwo hin klickt oder ähnliches?
-
@hustbaer
Eigentlich startet es nicht von allein. Ich nutze aber einen Befehl hinter dem Pfad (Ziel), damit der Stream direkt startet wenn ich OBS öffne:
"C:\Program Files\obs-studio\bin\64bit\obs64.exe" --startstreaming
Das funktioniert zu 100% zuverlässig.
Damit dürfte das bloße starten absolut ausreichen.
-
Dafür c++ einzusetzen erscheint mir ein bisschen wie mit Kanonen auf Spatzen zu schießen.
Ich bin kein Powershell Experte und habe mir das gerade zusammen gegoogelt, aber mit so einem Skript könnte das gehen.
$threshold = 1000 $wmi = (Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesReceivedPerSec).BytesReceivedPerSec $kbytes = $wmi[1] / 1kb #depends on number of network interfaces if($kbytes -le $threshold) { Write-Output $kbytes Write-Host "restart" } else { Write-Output $kbytes Write-Host "all ok" }
Man beachte, dass man, wenn man mehrere Netzwerkinterfaces hat, ein Array zurück bekommt und ich da fest eine 1 rein gedonnert habe um das auf meinem aktuell verbundenen Netzwerkinterface zu testen.
In einer echten Anwendung würde man vlt überprüfen wollen, ob der Upload über mehrere Messungen hinweg zu niedrig ist. Kann ja auch mal andere Gründe haben, als einen zusammengebrochenen Stream.
-
@Schlangenmensch
Hey, vielen Dank schon mal für den Code
Ich hab den jetzt mal getestet bei einem PC ohne Stream spuckt er "0 & restart" aus - das dürfte ja passen.
Auf einemStreaming PC mit einem aktuell laufenden Stream spuckt er aber auch "0 & restart" aus.
Muss ich da noch was einstellen?Echt, danke vielmals für eure Hilfe hier!
-
Vermutlich musst du das BytesReceivedPerSec durch das "Gesendet"-Pendant ersetzen. Du willst dir ja den upload angucken.
-
Da du überhaupt keine Ausgabe hast, hast du wahrscheinlich nur ein Netzwerkinterface, und das
[1]
in Zeile 4 läuft ins Leere.edit: Jetzt hast du es geändert. Als ich geantwortet habe, hattest du noch geschrieben, dass du als Ausgabe "& restart" hättest. Nichtsdestotrotz solltest du genau über den Kommentar zu den mehreren Netzwerkinterfaces nachdenken. Die jetzige Implementierung mit der festen
[1]
ist nicht solide (ich muss bei mir beispielsweise 2 nutzen). Entweder musst du weiter ausholen und irgendwie das richtige Interface bestimmen, oder nimm einfach die Summe über alle Interfaces, wenn du weißt, dass da sonst nichts läuft. Du kannst dir ja mal die Ausgabe von(Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesReceivedPerSec).BytesReceivedPerSec
angucken, wenn du das so in der Powershell ausführst
-
@DocShoe
Wo finde ich das "Gesendet"Pendant? Was bedeutet das genau?@SeppJ
Sorry, hatte die 0 nur vergessen...
Ich habe auch mal eine 2 eingetragen. Passiert aber nichts anderes.
Ich habe mal einen Screenshot gemacht. Dort sieht man rechts unten, dass OBS einen 6.000er Upload hat:::
-
BytesReceivedPerSec ist doch der Wert für den Empfang, du brauchst aber den Upload-Kanal. Grade google befragt und das sagt mir: BytesSentPerSec.
Guckst du hier.
-
@DocShoe
Macht Sinn...
Hab ich ausgetauscht... bleibt aber trotzdem bei "0 & restart"
-
@DocShoe sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
Vermutlich musst du das BytesReceivedPerSec durch das "Gesendet"-Pendant ersetzen. Du willst dir ja den upload angucken.
Huch... eigentlich wollte ich das mit
BytesSentPerSec
gepostet haben@dreamer84 wenn es nur ein Interface gibt, kannst du mal versuchen das
[1]
zu löschen. Ich meine irgendwo gelesen zu haben, dass dann kein Array zurück gegeben wird. Aber Achtung: Gefährliches Halbwissen.Edit: Aber auch bei Powershell fangen indizies mit 0 an, also hätte man bei 2 Interfaces
$wmi[0]
oder$wmi[1]
. Wie viele Netzwerkinterfaces man hat, kann man bestimmt auch programmatisch abfragen.Edit2 : Vlt einfach mal
(Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesSentPerSec).BytesSentPerSec
in der Powershell ausführen und das Ergebnis hier posten
-
@dreamer84 sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
@SeppJ
Sorry, hatte die 0 nur vergessen...
Ich habe auch mal eine 2 eingetragen. Passiert aber nichts anderes.Nicht rumraten. Du musst das Problem schon selber verstehen und die passende Einstellung für dich finden, das können wir nicht für dich machen. Was gibt denn
(Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesReceivedPerSec).BytesReceivedPerSec
zurück, während es wie gewünscht läuft?
-
@Schlangenmensch sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
(Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesSentPerSec).BytesSentPerSec
Wird gemacht
Ausgabe:
857864Wenn ich den Stream beende kommt das:
748389EDIT:
Ich seh gerade, dass wenn ich den Befehl öfter ausführe, kommt immer ein andere Wert. Moment ich mach mal einen Screenshot...
Das kommt wenn der Stream deaktiviert ist.
-
@SeppJ
Sorry, so ganz ist mir noch nicht klar, was 0,1 oder 2 dort bewirken - wenn ich nicht mehr weiter komme hilft manchmal auch einfach "learning by doing"
-
@dreamer84 Hast du mal in dem Skript die eckigen Klammern mit der Zahl da drinnen weg genommen und probiert?
-
Ah,
mir fällt gerade auf, dass ich im Hintergrund noch einen RTMP-Server laufen habe. Ich nehme an, dass der auch Upload entstehen lässt... ich habe das ganze jetzt nochmal auf einem anderen Streaming PC laufen lassen und siehe da... Screenshot
Wenn der Stream läuft ist die ausgegebene Zahl 6-stellig, wenn er aus ist nur 4-stellig.
Damit kann man doch was anfangen@Schlangenmensch Probier ich mal...