Falls ihr schnell einen sehr günstigen Mediaplayer für Video loops braucht:
https://learn.adafruit.com/raspberry-pi-video-looper/overview?embeds=allow
Falls ihr schnell einen sehr günstigen Mediaplayer für Video loops braucht:
https://learn.adafruit.com/raspberry-pi-video-looper/overview?embeds=allow
Ihr seit auf der Suche nach einem sehr flexiblen Medienabspielgerät? Die WD-TV-HDs und Hama-PMPs dieser Welt machen euch nicht glücklich, weil ihr basteln wollt? Das Ganze für Materialkosten unter 60€?
In diesem HOWTO möchte ich euch zeigen wie ihr aus einem Raspberry Pi (RPi) einen HD-Mediaplayer für Mpeg4 Filme macht. Ihr werden dazu Terminals benutzen, Scripte schreiben und es ist schon ein wenig Hackerei. Es lohnt sich aber. Hinterher noch ein kleiner Ausblick, wie man Videos von zwei RPis halbwegs synchronisiert.
Was ihr braucht:
RPi an den Monitor anschliessen. Maus und Tastatur anschliessen. Netwerkkabel anschliessen (Brauchen wir vielleicht später für Fernsteuerung). Netzteil bereit halten. Wir müssen erst die SD-Karte vorbereiten.
Ladet euch von hier das Betriebssystem für euren RPi namens Rasbian (wheezy). Mit dieser Anleitung solltet ihr es schaffen die SD-Karte richtig einzurichten.
Wenn die Karte fertig ist in den RPi Slot stecken und jetzt das Netzteil verbinden. Wenn alles gut geht, sollte jetzt der RPi mit dem Konfigurationswerkzeug starten. Hier nun solltet ihr zunächst das Dateisystem expandieren (Speicherplatz für die Videos!), dann eure Landeseinstellungen vornehmen und unter Advanced Options den SSH-Zugang ermöglichen! Geduld. Sorgfalt.
Wichtig: Enable Boot to Desktop abschalten! Wir brauchen keine grafische Benutzungsoberfläche (xserver) für dieses Vorhaben.
Nach dem Finish haben wir endlich ein Login vor uns. User: pi Passwort: raspberry
Wir sind drin. Und jetzt kommt der eigentliche Teil auf der Kommandozeile. Vielleicht als erste Fingerübung die IP-Adresse des RPi ermitteln (Könnte später hilfreich sein)
ifconfig
Anwort könnte so aussehen (Bitte notieren):
eth0 Link encap:Ethernet Hardware Adresse ff:ff:ff:ff:ff:ff inet Adresse:192.168.10.231 Bcast:192.168.10.255 Maske:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:1835 errors:0 dropped:0 overruns:0 frame:0 TX packets:1539 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:230418 (225.0 KiB) TX bytes:209983 (205.0 KiB) lo Link encap:Lokale Schleife inet Adresse:127.0.0.1 Maske:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metrik:1 RX packets:201 errors:0 dropped:0 overruns:0 frame:0 TX packets:201 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:0 RX bytes:22233 (21.7 KiB) TX bytes:22233 (21.7 KiB)
Ich gehe im folgenden davon aus, das ihr eure Videos vollautomatisch beim Hochfahren im Vollbild und in HD (1920 x 1080) abspielen wollt. Ausserdem kontinuierlich (loop). So wie es bei den meisten Videoinstallationen benötigt wird.
Die Videos sollten im Mpeg4 Format vorliegen und am besten den h264 Codec haben. Diese auf einen USB-Stick kopieren. USB Stick am RPi anstecken und die Dateien kopieren. Vielleicht vorher noch einen Medienordner an einer sinnvollen Stelle erstellen.
mkdir videos cp /media/NAMEDESSTICK/VERZEICHNISMITVIDEOS/* /home/pi/videos/
Wir legen ein neues Script an, das unsere Steuerbefehle für das Abspielen und den loop ausführen wird.
touch video.sh
Jetzt die Datei mit nano (Ein einfacher Texteditor) editieren.
nano video.sh
Hier kommt jetzt das Script was in den Editor geschrieben werden muss. Wer es sich einfach machen will kann einfach auf seinem Rechner eine Textdatei mit gleichem Namen und Inhalt verfassen und per USB-Stick auf den RPi bringen.
#!/bin/sh #sleep 20 #(SICHERUNGSBOLZEN) setterm -blank 1 fbset -xres 1920 -yres 1080 SERVICE='omxplayer' while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null sleep 1 then #läuft noch else omxplayer -o hdmi /home/pi/videos/VIDEONAMEHIEREINTRAGEN.mp4 & fi done
Was macht es? Es überprüft jede Sekunde, ob der omxplayer das Video noch abspielt und wenn nicht wird es gestartet. Natürlich solltet ihr das Script mit dem richtigen Pfad und ggf. der richtigen Auflösung für euer Ausgabegerät anpassen. Anstatt des Namens eines Videos kann auch ein * (wildcard) angegeben werden, dann werden alle Videos in dem Verzeichnis nacheinander abgespielt (nach Namen geordnet). Jetzt mit CTRL-X nano beenden wollen, dabei speichern nicht vergessen und fertig. Die Zugriffsrechte anpassen, damit das Script wie eine Anwendung gestartet werden kann.
chmod 775 video.sh
Mal testen ob es schon geht.
./video.sh
Das Video sollte abgespielt werden. Im loop. Abbruch des Abspieles ist jederzeit mit CTRL-C möglich. Allerdings sehen wir noch das hässliche Terminal im Hintergrund. Dies verschwindet nach einer Minute (danke setterm
). Jetzt soll dieses Script ja noch automatisch starten. Hierzu erstellen wir ein sogenanntes crontab.
crontab -e
Es geht ein Editor auf wo wir eine Zeile unten einfügen.
@reboot /pi/home/video.sh
Wenn also der RPi neu gestartet, soll das Script sofort laufen. Auch das bitte testen. Wer sich nicht sicher ist kann die Zeile sleep 20
im oberen Script aktiveren (# entfernen), dann wartet der RPi 20 Sekunden nach dem Start und ihr könnt euch schnell einloggen und mit kill -9 -1
das Videoscript abbrechen (und wieder einloggen).
sudo reboot
Wenn alles gut gegangen ist solltet ihr jetzt einen Mediaplayer haben, der automatisch die Videos abspielt. Aber was, wenn ihr noch Veränderungen habt? An die Kommandozeile kommt ihr ja nicht mehr sichtbar ran, wenn der Sicherungsbolzen nicht gesetzt wurde. Die Antwort lautet ssh. Dazu muss der RPi ans Netzwerk angeschlossen werden in dem auch euer Rechner ist. Am besten hängen die am selben Router oder Switch und es läuft DHCP. Ihr solltet die IP-Adresse von eurem RPi ja kennen. Dann Zugriff.
ssh pi@192.168.10.231
Dort könnt ihr das Script anpassen und und und…
http://www.piwall.co.uk/information/10-create-your-own-gpl-movie-piwall