Jump to content

chanstat


SnowHead

Empfohlene Beiträge

  • Admin

In einem anderen Forum wurde nach der Möglichkeit gefragt, eine Statistik der

geschauten Kanäle zu erstellen. Also z.B. die Top-Ten mit Name und Dauer. Ich

habe deshalb mal fix ein Quick'n Dirty-Script erstellt, welches das schon mal

rudimentär bewerkstelligt. Es kommt mit den Rechten 755 nach /etc/init.d/

und wird dann automatisch bei jedem Neustart mit gestartet. Zum Anschauen der

Statistik macht man sich für das FlexMenü folgenden Eintrag

 

ACTION=§Kanalstatistik,/etc/init.d/S81chanstat show

 

Die 15 am häufigsten gesehenen Kanäle werden mit Name, Zeit und Zappinganzahl

angezeigt.

Im Image müssen shellexec zum Starten der Anzeige und msgbox und sort (in der

BusyBox) zum Anzeigen selbst vorhanden sein.

Wer einen externen Datenträger angeschlossen hat, sollte das Statistik-Verzeichnis

(definiert in "statfile" in Zeile 4) auf diesen Datenträger verlegen, damit nicht so häufig

in den Flash der Box geschrieben wird. Das ist nicht gut für diesen.

 

Viel Spaß beim Testen. Fehlermeldungen und Verbesserungsvorschläge sind will-

kommen.

S81chanstat.tar.gz

bearbeitet von SnowHead
aktualisierte Version angehängt
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@fred_feuerstein

 

Danke für die Rückmeldung. Die Spaltenpositionen hängen immer ein bischen von den OSD-Einstellungen

ab. Sie können mit den Werten für "tab1" (Zeitspalte) und "tab2" (Zappingspalte) an eigene Wünsche ange-

passt werden. Bei mir sieht es mit diesen Werten so aus:

stat.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@fred_feuerstein

 

Schön, daß es jetzt auch bei Dir passt.

 

 

@All

 

Wer übrigens die Sortierung der Liste nach Zapanzahl statt nach Zeit wünscht,

ändert einfach Zeile 21 folgendermaßen:

 

sort -t';' -r -n -k3 -o $tmpfile $statfile
Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin ....

 

Fehlermeldungen und Verbesserungsvorschläge sind will-

kommen.

Hab das Plugin installiert, Rechte vergeben und den Eintrag im Flexmenü vorgenommen.

Wenn ich nun die Kanalstatistik aufrufe sehe ich das Fenster

mit dern Übersc`hriften `Kanal Dauer ...pp

und unten der OK-Taste sonst keine Inhalte.

 

Die Dateien

 

statfile=/var/tuxbox/config/chanstat.log
tmpfile=/tmp/chanstat.tmp
msgfile=/tmp/chanstat.msg
flagfile=/tmp/.chanstat

werden nicht angelegt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@colt

 

Abgesehen von den Voraussetzungen (bei Dir könnte höchstens noch "sort" fehlen) muß die Box

nach der Plugininstallation neu gestartet werden um den daemon zu starten und mindestens ein

Mal gezappt worden sein, damit die Datei chanstat.log überhaupt Daten bekommt. Das fehlende

Flagfile deutet darauf hin, daß der daemon noch gar nicht gestartet wurde. Das kann allerdings

auch daran liegen, daß bei Deinem Image der Autostart von Dateien nicht mit Startdateien der

Form "/etc/init.d/Sxxblabla" erfolgt, was mich allerdings wundern sollte. In diesem Fall müßte der

daemon in der start_neutrino mit "/etc/init.d/S81chanstat start" gestartet werden.

Näheren Aufschluss kann auch der Aufruf "/etc/init.d/S81chanstat show" per Telnet geben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin ....

Näheren Aufschluss kann auch der Aufruf "/etc/init.d/S81chanstat show" per Telnet geben.

Danke ....

wollte den Server nicht neu starten

und hatte das `show` vergessen ....

 

Schönes Plugin ... :thumbsu:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

ich hab das plugin auch mal probiert. Läßt sich komischerweise bei mir auch nur aus der über ne Startdatei (ich nehme rcS.local) starten. Aber das ist ja nicht das Problem. Funktioniert auch soweit super.

 

Was ich noch wollte, ist dass wenn ich den movieplayer nutze, die Zeiten von dem dann aktiven (aber nicht geschauten) Kanal nicht mitgeschrieben werden. Dazu hab ich das script ein wenig erweitert und die movieplayer.start und movieplayer.end im /vat/tuxbox/config angelegt.

 

movieplayer.start

 

 

#!/bin/sh

flagfile=/tmp/.mplayer

touch $flagfile

 

 

 

movieplayer.end

 

 

#!/bin/sh

flagfile=/tmp/.mplayer

rm -f $flagfile

 

 

 

in dem eigentlichen script hab ich nur noch eine Bedingung in der while-Schleife angefügt.

 

 

....

mplayer=/tmp/.mplayer

....

while [ -e $flagfile ] do

if [ `wget -Y off -q -O- http://localhost/con...statusplayback` -eq 1 -a ! -e $mplayer ]

then

....

 

 

 

Scheint auch so zu funktionieren.

 

 

 

Gruß

 

druschba

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@druschba

 

Das ist zwar gut gemeint aber im Grunde unnötig. Läuft der Movieplayer, erfolgte auch beim ursprünglichen

Script keine Zählung der Zeit für den aktiven Kanal. Ebensowenig wie bei Nutzung des Audioplayers, des Bild-

betrachters und im Standby. Zu prüfen mit folgender Eingabe im Telnet (Copy&Paste) und Aktivierung der

verschiedenen Multimedia-Funktionen:

 

while [ 1 ];do if [ `wget -Y off -q -O- http://localhost/control/zapto?statusplayback` -eq 1 ];then echo count;else echo no count;fi;sleep 1;done

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Snowhead,

 

ich hab das mal ausprobiert. Es wird immer "count " angezeigt, egal was ich an der Cooly grad am laufen hab. Kann es sein, dass es daran liegt, dass ich ne NEO² mit ihren zwei tunern habe?

 

Und bei meiner Lösung ist mit aufgefallen, dass ich beim Timeshift natürlich auch das zählen der Zeiten unterdrücke, da das auch vom movieplayer gemacht wir.

 

Ich teste weiter.....

 

Gruß

 

druschba

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@druschba

 

Wie das Teil auf der Neo² mit ihren zwei Tunern funktioniert, kann ich nicht sagen, da ich keine habe.

Vorstellbar ist, daß auch bei den Playern ein zweiter Tuner im Hintergrund aktiv ist und deshalb keine

vernünftige Meldung von der zapit kommt. Da kann man nur hoffen, daß auch mal das Webinterface

zur Abfrage der zapit an die Twin-Tuner-Version angepasst wird. Anderenfalls wäre das Script nur auf

Single-Tuner-Boxen einsetzbar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...
  • Admin

Ich habe vorn noch mal eine neue Version angehängt. Zappings, welche kürzer als

30 Sekunden auf einem Kanal bleiben, werden nicht mehr in die Statistik aufgenommen.

Für die Analyse des Sehverhaltens ist es ja interessanter, auf welchen Kanälen man

wirklich schaut und nicht, über welche man mal fix drübergezappt hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

...

Für die Analyse des Sehverhaltens ist es ja interessanter, auf welchen Kanälen man

wirklich schaut und nicht, über welche man mal fix drübergezappt hat.

 

hmmm...

 

irgendwas stimmt nicht

 

durch "Olympia" ist mir aufgefallen das das plugin "Das Erste HD" nicht mag

 

sind ja doch einige stunden die man(n) da schaut

 

sehr eigenartig

 

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@universum123

 

Wenn Du z.B. 4 Stunden Olympia geschaut hast, wird die vergangene Zeit erst in

die Datenbank geschrieben (und damit auch angezeigt), wenn Du für mindestens

30 Sekunden auf einen anderen Kanal zappst, in den Standby gehst oder die Box

runterfährst. Verloren geht diese Zeit also nicht. Es kann halt nur nicht so häufig

wie z.B. auf einem PC geschrieben werden, da einige den boxeninternen Flash

als Speicherort nutzen und der nur eine begrenzte Anzahl Lösch-/Schreibzyklen

verkraftet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmmmm....

 

is mir halt erst jetzt so richtig aufgefallen

 

50 min angezeigt is doch recht wenig ;-) (für ca. eine Woche)

 

da einige den boxeninternen Flash

als Speicherort nutzen

 

ich lagere eigentlich auf ein USB-Stick aus (statfile=/tmp/media/sda1/chanstatistik/chanstat.log )

 

mal sehen wie sich die sache weiter entwickelt

 

mfg und danke für die antwort

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 5 months later...
  • 3 weeks later...

@SnowHead

 

nur mal interessehalber

 

ich hab keine Ahnung von so was

 

mir ist halt nur aufgefallen weil ich den "Pfad" zum Speicherort angeben musste

 

datei heist "S81chanstat"

 

in der Datei "K81chanstat"

 

case $1 in
start)
[ -e /etc/init.d/K81chanstat ] || ln -sf $0 /etc/init.d/K81chanstat
touch $flagfile
$0 daemon &
;;
stop)
rm -f $flagfile
;;
show)

 

hat das ein grund?

 

uni

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

@universum123

 

Die Datei S81chanstat (also das eigentliche Script) muß beim Herunterfahren der

Box noch einmal mit dem Parameter "stop" aufgerufen werden, um seine aktuelle

Statistik noch speichern zu können, bevor die Box sich abschaltet.

Der Ablaufprozess des Systems sieht vor, vor dem Herunterfahren alle Dateien

in /etc/init.d/ welche mit dem Buchstaben "K" anfangen mit dem Parameter "stop"

aufzurufen.

Deshalb prüft das Script, ob bereits eine Chanstat-Datei mit "K" existiert. Wenn

nicht, wird ein Link mit dem Namen "K81chanstat" erzeugt, welcher auf das Script

"S81chanstat" verweist. Dadurch ist sichergestellt, daß, wenn das System beim

Runterfahren "K81chanstat stop" aufruft, das tatsächlich vorhandene Script

"S81chanstat" mit "stop" aufgerufen wird.

Der vorherige Test wird deshalb durchgeführt, damit der Link nicht jedes mal

stumpf neu angelegt wird, da das nicht gut für den Flash ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...