ランタイムエラー: 'v4l2loopback' バックエンド: std::exception

ランタイムエラー: 'v4l2loopback' バックエンド: std::exception

次のコードを実行しようとすると、上記のエラーが発生します。

import pyvirtualcam
import numpy as np

with pyvirtualcam.Camera(width=1280, height=720, fps=20) as cam:
    print(f'Using virtual camera: {cam.device}')
    frame = np.zeros((cam.height, cam.width, 3), np.uint8)  # RGB
    while True:
        frame[:] = cam.frames_sent % 255  # grayscale animation
        cam.send(frame)
        cam.sleep_until_next_frame()

私はこれをラズベリーパイで実行しています (カーネル バージョン: 5.10、raspberrypi-kernel-headers バージョンは 1:1.20210527-1)。

エラー:

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/.local/lib/python3.7/site-packages/pyvirtualcam/camera.py", line 219, in __init__
    raise RuntimeError('\n'.join(errors))
  RuntimeError: 'v4l2loopback' backend: std::exception

解決済み:

何らかの理由で v4l2loopback がクラッシュし、この問題が発生しました。コードの先頭の次の行で問題は解決しました。

 import os

 if "raspberrypi" in str(os.uname()):
            os.system("sudo modprobe -r v4l2loopback")
            os.system("sudo modprobe v4l2loopback")

関連情報