from picamera2 import Picamera2, CameraConfiguration, StreamConfiguration, Controls from libcamera import Transform, Size, ColorSpace, controls from picamera2.configuration import SensorConfiguration from picamera2.encoders import MJPEGEncoder from picamera2.outputs import FileOutput import time import json picam2=Picamera2(0) json.dumps(picam2.camera_properties, default=lambda o: getattr(o, '__dict__', str(o)), indent=4) print("\nCamera_proerties: \n" + json.dumps(picam2.camera_properties, default=lambda o: getattr(o, '__dict__', str(o)), indent=4) + "\n") print ("\nSensor_modes: \n" + json.dumps(picam2.sensor_modes, default=lambda o: getattr(o, '__dict__', str(o)), indent=4) + "\n") camCfg = CameraConfiguration() camCfg.use_case = 'Live view' camCfg.transform = Transform(vflip=False, hflip=False) camCfg.buffer_count = 4 camCfg.colour_space = ColorSpace.Sycc() camCfg.queue = False camCfg.display = None camCfg.encode = 'main' stream = StreamConfiguration() stream.size = (1640, 1232) stream.format = 'RGB888' stream.stride = None stream.framesize = None camCfg.main = stream camCfg.lores = None camCfg.raw = None camCfg.controls = {'FrameDurationLimits': (33333, 33333)} sensor = SensorConfiguration() sensor.output_size = None sensor.bit_depth = None camCfg.sensor = sensor print("CameraConfiguration: \n" + json.dumps(camCfg, default=lambda o: getattr(o, '__dict__', str(o)), indent=4) + "\n") picam2.configure(camCfg) picam2.start_recording(MJPEGEncoder(), FileOutput(None)) time.sleep(2)