Open Ardios opened 5 years ago
Was ist wenn du den Prozess mit "omxplayer -o alsa /pfad/zum/Video.mp4 &" in den Hintergrund schiebst? Würde das funktionieren?
Hey,
nun habe ich das Problem, das ich den Prozess nicht mehr beendet bekomme, auch nicht z.B per htop, da hilft dann nur noch ein reboot
Hi @Ardios ich wollte mich da auch mal ransetzen. Wenn man die Phoniebox parallel für video einsetzen kann, das wäre schon elegant. Keep the info coming, sodass ich das in meinen Zeitplan einarbeiten könnte. Grüße, micz
Die Option YouTube Videos per RFID abspielen zu können reizt mich auch sehr. Wenn das klappen würde wäre das ein Traum. Die MP4 Datei liegt ja na vor wenn man den Stream im GUI ausgewählt hat. Vielleicht wäre ein separater Stop Knopf per GPIO eine Lösung ?
Video find ich gut. Ich bau damit eine Jukebox für meine Senioren. Da klappts leider auch nicht mehr so mit den kleinen Tasten....
Mit dem https://github.com/willprice/python-omxplayer-wrapper kann man den OMXplayer per API steuern. Dann läuft der nicht blockierend und mann kann ihn trotzdem steuern. z.B. mit player.play() oder player.pause(). Ich würde noch die --blank option empfehlen (=Fullscreen)
Finde ich super. Es wäre klasse, wenn wir das parallel in die Box einbauen, sodass man das Drumherum alles nutzen kann und entweder im web Interface oder beim Installieren entscheidet, was das Output ist. Alternativ könnte man das vielleicht sogar komplett integrieren und zB Podcasts könnten auch über audio out laufen während video files automatisch auf dem Monitor laufen. Was denkt ihr? Beste Grüße, Micz
Sent with GitHawk
Kam auf die selbe Idee und habe versucht es möglichst einfach umzusetzen, folgendes Setup läuft im Moment.
video_ids
ist eine datei in der ich id:videoname speichererfid_video_play.sh
ist mein Skript den ich am Ende der rfid_trigger_play.sh
Datei aufrufe.rfid_video_play.sh
checkt ob omxplayer am laufen ist, stopped den prozess ggf (oder pausiert das video) mithilfe von dbuscontrol.sh
Ist auch das erste Mal das ich einen sh-skript schreibe, von daher bestimmt verbesserbar, nichtsdestotrotz bin ich sehr glücklich dass es läuft.
Hi Soonshiny , mich interessiert das auch sehr mit dem abspielen der Videos, und ich habe nun deine dateien in die jeweiligen ordner verschoben und die video_ids mit einem testvideo angepasst. Pi neu gestartet jedoch startet kein video nachdem ich eine id karte eingelesen habe. Was muss ich denn da noch anpassen? Gruß Supi4ever
So , habe nun noch folgenden Eintarg in der rfid_trigger_play.sh hinzugefügt: fi sudo echo ${PLAYLISTNAME} > $PATHDATA/../settings/Latest_Playlist_Played sudo chmod 777 $PATHDATA/../settings/Latest_Playlist_Played else if [ "$DEBUG" == "true" ]; then echo "Path not found $AUDIOFOLDERSPATH/$FOLDER" >> $PATHDATA/../logs/debug.log; fi fi bash /home/pi/RPi-Jukebox-RFID/scripts/rfid_video_play.sh
Aber trotzdem startet kein Video. Nur zum Verständnis , das ganze soll auf der Phoniebox laufen , oder ? Bin da grad am verzweifeln, denn das mit dem Video über RFID wäre für uns eine enorme erleichterung. Unser Sohn ist Autist mit wenig Sprache und ich versuche ihm und uns das Leben leichter zu gestalten. Mit der Phoniebox hat das schon super geklappt in SAchen Musik , Video wäre jetzt nochmal die Krönung. Er kann sich leider nicht verbal richtig äussern und so wissen wir oft nicht was er möchte.
Gruß Supi4ever
So , habe nun noch folgenden Eintarg in der rfid_trigger_play.sh hinzugefügt: fi sudo echo ${PLAYLISTNAME} > $PATHDATA/../settings/Latest_Playlist_Played sudo chmod 777 $PATHDATA/../settings/Latest_Playlist_Played else if [ "$DEBUG" == "true" ]; then echo "Path not found $AUDIOFOLDERSPATH/$FOLDER" >> $PATHDATA/../logs/debug.log; fi fi bash /home/pi/RPi-Jukebox-RFID/scripts/rfid_video_play.sh
Aber trotzdem startet kein Video. Nur zum Verständnis , das ganze soll auf der Phoniebox laufen , oder ? Bin da grad am verzweifeln, denn das mit dem Video über RFID wäre für uns eine enorme erleichterung. Unser Sohn ist Autist mit wenig Sprache und ich versuche ihm und uns das Leben leichter zu gestalten. Mit der Phoniebox hat das schon super geklappt in SAchen Musik , Video wäre jetzt nochmal die Krönung. Er kann sich leider nicht verbal richtig äussern und so wissen wir oft nicht was er möchte.
Gruß Supi4ever
Bin gerade im Bus nach Hause, werde mich erneut melden wenn ich da bin, so dass wir das möglichst schnell realisieren können 👌
Update:
Ich denke ich habe vergessen, wie ich die rfid_video_play.sh
aufrufe.
Wichtig ist nämlich das wir die ID der sh direkt übergeben, hier ist der letzte else part in der rfid_trigger_play.sh
:
if [ "$DEBUG" == "true" ]; then echo "Path not found $AUDIOFOLDERSPATH/$FOLDER" >> $PATHDATA/../logs/debug.log; fi $PATHDATA/rfid_video_play.sh $CARDID
Plane noch die Video Funktion ins Web-Interface einzubinden.
LG
Fredi
Hi @supi4ever @soonshiny danke für eure Initiative den Videosupport einzubinden. Wie schon oben gesagt, ich würde das gerne in den Core Code einbinden. Deshalb wäre es super, wenn ihr eure nächsten Schritte hier postet, dann kann ich mich da bald mal ransetzen. Danke micz
Hi @supi4ever @soonshiny danke für eure Initiative den Videosupport einzubinden. Wie schon oben gesagt, ich würde das gerne in den Core Code einbinden. Deshalb wäre es super, wenn ihr eure nächsten Schritte hier postet, dann kann ich mich da bald mal ransetzen. Danke micz
Haben es heute auch bei @supi4ever zum Laufen gebracht. Hier sind die aktuellsten Daten. Denke da kann man noch viel optimieren, die Video Logik könnte direkt in rfid_trigger_play.sh hinzugefügt werden, die video_ids könnten auch ähnlich wie die audio dateien verarbeitet werden. Habe es nur so schnell umgesetzt, da ich es selber für ein Geschenk brauche. Würde gerne das ganze auch noch im Web Interface sehen, aber ich kenne mich nicht wirklich mit php aus, würde aber gerne mit helfen und etwas Neues dazu lernen, ein open working branch wäre also ideal.
Falls noch Fragen bestehen, kann man mich auch bei Telegram kontaktieren (https://t.me/wlk_fredi) VideoCards_2.zip
@soonshiny sorry das ich mich jetzt erst wieder mit einklinke...aber manchmal fehlt es einfach an Zeit :)
Also ich kam heute endlich dazu, dein Script zu testen...allerdings habe ich noch ein kleines Problem und zwar ist es bei mir so, wenn ich das Video per RFID starte scheint es so als würde er die Videos 2x starten...ich höre den Ton doppeltet mit einer Sekunde Verögerung, dadurch flackert dann auch das Bild und wird alle paar Sekunden schwarz :(
Wenn ich den Befehl direkt in der Console eingebe (omxplayer -b -z /home/pi/videos/video.mp4
), läuft es ohne Probleme.
Wie habt ihr euch denn eine Einbindung ins WebGUI vorgestellt? Ich habe mich für den einfachen Weg entschieden ;) also kurz auf GitHub nen Filemanager rausgesucht und dann kurz eingebunden...geht mit Sicherheit schneller und schöner aber so kann ich direkt meine Videos hochladen und gleichzeitig auch die video_ids Datei bearbeiten
Das sieht gut aus Ardios. Wie hast du das genau gemacht?
@Ardios
sorry das ich mich jetzt erst wieder mit einklinke...aber manchmal fehlt es einfach an Zeit :)
Also ich kam heute endlich dazu, dein Script zu testen...allerdings habe ich noch ein kleines Problem und zwar ist es bei mir so, wenn ich das Video per RFID starte scheint es so als würde er die Videos 2x starten...ich höre den Ton doppeltet mit einer Sekunde Verögerung, dadurch flackert dann auch das Bild und wird alle paar Sekunden schwarz :(
Wenn ich den Befehl direkt in der Console eingebe (
omxplayer -b -z /home/pi/videos/video.mp4
), läuft es ohne Probleme.
Das ist komisch, falls das Problem immer noch besteht, guck mal ob du es in den letzten else case der rfid_trigger_play.sh
gepackt hast, es dürfte eigentlich nur 1 mal triggern.
Du könntest vorher noch mit hilfe von dbuscontrol.sh checken ob ein video spielt, und nur den code ausführen wenn kein video am spielen ist.
sehr cooler Idee mit den File Browser, habe selbst noch keine GUI umgesetzt. Möchte gerne das selbe Layout wie auf der Home Seite verwenden (damit man auch von dort ggf Abspielen und stoppen kann). Im Moment fehlt mir aber auch die Zeit, vielleicht werde ich mich noch einmal am Wochenende dran setzen.
@soonshiny War so faul und hatte einfach deine rfid_trigger_play.sh kopiert...schaue nochmal ob da der Fehler liegt.
@supi4ever Sorry für die späte Antwort...also ich habe mir auf Github einen einfachen File Manager rausgesucht (Eine Datei) und habe diesen dann einfach quick & dirty per iframe eingebunden.
Möchtest du den File Manager direkt mit unter Folders & Files haben? (Siehe Bild)
Oder lieber als eigene Seite? (Siehe Bild)
Grüße
Hallo Ardios, Kein Problem,man hat ja nicht immer Zeit. Ich würde eine eigene Seite bevorzugen. Aber da ich mich damit nicht auskenne werde ich es nicht hinbekommen denke ich. Beste Grüsse supi4ever
@supi4ever
Habe hier schonmal eine englische Anleitung erstellt (folgt noch auf Deutsch) und auch die notwendigen Dateien angehängt...lediglich eine PHP Datei musst du noch über Github runterladen und auf den Raspberry kopieren.
Link: https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/510
Grüße Ardios
Ich habe das Script von @soonshiny etwas erweitert (Repository). Das script _rfid_videoplay.sh habe ich so abgeändert, dass es ein File als Input erwartet. In diesem Script habe ich auch die Variable _DEBUG_rfid_video_playsh für Debugging hinzugefügt. Die Logik fürs abspielen steckt in _rfid_triggerplay.sh. Aktuell überprüft das script, ob das File in einem Ordner mit dem Namen *video* liegt. Das ist aktuell ein ziemlicher hack. Vielleicht wäre es am besten, wenn man in der Webapp eine weitere Option für video hinzufügt? Also neben den bestehenden Optionen (resume, shuffle, single).
Es fehlen noch einige Dinge, die man vielleicht an dieser Stelle diskutieren könnte:
Hallo!
Danke erstmal für die tolle Software! Meine Tochter (1+) liebt ihr "NiNiPad". Im Prinzip handelt es sich um eine Phoniebox, die per Duplo in meinen TV-Untertisch integriert ist, aber rein RFiD gesteuert wird. Sie kann wahlweise Karten mit Tier- und Automotiven auflegen, oder Musikkärtchen nach Themen. Zudem hat sie noch 10-20 Figuren, die auf Karten wohnen, die sie auf ihre Duploplatte legen kann.
Ich bekomme die Tage einen weiteren Raspi 3+ mit LCD und es wäre super, wenn zu den Tierstimmen eine Animation (oder Bild) gezeigt werden könnte.
Gibt es da schon irgendeine Umsetzung? Idealerweise ist das Display nur an, wenn eine Karte aufgelegt ist und schaltet ab, wenn das Video vorbei ist (oder nach einer Zeit, oder wenn die Karte entfernt wird).
Beste Grüße
ich habe das hier nur kurz überflogen, aber falls ihr noch Probleme damit habt, dass der Player im Hintergrund läuft und ihr nicht wisst wie ihr ihn stoppen sollt:
omxplayer blabla &
echo "This is the PID of the latest command: $!"
die Spezial-Variable $!
enthält die PID des zuvor gestarteten Prozesses.
@Piehti Ich bin gerade dabei meine Box mit Display fertigzustellen. Hatte bisher einen Raspberry Pi Zero im Einsatz; werde aber doch auf einen 3b zurückgreifen; der die nächsten Tage hier sein sollte.
Die Änderungen die ich oben beschrieben habe führen dazu, dass du anstelle von einem MP3 ein Video abspielen kannst. Du müsstest dann Videos mit den passenden Geräuschen erstellen. Bisher schaltet sich das Display nach dem Video nicht ab, sondern wartet gemäß der Screensaver-Settings. Display-Abschalten nach Ende des Videos wäre natürlich hübsch; bisher hab ich mich aber noch nicht damit beschäftigt.
Hallo,
das wäre super. Vielleicht gibt es dann auch irgendwo einen Softwareswitch, der das LCD zwischen einem abgespielten Video zurück in das Bedieninterface bringt - sofern ich irgendwen dafür begeistern kann: https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/864
Wegen dem Abschalten des Bildschirms: Alternativ kann man ja auch ein schwarzes Bild anzeigen oder eine geleerte Bash oder ein schwarzes Video in Endlosschleife laufen lassen. Alles eher muh als cool, aber irgendwie besser als Standbild Video, dass sich einbrennt. ^^;
Beste Grüße
Naja, aktuell wird bei mir der Desktop dargestellt und nach 10 Minuten (Screensaver) schaltet sich das display aus
Vergessen mich zurück zu melden. Ich hatte den Videosupport implementiert. Bist du mit Deinem auch zurecht gekommen? Wenn nein: Was genau hattest Du vor und woran genau hapert es denn noch?
Meins war allerdings alles in einem Prototyp und ich bin mir grad nicht sicher ob ich das Ganze groß dokumentiert hatte. Vermutlich nur so 3/4. Aber den Rest könnte ich schnell wieder rekonstruieren. War so eine "nacht-und-nebel"-Aktion und die Box wurde kurz danach umgerüstet in einem VPN-Router.
Ich hatte das Video-Playback so implementiert: https://www.youtube.com/watch?v=X4F3OpJH46s&feature=youtu.be
Nebenher dieses Touchinterface benutzt: https://www.youtube.com/watch?v=seJdIs2WawA&feature=youtu.be
Beste Grüße Peter
Ist aus der Implementierung eines Videoplayers in die Phoniebox Software etwas geworden?
Hi @Hans-Haefner ! Ich habe meine Änderungen (auf einer sehr veralteten Version) hier dokumentiert: https://github.com/Erechtheus/RPi-Jukebox-RFID/commits/master Das ist aber leider nur so prototypisch und nicht schln gemacht. Ich hab vor ein paar Monaten noch eine Box mit Videofunktion gebaut. Der Code lief noch; allerdings ist das ganze leider nicht sauber integriert :-/ Bedarf also einiges an Handarbeit...
Hi zusammen, wegen Video Support: ich fände es super, wenn wir das zusammen in einer basalen Version implementieren könnten. Ich hatte auch schon ein bisschen dran rumgeschraubt, das ist aber auch nicht mehr kompatibel mit dem aktuellen Code. Aktuell möchte ich für die Version 2.x auch in vielen Teilen das Shell Skript rausschreiben und durch Python ersetzen. Meine ersten Bemühungen sind hier: https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1421 Ich weiß nicht, ob Python die Integration von Video einfache rmachen würde?
Habe meine lauffähige Version 2.0 zerstört und mußte neu installieren. Leider laufen die Scripte unter 2.3 nicht mehr. Mußte auch die letzte Buster-Version nutzen, da im aktuellen OS kein omxplayer mehr installiert werden kann. Hat es schon jemand angepasst ? Eventuell mit omxplayer-wrapper ( abspielen war ok, aber die Volumesteuerung nicht nutzbar ) ? An der Button- und dbusversion gibt es einige Änderungen. Würde mich über Antworten freuen.
If anyone is interested in implementing this feature we should target V3.
Hallo zusammen,
ich würde gerne einen Videofunktion bei mir einbauen, realisieren wollte ich es erstmal Testweise über die ./rfid_trigger_play.sh, rfid_trigger_play.conf und omxplayer, dafür habe ich einen neuen Befehl hinzugefügt der einfach omxplayer -o alsa /pfad/zum/Video.mp4 ausführen soll.
Dies funktioniert auch wie gewollt, nur das Stoppen klappt leider nicht.
Das Problem ist das der Reader blockiert ist solange das Video noch läuft, daher führt er leider den kill Befehl nicht aus.
Meine Frage ist daher ob es eine Möglichkeit gibt, das der Befehl im Hintergrund ausgeführt werden könnte und ich somit den kill Befehl auch während des abspielen über eine RFID Karte realisieren kann?
Vielen Dank