Autostart einer Videoaufnahme & Umwandlung

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Benutzeravatar
__blackjack__
User
Beiträge: 14031
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Und ich denke mal das Anzeigen könnte das Problem sein wenn man das in rc.local startet (was es eigentlich nicht mehr geben dürfte auf modernen Systemen).
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das nochmal obendrauf, ja. Wobei man das "start_preview" ja auch weglassen koennte.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es wird hier dann weiter diskutiert: https://forum-raspberrypi.de/forum/thre ... /?pageNo=2
gragtoni435
User
Beiträge: 10
Registriert: Donnerstag 9. Januar 2020, 10:00

Hallo Nochmal,

da mir im anderen Forum keiner mehr weiterhelfen kann, versuch ich es hier nochmal.

Ich habe nun ein Skript, dass die Videoaufnahme bei Start des Raspberrys automatisch startet.
Siehe hier:

Code: Alles auswählen

from picamera import PiCamera
from time import sleep
import datetime
dateipfad = "/home/pi"
dateiname = datetime.datetime.now().strftime('%Y.%m.%d-%H%M%S')
videodatei = f"{dateiname}.h264"
print(videodatei)
camera = PiCamera()
camera.start_preview()
camera.start_recording(videodatei)
sleep(10)
camera.stop_recording()
camera.stop_preview()
Nun steht auch die Verbindung zwischen Raspberry Pi, OPC UA-Server und einer Siemens CPU (317-F).
Mithilfe von Node-Red frag ich ständig die X und die Y-Koordinate aus dem Programm ab.

Momentan schreibe ich diesen Wert in eine Text-Datei und der Wert wird alle 2 Sekunden überschrieben, damit immer nur der aktuelle Wert in der jeweiligen Textdatei steht.
Gibt es nun eine Möglichkeit in das obere Skript die Koordinate einzubinden, damit diese im Video angezeigt werden?
Oder muss man es gar nicht erst in Textdateien schreiben? Gibts in Node-Red auch eine Funktion/Baustein welche die Werte direkt für das Skript verfügbar macht?

Mein 1. Versuch war so

Code: Alles auswählen

for i in range (5):
    untertitel = open('/home/pi/X-Koordinate','r')
    camera.annotate_text(untertitel)
    sleep(1)
Geklappt hat hier aber nichts..

Danke & Beste Grüße!
Benutzeravatar
__blackjack__
User
Beiträge: 14031
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

`dateipfad` wird definiert aber nirgends verwendet. `videodatei` ist als Name irreführend weil es sich um einen Datei*namen* handelt und nicht um ein Dateiobjekt. `dateiname` noch mal extra zu haben ist auch nicht wirklich sinnvoll, denn man kann das mit dem Datumsformat auch im Platzhalter bei der f-Zeichenkette regeln.

`untertitel` ist wieder ein irreführender Name, diesmal dann für ein Dateiobjekt. Es macht auch keinen Sinn ein Dateiobjekt als Beschriftung verwenden zu wollen. Zumal hier `annotate_text` versucht wird aufzurufen statt wie in den vorherigen Codebeispiel eine Zeichenkette an dieses Attribut zu binden‽

Ich hoffe X- und Y-Wert landen nicht jeweils in einer eigenen Datei, denn dann kann man ja nie sicher sein, dass die beiden Werte wenn man sie ausliest auch tatsächlich zusammen gehören.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
pumuckll
User
Beiträge: 56
Registriert: Donnerstag 30. August 2018, 17:45

Hab den Beitrag schnell überflogen, aber vielleicht hilft dir das weiter:

https://codecalamity.com/raspberry-pi-h ... ity-center

Ich Streame die Pi Cam im eigen Netzwerk
Die Aufnahme Startet automatisch, Datum und Uhrzeit wird eingefügt
Anstatt als Systemd Dienst könntest du die Aufnahme mit Python os.system starten.

Dei Ausgabe lässt sich auch leicht in einer Datei Speichen.

Gruss
Antworten