Nun habe ich mit einen Screen recorder gebaut der auch funktioniert nur gefällt mir die CMD nicht und wollte daher ein nettes GUI haben. Dachte kann ja nich so schwer sein 2 Buttons 1 text vielleicht ein Hilfe Button.
Joah hab ich wohl die Rechnung nich mit python gemacht.
Ich spreche schon gut englisch jedoch sind fachspezifische texte unglaublich schwer zu verstehen wenn nicht in der Muttersprache geschrieben.
Gestartet habe ich hiermit:
das funktioniert auch alles wie es soll.
Code: Alles auswählen
import cv2, numpy, pyautogui, keyboard
import PySimpleGUI as UI
filename = 'Bildschirmaufnahme'
SCREEN_SIZE = (1920, 1080)
vid = cv2.VideoWriter(filename + ".mp4", cv2.VideoWriter_fourcc(*'mp4v'),20.0,(SCREEN_SIZE))
print("Starte Aufnahme.\nDrücke 'X' auf deiner Tastatur um die Aufnahme zu beenden...")
while True:
img = pyautogui.screenshot()
numpy_frame = numpy.array(img)
frame = cv2.cvtColor(numpy_frame, cv2.COLOR_BGR2RGB)
vid.write(frame)
if keyboard.is_pressed('x'):
print("Stoppe Aufnahme.")
break
cv2.destroyAllWindows()
vid.release()
Code: Alles auswählen
import tkinter as tk
import cv2, numpy, pyautogui, keyboard, time
# --------------- Funktionen ------------------
def start():
global running
if running is not None:
print('Ich laufe bereits')
else:
frame = cv2.cvtColor(numpy_frame, cv2.COLOR_BGR2RGB)
running = vid.write(frame)
running.start_recording()
def stop():
global running
if running is not None:
running.stop_recording()
vid.release()
cv2.destroyAllWindows()
running = None
else:
print('Ich laufe nicht mehr')
# ---------------------- Main ------------------------------
filename = "Bildschirmaufnahme"
SCREEN_SIZE = (1920, 1080)
vid = cv2.VideoWriter(filename + ".mp4", cv2.VideoWriter_fourcc(*'mp4v'), 20.0,(SCREEN_SIZE))
img = pyautogui.screenshot()
numpy_frame = numpy.array(img)
running = None
root = tk.Tk()
button_rec = tk.Button(root, text="Start", command=start)
button_rec.pack()
button_stop = tk.Button(root, text="Stop", command=stop)
button_stop.pack()
root.mainloop()
Der selbstverständlich nich das tut was er soll.. Ich bekomme zwar die Ausgabe einer mp4. Datei aber es ist wohl so das er nur solang aufnimmt solange der button im gedrückt zustand ist...
Ich forsche nun schon seit 2 Tagen im Netz habe Mir Qt, Tkinter, SimpleGUI angeschaut aber iwie komme ich nich zu einer Lösung. Ich glaube nicht das ich dafür threadding brauche oder ?
Ich bin über jegliche Hilfe unglaublich dankbar und vielen Dank im allgemeinen für eurer geteiltest Knowhow und eure Zeit!
Liebe Grüße
Bitte seid gnädig