Hallo Community,
das ist mein erster Post hier, deshalb erstmal ein "Hallo!" in die Runde.
Wie im Titel zu lesen, versuche ich einen Videostream, in einer Datei, zu speichern.
Ich habe mehrere Lösungen im gefährlichen Internetz gefunden, aber noch keine Lösung umsetzen können.
Ich sammele erst seit 2 Wochen Erfahrung in Python bzw. Linux, deshalb bitte ich um Entschuldigung wenn ich mit meiner Unwissenheit glänze.
Meine Situation:
Mein Windowsrechner greift über mein LAN (SSH + Exceed laufen) auf meinen Raspberry Pi zu und verwendet die Kamera. Mein Code soll einen Videostream, über Socket, für einen, bzw. später vllt auch mehr, Verbindungen ermöglichen. Der Stream funktioniert, der Zeitstempel, aus mir unbekannten Gründen, leider nur wenn ich keine weiteren Befehle in die while-Schleife schreibe.
Was ich brauche/möchte:
Ich möchte das der Videostream von dem Windowsrechner empfangen werden kann, dort gespeichert wird und gleichzeitig auch angezeigt werden kann. Bis jetzt ist es mir nur gelungen eine Datei auf dem RaspPi anzulegen, die leider nicht mit Daten gefüllt wird.
Hier die verwendeten Bibs.:
import Tkinter as tk
import tkFileDialog
import tkMessageBox
import socket
import time
import datetime as dt
import picamera
import pygame
import os
import io
import random
Alles anzeigen
Die Funktion (aus meinem bisherigem Erguss):
def btnClick2(self):
with picamera.PiCamera() as camera:
camera.resolution = (960, 680)
camera.framerate = 24
camera.vflip = True
camera.hflip = False
STREAM_LENGTH = 60
print 'Flag01'
server_socket = socket.socket()
server_socket.bind (('0.0.0.0',8000))
server_socket.listen(0)
print 'Flag02'
connection = server_socket.accept()[0].makefile('wb')
print 'Flag03'
try:
camera.start_preview()
camera.annotate_text = dt.datetime.now().strftime('%d-%m-%Y / %H:%M:%S')
camera.start_recording(connection, format = 'h264')
print 'Flag04'
camera.wait_recording()
start = dt.datetime.now()
while (dt.datetime.now() - start).seconds < STREAM_LENGTH:
camera.annotate_text = dt.datetime.now().strftime('%d-%m-%Y / %H:%M:%S')
camera.stop_recording()
finally:
connection.close()
server_socket.close()
Alles anzeigen
Würdet ihr mir bitte helfen? Ich versuche seit 2 Tagen die Datei richtig zu erstellen.
Eine Datei (.txt) mit Text zu befüllen ist mir gelungen, aber der Videostream ist für mich eine härtere Nuss.
Ich verwende Python 2.7.3.