Windows XP-Screensaver/Uhr auf Raspi

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi,
    ich würde gerne das Programm Standard Time auf meine Raspberry Pi zum laufen bekommen. Dabei handelt es sich um eine Art Screensaver, eine 24h-Videodatei, die sich mit der Computeruhr synchronisiert und somit die korrekte Zeit anzeigt. Konzipiert allerdings nur für Windows-PCs und Macs.
    Ich würde gerne in Verbindung mit einem kleinen Bildschirm und dem Raspi daraus eine Uhr basteln.

    Gibt es irgendeine Möglichkeit das ganze zum Laufen zu bekommen?

    So wie ich das bisher sehe gibt es zwei Möglichkeiten:

    1. Windows XP per Emulator auf dem Raspi ausführen, was allerdings wohl sehr langsam läuft. Vermutlich zu langsam um ein HD-Video abzuspielen, oder?

    2. Ein Script schreiben, das die Videodatei so ausführt, wie das Programm auf der DVD und mit der Computeruhr synchronisiert. Genau das hat hier schon jemand mit Linux geschafft. Ich habe allerdings keinerlei Programmier- oder Linuxkenntnisse, sodass ich nicht weiss, ob sich das irgendwie auf den Raspi übertragen lässt.

    Kann mir da jemand helfen? Bin für jeden Tipp dankbar!

  • Wieso macht man sowas mit einer Filmdatei? Welchen Container nutzt der Film? Etc etc etc

    • Offizieller Beitrag

    Zu 1.) das geht nicht und wird nie gehen
    zu 2.) In deinem Link steht doch schon ziemlich alles drin. Da es ja nur als Uhr laufen willst, kann man das ganze screensaver geraffel sogar weglassen und nur dauerhaft das Video spielen ABER der Pi kann keine .mov Dateien abspielen. Das heisst du musst das video umwandeln (am besten in h264).

    Da du ja ein 24h video hast würde es sogar ausreichen das video einmal pro tag neu zu starten (ich vermute es startet um Mitternacht?) so kann man sich sogar das Zeitholen und übergeben per Python sparen.

  • Ein Codec ist nicht das selbe wie ein Dateiformat!
    Näheres dazu könnt ihr hier nachlesen: http://www.selflinux.org/selflinux/html/mplayer06.html

    Ich hab bei mir testhalber ein *.mp4 in *.mov umgewandelt und konnte das problemlos mit dem RPI über mplayer abspielen
    (mal davon abgesehen das ich einen Converter genutzt hab den man kaufen müsste und deshalb ein Watermark übers ganze Bild hinweg zu sehen ist...)

    Code
    apt-get install mplayer -y

    Und zum abspielen hab ich sozusagen die Zeile aus dem python Script genutzt:

    Code
    mplayer -nosound -nolirc -nostop-xscreensaver -fs -loop 0 /tmp/Dinosaurs_-_Not_the_MAMA.mov

    Da ich aber auch über Xming gehe, ist das Bild ziemlich doll am ruckeln - aber abspielen geht :D

    Hab euch mal beide Dateien, also sowohl das Original *.mp4 als auch das *.mov, hochgeladen damit ihr das selber testen könnt: http://msi.to/file/85721


    Finde es aber auch ein bischen fraglich ob sich der Aufwand lohnt, ist zwar lustig zu sehen wie 70 Bauarbeiter mit Holtzlatten eine Uhr emmitieren aber deswegen eine 7GB Datei auf den RPI laden usw find ich dann schon ein bischen übertrieben :-/

    • Offizieller Beitrag
    Zitat


    [font="Tahoma"]Ein Codec ist nicht das selbe wie ein Dateiformat![/font]
    [font="Tahoma"]Näheres dazu könnt ihr hier nachlesen: [/font][font="Tahoma"]http://www.selflinux.org/selflinux/html/mplayer06.html[/font]

    [font="Tahoma"]Das ist mir bewusst ;), allerdings verbinde ich .mov fast automatisch mit Quicktime und ging daher davon aus das quicktime als codec verwendet wird. Nichtsdestotrotz sollte man das Video in ein Codec packen der Hardware beschleunigt wiedergegeben kann.[/font]

    [font="Tahoma"]Und dann sollte das sogar flüssig laufen. Wenn das Teil nur als Wandschmuck dienen soll.[/font]

  • Welli well...

    Ich würde auf dem RPi vermutlich keine Videos abspielen. Prinzipiell sehe ich aber kein Problem irgendwann das gewünschte Ergebnis zu erreichen. Es kann aber nötig sein, das Video in der Auflösung zu beschränken, es sollte exakt nur die Anzahl Pixel haben, die der "kleine" Bildschirm hat.

    Es wird auch eine Möglichkeit geben, .mov Videos in irgendwas anständiges zu wandeln, es gibt ffmpeg, es gibt mencoder und es mag noch mehr Konverter geben.

    Ich würde das große Video in einige kleine Videos zerschneiden und die nacheinander abspielen lassen, jeweils zwischen den Videos wird die Zeit festgestellt und ein neues Video immer ab einer bestimmten Zeit gestartet, eventuell gibt es dann sehr kleine Lücken, die aber nicht auffallen dürften. Im ersten Ansatz dachte ich an jede Stunde ein neues Video. Je mehr Videos, desto besser ist die Synchronisation.

    Netzwerkzugang = Internetzugang wäre für ntp gut. Damit würde wenigstens schon die Zeit Synchron sein.

    Ich habe noch nie .mov Videos zum Bearbeiten vor der Nase gehabt, notfalls filmt man das vom Bildschirm ab, was auch immer, sobald ein Inhalt menschensichtbar ist, kann man ihn auch wandeln.

    Niemand darf mich nach Urheberrecht fragen! Darum habe ich mich jetzt natürlich nicht gekümmert. Für private und Forschungszwecke dürfte dieses Projekt aber erlaubt sein.

    Mein Lieblingsformat/Lieblingskompressor oder Container (nach 10 Jahren Videoaufnahme mit Computern weiß ich das immer noch nicht...) ist übrigens XVID. Funktioniert recht gut und treibt die Prozessorlast nicht so in die Höhe. x264 braucht schon deutlich mehr Dampf.

    Mir würde so ein Projekt schon gefallen.


  • Nichtsdestotrotz sollte man das Video in ein Codec packen der Hardware beschleunigt wiedergegeben kann.

    Dafür brauch man dann aber auch eine MPEG2 Lizense um beim RPI eine Hardware-Beschleunigung nutzen zu können - die ich übriegends besitze und auch in die config.txt eingebunden habe ;)

    Mit einer MPEG2 License werden folgende Codecs beschleunigt:

    Code
    H264 	enabled
    MPG2 	enabled
    WVC1 	disabled
    MPG4 	enabled
    MJPG 	enabled
    WMV9 	disabled


    Aber über Xming ruckelts leider generell, also sowohl Spiele als auch Videos - erst wenn ich einen Monitor anschliesse ruckelt das nicht mehr, aber dazu hab ich nicht sooo oft Lust weil ich nur einen Monitor habe :D

  • Also erstmal vielen Dank für die vielen Anregungen!

    Da ich wohl nen kleinen Display für die Uhr nutzen werde (der auf den ich gerade bei eBay biete hat nur ne Auflösung 480x234 Pixel ) ist es wohl ziemlich sinnlos das Video in HD zu belassen. Werde also morgen erstmal das Video umwandeln und schauen was (h264, XVid) sich am besten eignet.

    Wäre eigentlich der Raspi Modell A ausreichend, oder brauch ich die 512 MB für das Projekt?

  • Hab ich leider nicht, hab nur das Model B. Dieses ist allerdings gerade anders genutzt und ich würde mir für die Uhr nen neuen Raspi zulegen.
    Und da will ich natürlich sparen... ;)

    Einmal editiert, zuletzt von derus (24. August 2013 um 03:11)


  • Modell A hat keinen Drahtnetzwerkanschlus... wegen der Zeitsynchronisation.


    Sollte das Vorhaben irgendwie klappen und das Video würde um Punkt 12.00Uhr Mitternacht gestartet, wäre das überflüssig, da das Video ja anscheint eh 24h durchläuft.


    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

  • Soweit die Theorie, wie wir aber alle wissen, gehen Computeruhren gern mal etwas vor oder nach, oder nicht?

    Meine Uhren scheinen jedenfalls alle nachzugehen, daher synchronisiere ich gern per ntp, ist so eine Schwäche die ich habe, Uhren müssen bei mir auf die Sekunde stimmen.

  • Okay, das stimmt wohl.
    Doch wenn das Video wirklich 24h geht und es dabei keinen Netzwerkzugriff benötigt, hat es ja nichts mit der Systemuhr am Hut, weshalb diese auch auf 14:37 stehen könnte, solange nur das Video ohne Ruckler und Verzögerungen durchläuft.

    Am Ende wird aber eh ein Zugang zu mindestens ins eigene LAN von Nöten sein, wenn das Video manuell neugestartet oder beendet werden soll.
    Vom Pi mal ganz zu schweigen, der es überhaupt nicht ab kann, wenn urplötzlich der Saft ausgeht.


    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

  • So, ich hab jetzt mal versucht anhand des Tutorials weiter zu machen. Bin schon am ersten Schritt gescheitert :D

    Zunächst hab ich die originale .mov-Datei in eine h264-Datei mit einer Auflösung von 480x234 umgewandelt. Dann hab ich in der .py-Datei das Verzeichnis in /home/pi/st24.avi geändert.

    Schließlich hab mit sudo apt-get install mplayer w64codecs gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-bad-multiverse versucht den mplayer zu installieren.

    Dann kommt irgendwas von:
    Package gstreamer0.10-plugins-bad-multiverse is not available, but reffered to by another package
    [...]
    The following package replace it: gstreamer0.10-plugins-bad

    Package gstreamer0.10-plugins-ugly-multiverse is not available, but reffered to by another package

    E: Unable to locate w64 codecs
    E: Package gstreamer0.10-plugins-ugly-multiverse has no installation cadidate
    E: Package gstreamer0.10-plugins-bad-multiverse has no installation cadidate

    Wie gesagt, ich hab null Ahnung von Linux und weiss nicht was das bedeutet. Zumindest wurde kein mplayer installiert.
    Hab letzlich noch die Videodatei und die beiden Skripte in LXDE nach /home/pi kopiert. Wenn ich das Video versuche zu starten soll ich ein Programm auswählen.

    Einmal editiert, zuletzt von derus (24. August 2013 um 14:08)

  • Du willst ja nicht streamen also lass die Pakete einfach weg - brauchte ich hier auch nicht..
    Also zunächst nur mplayer installieren und dann versuchen das Video abzuspielen - wenn er dann wegen Codec meckert guckt man welches Paket man für den jeweiligen Codec benötigt...


    Übriegens: Die anderen hier machen sich viel zu viel Sorgen wegen Video neu starten usw.. Die Option " -loop 0 " sorgt dafür dass das Video "forever" abgespielt wird, also eine Endlosschleife


    Eine Alternative zu mplayer wäre auch omxplayer: http://www.cenolan.com/2013/03/loopin…r-raspberry-pi/

  • Als alter Windows-User versuch ich ja statt über die Konsole immer alles mit LXDE zu regeln, aber bin irgendwie zu blöd dafür.

    Hab jetzt den omxplayer installiert, ein bißchen gegoogelt und dann mit omxplayer st24.avi das Video gestartet. Funktioniert tadellos!

    Und nun? Kann ich die .py-Date jetzt entsprechend anpassen, dass das ganze über den omxplayer läuft? Und wie?

    Einmal editiert, zuletzt von derus (24. August 2013 um 16:52)

  • Hab jetzt den omxplayer installiert, ein bißchen gegoogelt und dann mit omxplayer st24.avi das Video gestartet. Funktioniert tadellos!

    Hat es mit mplayer nicht funktioniert, oder wieso nutzt du jetzt omxplayer?


    Und nun? Muss ich die .py-Date jetzt entsprechend anpassen? Und wie?

    Ich weiss nicht genau ob man das Python Script überhaupt unbedingt haben muss :huh:

    Ich würds erstmal ohne versuchen bzw das bash Script verwenden was ich oben verlinkt hab - das brauch man bei omxplayer nämlich für einen künstlichen Loop, omxplayer kennt nämlich leider kein "-loop" Parameter:


    Also zB als /bin/videoloop.sh speichern, ausführbar machen ( chmod +x /bin/videoloop.sh ) und dann ausführen..

    Das "while" ist eine Schleife - es dreht sich also solange im Kreis bis irgendein Fehler auftritt oder die Schleife unterbrochen wird (nicht mehr "true")
    Das "for File in..." ist ebenfals eine Schleife, für jedes File was in dem Verzeichniss gefunden wird, wird $SERVICE ausgeführt...

    Also beim ersten Durchlauf der while-Schleife wird zunächst geprüft ob der Prozess $SERVICE bereits läuft, falls nicht (else) wird die "for File"-Schleife angesprochen und die wiederum durchsucht das Verzeichnis /home/pi/videos/ und spielt jede Datei ab ($SERVICE $File), gibts nur ein File wird nur eines abgespielt..
    Nachdem das playback beendet wurde is die "for File"-Schleife zuende und die "while"-Schleife fängt von vorne an

  • Hatte zunächst Probleme bei der Installation von mplayer. Funktioniert jetzt aber und er spielt das Video auch ab. Im Gegensatz zum omxplayer nicht in Vollbild sondern klein in Originalgröße links oben (hab den Raspi derzeit an nem HD-Fernseher hängen), aber das sollte ja später nicht das Problem sein.

    Hab nun weiter versucht, die beiden Script-Dateien nach Anleitung in das /usr/lib/xscreensaver-Verzeichnis zu kopieren, aber das gibt es nicht. Den Menüpunkt System -> Preferences -> Screensaver ebenso nicht. Komme da wohl mit dem Tutorial ab hier nicht weiter.

    Werd jetzt mal versuchen, das von dir verlinkte Script auszuführen. Aber mit der Computeruhr ist dies ja nun noch nicht verknüpft, wie würde man das hinkriegen?

  • Hab nun rausgefunden worans lag. Der Xscreensaver war einfach nicht installiert. Hab dies nun getan und konnte dann auch die beiden Script-Dateien in den Xscreensaver-Ordner kopieren und die .py-Datei ausführen.

    Nun gibts im LXDE-Menü den Bildschirmschoner, aber Standardtime ist nicht in der Auswahl dabei. Woran liegts?

    Hab sogar noch gnome-sudoku installiert, hat aber auch nix gebracht.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!