Frage von Jupitercrafter, 35

Wie streame ich ein video der Raspberry Pi camera über Python?

Hallo liebe Community,

Ich versuche momentan ein Video von der Raspberry Pi Camera zu streamen mit Python. Nur leider funktioniert das irgendwie nicht. Hier ist mein aktueller server code:

import socket
import time
import picamera

with picamera.PiCamera() as camera:
    camera.resolution = (640, 480)
    camera.framerate = 24

    server_socket = socket.socket()
    server_socket.bind(('192.168.178.71', 8000))
    server_socket.listen(1)
    c, addr = server_socket.accept()

    # Accept a single connection and make a file-like object out of it
    connection = server_socket.accept()[0].makefile('wb')
    print(connection)
    try:
        camera.start_recording(connection, format='h264')
        camera.wait_recording(60)
        camera.stop_recording()
    finally:
        connection.close()
        server_socket.close()

Dies ist mein Client:

import socket
import cv2
import numpy

def Main():
    host = '192.168.178.71'
    port = 8000
    cv2.namedWindow("preview")
    s = socket.socket()
    s.connect((host, port))

    while True:
        print("connected")
        data = s.recv(1024)
        data = numpy.fromstring(data, dtype=numpy.uint8)
        cv2.imshow("preview", data)
    s.close()

if __name__ == '__main__':
    Main()

Wüsste jemand wie ich das Programm zum laufen bekomme? Es öffnet sich nur das Fenster preview und das wars auch schon.

Danke im vorraus !

Expertenantwort
von SYSCrashTV, Community-Experte für Internet, 26

Wieso denn über Python? Es gibt Webinterfaces für Webbrowser, so kannst du die Oberfläche auch mit einem Passwort schützen und kannst sie auch ohne Python aufrufen. Ich verwende dafür motionEye, was sich dann relativ gut einrichten lässt. Den Webserver dann noch mit einer Authentication-Methode von Apache2 schützen und schon hast du einen Kamera-Server.

https://github.com/ccrisan/motioneye/wiki

Kommentar von Jupitercrafter ,

Würde ich ja, aber ich arbeite an einem Projekt für meinen Vater und der möchte eine Software in der er Live übertragung hat sowie jegliche Daten von Sensoren auslesen kann und das an liebsten in PyQt...

Kommentar von zasch ,

Hä?

motionEye is a web frontend for the motion daemon, written in Python

Schau mal hier https://www.raspberrypi.org/documentation/usage/camera/python/README.md

Kommentar von SYSCrashTV ,

Und genau das kann motionEye doch, es ist ja ein Livestream-Daemon für die Kamera. In wie weit du da mit einem Python-Client zugreifen kannst kann ich dir nicht sagen, aber wenn du mit CSS umgehen kannst kannst du dir auch die zusätzlichen Werte mit dem Livebild auf einer Seite anzeigen lassen.

Keine passende Antwort gefunden?

Fragen Sie die Community