Hallo liebes Python-Forums,
ich hätte eine kleine Frage bzgl. eines Projektes welches ich ausführen muss. Um es kurz und bündig zu halten überspringe bzw. fasse ich Sachen zusammen. Allgemein soll über einen Raspberry Pi 3B ein Video abgespielt werden, dabei wird eine Textdatei durch NodeRed erzeugt in welcher steht, welches Video abgespielt werden soll (ca. so: Video1 = 1, Video2 = 0, Video3 = 0 usw.) mein Problem besteht jetzt aus zwei Punkten (da ich mich weder mit Python auskenne, noch irgendetwas zu diesen Punkten in meiner Recherche gefunden habe)
-Punkt 1: Ist es überhaupt möglich eine Textdatei in Python aufzurufen und diese dann im Programm zu nutzen und wenn ja wie?
-Punkt 2: Kann man dadurch (zb. wenn Video1 = 1) ein bestimmtes Video Auf dem Pi öffnen welches dann abgespielt wird?
Ich arbeite übrigens mit PyCharm zum jetzigen Zeitpunkt, Falls jemand eine Andere Empfehlung hat gerne her damit
Danke schonmal im voraus für alle Lösungsvorschläge oder Ratschläge
MfG
Noah
Videoübertragung per Python
Übertragung eines Videos ist da ja eher nicht.
Und eigentlich braucht es auch kein Python. Einfach omxplayer, den kann man über DBus fernsteuern, und das direkt aus node red.
https://www.npmjs.com/package/dbus
Und eigentlich braucht es auch kein Python. Einfach omxplayer, den kann man über DBus fernsteuern, und das direkt aus node red.
https://www.npmjs.com/package/dbus
-
- User
- Beiträge: 8
- Registriert: Donnerstag 12. Oktober 2023, 16:26
OMXPlayer habe ich selber auch schon überlegt aber leider ist dies bei uns nicht zugelassen desswegen fällt das leider raus :/__deets__ hat geschrieben: ↑Donnerstag 12. Oktober 2023, 19:10 Übertragung eines Videos ist da ja eher nicht.
Und eigentlich braucht es auch kein Python. Einfach omxplayer, den kann man über DBus fernsteuern, und das direkt aus node red.
https://www.npmjs.com/package/dbus
-
- User
- Beiträge: 8
- Registriert: Donnerstag 12. Oktober 2023, 16:26
Da ich die Daten des SPS Datenbausteins über NodeRed übertragen muss, dadurch muss ich dieses irgendwie auf den Pi bekommen, dies ist mit ner Textdatei am „einfachsten“ allgemein kenn ich mich leider garnicht mit Programmierhochsprache aus und hatte mich für Python entschieden da ich hier am meisten Infos gefunden habe, dazu kam das ich dies über die „CV2“ Bibliothek laufen lassen wollte diese ist aber nicht mehr verfügbar.
Wer macht denn so eine unsinnige Vorgabe, dass der OMX-Player (als die Standardloesung in dem Bereich auf dem Pi schlechthin) nicht zugelassen ist?
Ich vermute mit CV2 meinst du OpenCV, das ist garantiert verfuegbar. Allerdings natuerlich nur, wenn nicht auch da wieder die Hand Gottes irgendwelche abstrusen Vorgaben macht.
Das mit der Datei ist nicht am einfachsten. Am einfachsten ist ein UNIX domain socket, in den man zeilenweise schreibt von Node Red aus, und genauso einfach zeilenweise einliest.
Ich wuerde aber nochmal mit Nachdruck empfehlen, dem Vorgeber auf's Dach zu steigen. Das nicht zuzulassen, ist eine unnoetige Komplikation.
Ich vermute mit CV2 meinst du OpenCV, das ist garantiert verfuegbar. Allerdings natuerlich nur, wenn nicht auch da wieder die Hand Gottes irgendwelche abstrusen Vorgaben macht.
Das mit der Datei ist nicht am einfachsten. Am einfachsten ist ein UNIX domain socket, in den man zeilenweise schreibt von Node Red aus, und genauso einfach zeilenweise einliest.
Ich wuerde aber nochmal mit Nachdruck empfehlen, dem Vorgeber auf's Dach zu steigen. Das nicht zuzulassen, ist eine unnoetige Komplikation.
- __blackjack__
- User
- Beiträge: 13533
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@__deets__: Das macht aber schon Sinn einen Player nicht mehr zu erlauben der nicht mehr weiterentwickelt wird, weil der auf eine API aufsetzt die tot ist, und wo absehbar ist, dass das irgendwann schlicht nicht mehr funktionieren wird. Also auf 64-Bit-Kerneln ja jetzt schon nicht mehr.
Code: Alles auswählen
- (void)countSheep {
unsigned int sheep = 0;
while ( ! [self isAsleep]) { ++sheep; }
}
Das wusste ich nicht. Aber denke auch nicht, dass das hier der Grund ist. Doch dann ist es halt VLC, und immer noch DBus. https://wiki.videolan.org/DBus-usage/
-
- User
- Beiträge: 8
- Registriert: Donnerstag 12. Oktober 2023, 16:26
Hast du zufällig dazu nen Beitrag o. VIdeo wie das über DBus fernsteurebar ist? Die Beschränkung mit OMX, lag eher daran, dass ich nur wusste das man diesen per Fernbedienung und/oder Maus und Tastatur steuerbar wäre. Da es aber allgemein im "Industriestandard" bleiben soll wurde OSMX nicht aufgrund des Programmes sondern der Bedienung abgelehnt, falls es möglich wäre dieses zu Automatisieren, würde es auch funktionieren.__deets__ hat geschrieben: ↑Donnerstag 12. Oktober 2023, 19:10 Übertragung eines Videos ist da ja eher nicht.
Und eigentlich braucht es auch kein Python. Einfach omxplayer, den kann man über DBus fernsteuern, und das direkt aus node red.
https://www.npmjs.com/package/dbus
Also wie ich mit dem DBus den OMXPlayer steuern kann.
Alles, was ich jetzt mache, ist diese Information zu googeln. Nenn mich verrückt, aber ich bin sicher, das du das selbst kannst. Wenn du dann konkrete Fragen oder Problem hast, gerne. Aber Vorleseservice aus dem Internet mache ich nicht.
- __blackjack__
- User
- Beiträge: 13533
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Wobei dass dann auch tatsächlich ein Standard ist, denn mit der gleichen DBus-API kann man auch VLC steuern. Und auch auch andere Mediaplayer. Das ist also auch eine Lösung die keine grossen Änderungen erfordert wenn man den Player austauscht will oder muss.
Code: Alles auswählen
- (void)countSheep {
unsigned int sheep = 0;
while ( ! [self isAsleep]) { ++sheep; }
}