Hallo,
ich hab mir schon ein eigenes Programm geschrieben, dass prüft, ob
momentan eine TV Karte in Gebrauch ist.
Hierzu greife ich auf folgende Datei von tvheadend zu.
http://192.168.0.200:9981/api/status/subscriptions
Wird aktuell keine TV Karte genutzt, sieht der Inhalt der Datei
folgendermaßen aus:
{"entries":[],"totalCount":0}
Findet mein Programm diesen Inhalt, so wartet mein Programm, ob er in 5
Minuten den Inhalt verändert.
Verändert sich nicht der Inhalt, so wollte ich die TV Karte
deaktivieren, indem ich die Module deaktiviere, aber dies geht leider
nicht.
root@aSrOcKserver:/home/andreas# rmmod b2c2_flexcop
rmmod: ERROR: Module b2c2_flexcop is in use by: b2c2_flexcop_pci
Das kommt daher, da dass Programm tvheadend noch läuft und auf die
Module zugreift.
Deaktiviere ich aber tvheadend, so kann ich die Datei subscriptions
selbstverständlich nicht mehr auswerten.
Daher meine Frage:
Gibt es unter Linux einen Befehl, dass TCP/IP Pakete überprüfen kann?
Wenn dem so ist, dann könnte ich tvheadend u. die Module der TV Karte
deaktivieren und falls wieder eine Anfrage im Netzwerk seitens meiner TV
Boxen auf IP Adresse u. Port 9981 kommt, die Module u. tvheadend wieder
starten.
Du könntest evtl wenn Du TVHeadend beendest stattdessen z.B. netcat auf
Port 9981 starten, schauen ob was kommt?
Falls ja dann netcat beenden und TVHeadend wieder starten?
Hi, daran hatte ich auch schon gedacht, jedoch führt folgender Befehl nc
-l -p 9981 dazu, dass wenn ich mit vlc drauf zugreife, ich folgende
Ausgabe bekomme:
root@aSrOcKserver:/home/andreas# nc -l -p 9981
GET
/stream/channelid/1725080237?ticket=D8F7A789ADF786E2984B9BFD67F96A689B97
67D5&profile=pass HTTP/1.1
Host: 192.168.0.200:9981
Accept: */*
Accept-Language: de
User-Agent: VLC/3.0.8 LibVLC/3.0.8
Range: bytes=0-
Erst wenn ich auf den Stopbutton von vlc drücke, beendet sich der Befehl
und dann würde erst die Ausgabe von nc in eine Datei umgeleitet werden
nc -l -p 9981 > ausgabe.txt.
Ich müsste jedoch die Ausgabe direkt auswerten können und nicht erst
dann, wenn vlc beendet wird
Das liegt daran, dass vlc den Stream als Antwort erwartet. Du könntest
bei nc aber mal versuchen, mit -w einen Timeout anzugeben, damit er die
Verbindung nach eine kurzen Zeit schließt. Könnte aber dazu führen, dass
der vlc dann einen Fehler meldet.
Ansonsten: Kann man die Karte nicht per Powermanagement in den
Idle-Modus versetzen? Schau da mal mit powertop nach.
Im System sind 2 TV Karten verbaut.
Sind beide TV Karten in Nutzung, hab ich einen Stromverbrauch von
35,5-36,5 Watt.
In tvheadend hab ich z.b idle scan deaktiviviert und dass wenn die tv
Karte in idle ist, es die lnb Ansteuerung deaktiviert.
Hier schwankt der Stromverbrauch zwischen 29.5-30,5 Watt.
Deaktiviere ich tvheadend u. die tv karten Module, schwankt der
Stromverbrauch auch zwischen 29.5-30,5 Watt.
Und den gesamten Rechner bei Nichtnutzung in den Ruhezustand zu
versetzen, z.B. mittels https://github.com/languitar/autosuspend, wäre
keine Option?
(auf die Idee meine DigitalDevices-TV-Karte für ca. 5W zu deaktivieren
wäre ich nie gekommen....)
Jetzt Offtopic, aber bei MythTV ließ sich das recht einfach einrichten.
Wenn der TV-Server nicht gebraucht wird, fährt er komplett herunter,
stellt sich aber einen Wecker in der System-RTC, um dann rechtzeitig vor
der nächsten Aufnahme wieder aufzuwachen.
Zwischendurch lässt er sich bei Bedarf dann per WoL wecken, oder einfach
Power-Knopf.
Und natürlich lassen sich weitere Nebenbedingungen für den automatischen
shutdown festlegen, z.B. nicht wenn Benutzer eingeloggt sind, kürzlich
Zugriffe auf den Webserver (Mythweb) erfolgt sind, der Samba-Server noch
Transfers laufen hat usw.