Linux Prozess bei aktivem Streaming

Mein Setting:

Plex Server 0.9.9.5 auf Ubuntu Server 12.04

Filme werden von dort auf meinen Sony-TV gestreamt.

 

Kurze Frage:

Wie kann ich auf Linux-Ebene (Prozess o.ä.) feststellen, ob noch ein Film wiedergegeben wird.

Ubuntuserver fährt nämlich bei keinen erkennbaren Aktivitäten in den Standby.

Mit "ps" bekomme ich nur raus, ob der Plex-Server läuft (und das tut er ja immer).

Ich suche aber einen aktiven Wiedergabeprozess.

Wäre toll wenn jemand einen Tip für mich hat.

also wenn du transcodiertst siehst du dies mit dem befehl "top" -hier siehtst du dann den transcoding prozess, wenn man nur streamt sieht man dort aber auch nicht´s....

Ja aber beim Streaming muss doch auch ein Prozess laufen.

Mein Server fährt nach 1 Stunde ohne Aktivitäten in den Standby-Modus.

Bis jetzt mußte ich mich immer mit SSH auf den Server anmelden, damit noch ein aktiver Nutzer erkannt wird.

Ist aber irgendwie incool.

Hat niemand eine Idee ?

Hab sowas mal bei einem N54L gesehen, hier war der Link dazu.

"WOL Skripte *die den Server automatisch an und wieder abzuschalten sobald Clients im, bzw. nicht mehr im Netz sind*"

@C4ipirinh4

Die WOL-Problematik ist nicht das Problem.

Das WakeUp des Servers habe ich mit einem Raspberry Pi gelöst.

Auf diesem Gerät läuft ein Script, welches mit "tcpdump" ein Paket an den Server registriert und diesen dann per WOL startet (wenn er noch nicht läuft).

Funktioniert einwandfrei.

@all

Ich suche eine Möglichkeit, mit der ich feststellen kann, das durch den unter Ubuntu laufenden Plex Media Server ein Film aktuell wiedergeben wird.

Also einen Prozess oder sowas, woran ich mit einem Script ermitteln kann, das ein Standby gerade unpassend wäre

Mit "ps" bekomme ich nur raus, ob der Plex-Server läuft (und das tut er ja immer).

Ich suche aber einen aktiven Wiedergabeprozess. Den finde ich nicht.

Hast du dir den Beitrag einmal angesehen und den dazu gehörigen Code? Kannst du dann nicht auch ein Script auf deinem Pi laufen lassen, dass checkt ob sich noch Clients im Netzwerk befinden. Genau das wird ja an Hand einer FritzBox gezeigt.

edit: Das hier meine ich

"# Checken ob PC's an sind

if [ `ping -c 1 -i 1 $HOST1 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST2 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST3 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST4 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST5 | grep -wc 100.0%` -eq 0 ] ; then _exit 1;


# Wenn kein PC an ist, 10 sec warten falls gerade einer Neu startet
else
echo "Kein PC online - Warte 90 Sekunden"
sleep 90

# noch mal PC's checken
if [ `ping -c 1 -i 1 $HOST1 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST2 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST3 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST4 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST5 | grep -wc 100.0%` -eq 0 ] ; then _exit 1;

 

# Wenn kein PC an ist, gehe zu exit case 2 (Shutdown)"

Hi,

Ja ich habe mir den Code angesehen, aber Gegenfrage: Hast Du Dir meine Frage(n) durchgelesen?

Mein Problem ist nicht, festzustellen ob noch ein PC im Netz aktiv ist.

Habe ich mit dem Programm "nmap" gelöst:

nmap -n -sP 192.168.xxx.0,10-199 -oG - | grep "^Host" | grep "Status: Up" | wc -l

Wenn da mehr als Null Zeilen rauskommen, dann ist auch noch ein PC aktiv.

Ich streame einen Film vom PlexMediaServer direkt auf meinem SonyTV.

Jetzt könnte ich natürlich auch die IP-Adresse des TV checken, aber die ist natürlich auch aktiv, wenn man ganz normal Fernsehen sieht.

Wenn ich ein aktives Streaming laufen habe, dann muß ich das doch irgendwie ermitteln können.

Also keine WOL oder Standby-Problematik, sondern eine Plex-Media-Server-Problematik.

Desshalb poste ich ja hier auch in einem deutschsprachigen PLEX-FORUM !

Ja gut, dachte es geht um einen Pc/deinen Pi (weil du meintest du bleibst per ssh drauf) und nicht um einen Tv. Dann wäre das nämlich eine Lösung für dich, damit das Ding aus geht wenn du nichts abspielst. So etwas wie du möchtest habe ich leider nicht finden können. Dachte wenn dein Zuspieler aus ist kann auch der Plexserver runter fahren und du musst nicht mehr per ssh drauf bleiben damit der Server nicht aus geht.

Man kann ja am Server selber, wenn du die Serverseite mit dem Browser aufrufst, sehen was gerade abgespielt wird. Vielleicht kann man das irgendwie abfangen.

Sonst schalte deinen Server an/aus wenn dein Pi an geht? Ich blicke nicht ganz durch was du alles an Hardware hast und wie die genau läuft. Dachte es gibt für Sony-Tvs keine Plexapp. Machst du das jetzt über DLNA oder über den Pi?

Also:

Ich habe einen normalen PC als Home-Server zu laufen (Ubuntu).

Darauf läuft ein PlexMediaServer, der Inhalte von den lokalen HDDs zur Verfügung stellt.

Weiterhin bietet er Samba-Freigaben für meine normalen PCs/Laptops an.

Auf diesem Server wird alle 5 Minuten ermittelt, ob irgendjemand im Netz aktiv ist, oder ob sich der Server mit pm-utils schlafenlegen kann.

Wenn er 12 mal hintereinander keinen Grund gefunden hat (12x5=60Minuten) dann Standby.

Zu den Gründen zählen:

- lokaler User aktiv

- Samba-Freigaben werden genutzt

- ein rsync-Prozess läuft (Daten werden Nachts auf 2.interne HDD gesichert)

- ein aktiver Virenscan läuft gerade (wird vor der Sicherung gemacht)

Aufwachen tut der Server, indem auf einem RaspberryPI ein tcpdump-Script in einer Entlosschleife läuft, der ARP-Requests von bestimmten Devices registriert.

Wenn ich also einen PC einschalte, wird von dieser MAC-Adresse ein ARP-Paket versendet, wodurch der RaspberryPI die Möglichkeit hat ein WakeOnLan-Paket an den Server zu senden.

Dieses Setting funktioniert tadellos.

Auf meinem TV kann ich (da LAN-Anschluß) nach Medienservern im Netz suchen lassen. Wenn der HomeServer an ist, läuft auch der PlexMediaServer darauf und ich kann diesen ansprechen.

Somit kann ich mir alle Filme, die der PlexMediaServer anbietet direkt auf dem TV auswählen und anschauen (streaming).

Wenn ich dies mache, dann sollte doch auf dem HomeServer ein Plex-Prozess auftauchen, der mir zeigt, das ein aktives Streaming erfolgt.

Erst wenn ich dies auf Betriebssystemebene des HomeServers ermitteln kann (nutzt den Plex jemand aktiv oder nicht) kann ich den HomeServer auch am Standby hindern.

Ich hoffe jetzt ist mein Problem etwas klarer geworden.

Aber ich fürchte ja, das ich mal wieder als Einzigster so ein Problem habe.

Mein Workarround ist bis jetzt:

Anzahl der Standby-Checks von 12 (1Stunde) auf 24(2Stunden) erhöht. Damit kann ich einen 2Stunden Film anschauen ohne das sich der HomeServer in den Ruhezustand versetzt.

Oder ebend mich von einem PC per SSH an den HomeServer anmelden (und damit zieht Grund 1 in der Liste - Nutzer aktiv > kein Standby)

Danke für deine Zusammenfassung.

Ich nutze unter Windows LightsOut. In der Pro Version für ~18€ (gratis Trial bzw. Community Edition zum Testen sind vorhanden) kann LightsOut den unbenutzten Server herunterfahren. Sobald 20min lang die CPU Last <15% ist und <15kbits Daten übertragen werden wird die Kiste bei mir z. Bsp. in den Standby oder je nach Uhrzeit/Tag ganz ausgeschaltet. Lights-Out überwacht verschiedene Quellen auf Aktivität. Solange mindestens eine Quelle aktiv ist, bleibt der Server ebenfalls aktiv. 

Meldet die Überwachung keine Aktivität mehr, wird der Server deaktiviert.

Das Programm kann noch viel mehr, dies ist aber das Kernfeature welches ich persönlich nutze. Es an den Plex Prozess zu koppeln macht ja wie du angemerkt hast keinen Sinn, da der dauernd läuft.

Vielleicht gibt es unter Ubuntu Alternative, mit denen du deinen Server in den Standby schicken kannst wenn kein Traffic mehr läuft. Ist vielleicht einfacher zu berwerkstelligen, wenn es keinen Streaming Prozess gibt. Ich würde deine Zusammenstellung mal in ein Ubuntu Forum posten ob es da Möglichkeiten gibt die Netzwerklast auf dem Home Server zu überwachen und zu nutzen.

Grüße

Mattes

Danke für den Tip mit der Überwachung des Traffics. Muss ich mal schauen, wie ich die Sache löse.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.