Raspberry Pi 4b + Bookworm — многопроцессорность не работаетPython

Программы на Python
Ответить
Anonymous
 Raspberry Pi 4b + Bookworm — многопроцессорность не работает

Сообщение Anonymous »

У меня Raspberry Pi 4b с установленной 64-разрядной версией Bookworm.
Я работаю над многопроцессорным скриптом. И я не могу заставить его работать.
Он должен делать следующее:
def wait():
VLC приостанавливает видео на первом кадре,
def play():
при обнаружении движения одновременно должны выполняться 2 функции:
Процесс1: воспроизведение видео
def Record():
Процесс2: запись с камерой.
После завершения вышеописанного VLC снова приостанавливает видео на первом кадре в ожидании движения.
Код:

Код: Выделить всё

from gpiozero import MotionSensor
from time import sleep
from picamera2 import Picamera2
from picamera2.encoders import H264Encoder, Quality
import vlc
import datetime
from multiprocessing import Process

# Creating Instance class object
vlc_instance = vlc.Instance()
player = vlc_instance.media_player_new()
player.set_fullscreen(False)

# Define Motion Sensor
pir = MotionSensor(4)

# Camera
picam2 = Picamera2()
video_config = picam2.create_video_configuration()#main={"size":(1280,720)})
picam2.configure(video_config)
picam2.rotation = 180
encoder = H264Encoder
output = '/home/path-to-dir/Recordings/' + datetime.datetime.now().strftime('%Y-%m-%d_%H.%M.%S.h264')

def waiting():
print("Ready")
pir.wait_for_no_motion()
sleep(.1)
player.set_mrl("/home/path-to-dir/Video/Test.mp4")
player.play()
sleep(.1)

def play():
pir.wait_for_motion()
sleep(.1)
print("Motion detected")
sleep(.1)
player.set_mrl("/home/path-to-dir/Video/Test.mp4")
player.play()
sleep(.1)

def record():
print ("Start recording")
picam2.start_recording(encoder, output, quality=Quality.HIGH)
sleep(13)
picam2.stop_recording()
sleep(15)

if __name__ == "__main__":
waiting()
while True:
try:
process1 = Process(target=play)
process2 = Process(target=record)
process1=start()
process2=start()
process1=join()
process2=join()
sleep(.1)
except KeyboardInterrupt:
print("Interrupted")
break
except:
continue
Вывод в терминале показывает следующее:

[0000007f4c09b550] окно wl_xdg_shell:

Подробнее здесь: https://stackoverflow.com/questions/791 ... oesnt-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»