前提・実現したいこと
ラズベリーパイでヘッドマウントディスプレイのようなものを作りたいと考えています。
Picameraのcamera.start_preview()を右目用、左目用の2か所で表示させたいです。
発生している問題・エラーメッセージ
mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x2663d50 (ENOSPC) mmal: mmal_connection_enable: output port couldn't be enabled Backend terminated or disconnected.Fatal Python error: Segmentation fault
該当のソースコード
python
1import picamera 2from multiprocessing import Process 3import time 4 5camera = picamera.PiCamera() 6 7def left(): 8 scale = 1.0 9 w = int(640 * scale) 10 h = int(480 * scale) 11 camera.start_preview( 12 fullscreen = False, 13 window = (100, 300, w, h)) 14 sleep(1) 15 16def right(): 17 scale = 1.0 18 w = int(640 * scale) 19 h = int(480 * scale) 20 camera.start_preview( 21 fullscreen = False, 22 window = (500, 300, w, h)) 23 sleep(1) 24 25 26if __name__ == '__main__': 27 p = Process(target=right, args=()) 28 p.start() 29 p.join() 30 left()
試したこと
multiprocessingで右目用画面、左目用画面を並列処理で表示させようとしましたが、上記のようなエラーメッセージが表示されました。
おそらく1つのカメラを2つのプログラムが取り合っているためだと思いますが、この解決方法が分かりません。
ご教授いただければ幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/19 08:55
2020/04/19 10:03
2020/04/20 13:13 編集
2020/04/20 13:27