ayufan / camera-streamer

High-performance low-latency camera streamer for Raspberry PI's
316 stars 47 forks source link

Raspberry Pi HQ Camera #27

Open ETE-Design opened 1 year ago

ETE-Design commented 1 year ago

Hi Kamil.

Support for the Official Raspberry Pi HQ Camera, is that something you can add to the Streamer? Or is it already supported?

Regards

kbingham commented 1 year ago

It should work directly. You'll possibly need to identify the camera name. (Try cam --list, or find it from libcamera-hello). tools/libcamera_camera.sh shows how to call the streamer.

I've just used this camera-streamer with the new Camera V3, and it worked out of the box, so I don't expect there would be anything specific for the HQ camera.

ayufan commented 1 year ago

Yup. It should just work. Also with latest changes to libcamera it is also very likely that all ArduCAMs can be supported "out of box" with regards to auto-focus, etc.

kbingham commented 1 year ago

Not quite - it's getting close. But the Arducam cameras may need a bit more work for AF. Also - they only have contrast based AF - while the V3 is PDAF. So there are some subtle and not so subtle differences to keep aware of.

Arducam still need to do some more work on upstreaming their camera support.

ETE-Design commented 1 year ago

@ayufan Will it also work with "High-performance mode via ISP for CSI" to get even better FPS?

ayufan commented 1 year ago

@ETE-Design It should, but then you have to manually setup ISP first.

ETE-Design commented 1 year ago

@ayufan I'm really not into this stuff... Is there a guide for that somewhere?

ayufan commented 1 year ago

Sorry, no, as this is not trivial and libcamera offers quite amount of features related also to brightness control. So, this works only in a very specific "constant" environments.

kbingham commented 1 year ago

We'd be better off fixing the latency issue that shows up for libcamera. I would expect this is something occurring in the raspberry pi pipeline handler - and I think the RPi team are working on ways to make that configurable to reduce it.

philippebourcier commented 1 year ago

Hi there, I have ordered the 64MP beast (I'd love to use ePTZ)... but in the meantime the only cam' I had was a HQ Camera.

I was surprised you didn't have a service file for the HQ cam already, so here are the necessary infos needed to create one :

# libcamera-still --list-cameras
Available cameras
-----------------
0 : imx477 [4056x3040] (/base/soc/i2c0mux/i2c@1/imx477@1a)
    Modes: 'SBGGR10_CSI2P' : 1332x990 [30.00 fps - (0, 0)/0x0 crop]
           'SBGGR12_CSI2P' : 2028x1080 [30.00 fps - (0, 0)/0x0 crop]
                             2028x1520 [30.00 fps - (0, 0)/0x0 crop]
                             4056x3040 [30.00 fps - (0, 0)/0x0 crop]
# libcamera-vid --list-cameras
Available cameras
-----------------
0 : imx477 [4056x3040] (/base/soc/i2c0mux/i2c@1/imx477@1a)
    Modes: 'SRGGB10_CSI2P' : 1332x990 [120.05 fps - (696, 528)/2664x1980 crop]
           'SRGGB12_CSI2P' : 2028x1080 [50.03 fps - (0, 440)/4056x2160 crop]
                             2028x1520 [40.01 fps - (0, 0)/4056x3040 crop]
                             4056x3040 [10.00 fps - (0, 0)/4056x3040 crop]

For me, this works :

# diff camera-streamer-raspi-v3-12MP.service /etc/systemd/system/camera-streamer-raspi-HQ.service
8c8
< ConditionPathExists=/sys/bus/i2c/drivers/imx708/10-001a/video4linux
---
> ConditionPathExists=/sys/bus/i2c/drivers/imx477/10-001a/video4linux
12c12
<   -camera-path=/base/soc/i2c0mux/i2c@1/imx708@1a \
---
>   -camera-path=/base/soc/i2c0mux/i2c@1/imx477@1a \
15c15
<   -camera-width=2304 -camera-height=1296 \
---
>   -camera-width=1332 -camera-height=990 \
26,27c26,27
<   -camera-options=AfMode=2 \
<   -camera-options=AfRange=2 \
---
>   ; -camera-options=AfMode=2 \
>   ; -camera-options=AfRange=2 \
ayufan commented 1 year ago

Interesting. I don't think that the SRGGB12_CSI2P is supported now and this might be limiting factor here to get higher resolution.

ETE-Design commented 1 year ago

@philippebourcier Now that you have the HQ Camera, can you maby help with "High-performance mode via ISP for CSI" for it?

philippebourcier commented 1 year ago

I tried and it doesn't work... Sorry but since I have no plans on using this camera, I won't bother. 🤷‍♂️

ayufan commented 1 year ago

Can you give output of tools dump cameras?

On Sat, 25 Feb 2023 at 09:00, PhilippeB_Maker @.***> wrote:

I tried and it doesn't work... Sorry but since I have no plans on using this camera, I won't bother. 🤷‍♂️

— Reply to this email directly, view it on GitHub https://github.com/ayufan/camera-streamer/issues/27#issuecomment-1445025245, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASOSQJR3HPC34QDFYBLK6DWZG3ZLANCNFSM6AAAAAATUGO5IQ . You are receiving this because you were mentioned.Message ID: @.***>

philippebourcier commented 1 year ago
# ./dump_cameras.sh
+ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12
        /dev/video18
        /dev/video31
        /dev/media4

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16
        /dev/video20
        /dev/video21
        /dev/video22
        /dev/video23
        /dev/media0
        /dev/media1

unicam (platform:fe801000.csi):
        /dev/video0
        /dev/video1
        /dev/media2

rpivid (platform:rpivid):
        /dev/video19
        /dev/media3

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video0 -L
+ v4l2-ctl -d /dev/video0 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [1]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [2]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [3]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [4]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [5]: 'RGBR' (16-bit RGB 5-6-5 BE)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [6]: 'RGBO' (16-bit A/XRGB 1-5-5-5)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [7]: 'RGBQ' (16-bit A/XRGB 1-5-5-5 BE)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [8]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [9]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [10]: 'RGB4' (32-bit A/XRGB 8-8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [11]: 'BA81' (8-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [12]: 'GBRG' (8-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [13]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [14]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [15]: 'pBAA' (10-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [16]: 'BG10' (10-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [17]: 'pGAA' (10-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [18]: 'GB10' (10-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [19]: 'pgAA' (10-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [20]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [21]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [22]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [23]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [24]: 'BG12' (12-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [25]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [26]: 'GB12' (12-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [27]: 'pgCC' (12-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [28]: 'BA12' (12-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [29]: 'pRCC' (12-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [30]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [31]: 'pBEE' (14-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [32]: 'BG14' (14-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [33]: 'pGEE' (14-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [34]: 'GB14' (14-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [35]: 'pgEE' (14-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [36]: 'GR14' (14-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [37]: 'pREE' (14-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [38]: 'RG14' (14-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [39]: 'GREY' (8-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [40]: 'Y10P' (10-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [41]: 'Y10 ' (10-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [42]: 'Y12P' (12-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [43]: 'Y12 ' (12-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [44]: 'Y14P' (14-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [45]: 'Y14 ' (14-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video1 -L
+ v4l2-ctl -d /dev/video1 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video1 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video10 -L

User Controls

  min_number_of_capture_buffers 0x00980927 (int)    : min=1 max=1 step=1 default=1 value=1 flags=read-only
+ v4l2-ctl -d /dev/video10 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'H264' (H.264, compressed)
        [1]: 'MJPG' (Motion-JPEG, compressed)
+ v4l2-ctl -d /dev/video10 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [1]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [2]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [3]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [4]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [5]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video11 -L

Codec Controls

             video_bitrate_mode 0x009909ce (menu)   : min=0 max=1 default=0 value=0 flags=update
                                0: Variable Bitrate
                                1: Constant Bitrate
                  video_bitrate 0x009909cf (int)    : min=25000 max=25000000 step=25000 default=10000000 value=10000000
           sequence_header_mode 0x009909d8 (menu)   : min=0 max=1 default=1 value=1
                                0: Separate Buffer
                                1: Joined With 1st Frame
         repeat_sequence_header 0x009909e2 (bool)   : default=0 value=0
                force_key_frame 0x009909e5 (button) : flags=write-only, execute-on-write
          h264_minimum_qp_value 0x00990a61 (int)    : min=0 max=51 step=1 default=20 value=20
          h264_maximum_qp_value 0x00990a62 (int)    : min=0 max=51 step=1 default=51 value=51
            h264_i_frame_period 0x00990a66 (int)    : min=0 max=2147483647 step=1 default=60 value=60
                     h264_level 0x00990a67 (menu)   : min=0 max=15 default=11 value=11
                                0: 1
                                1: 1b
                                2: 1.1
                                3: 1.2
                                4: 1.3
                                5: 2
                                6: 2.1
                                7: 2.2
                                8: 3
                                9: 3.1
                                10: 3.2
                                11: 4
                                12: 4.1
                                13: 4.2
                                14: 5
                                15: 5.1
                   h264_profile 0x00990a6b (menu)   : min=0 max=4 default=4 value=4
                                0: Baseline
                                1: Constrained Baseline
                                2: Main
                                4: High
+ v4l2-ctl -d /dev/video11 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'YU12' (Planar YUV 4:2:0)
        [1]: 'YV12' (Planar YVU 4:2:0)
        [2]: 'NV12' (Y/CbCr 4:2:0)
        [3]: 'NV21' (Y/CrCb 4:2:0)
        [4]: 'RGBP' (16-bit RGB 5-6-5)
        [5]: 'RGB3' (24-bit RGB 8-8-8)
        [6]: 'BGR3' (24-bit BGR 8-8-8)
        [7]: 'AB24' (32-bit RGBA 8-8-8-8)
        [8]: 'BGR4' (32-bit BGRA/X 8-8-8-8)
        [9]: 'YUYV' (YUYV 4:2:2)
        [10]: 'YVYU' (YVYU 4:2:2)
        [11]: 'UYVY' (UYVY 4:2:2)
        [12]: 'VYUY' (VYUY 4:2:2)
        [13]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
+ v4l2-ctl -d /dev/video11 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'H264' (H.264, compressed)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [1]: 'MJPG' (Motion-JPEG, compressed)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video12 -L

User Controls

                horizontal_flip 0x00980914 (bool)   : default=0 value=0
                  vertical_flip 0x00980915 (bool)   : default=0 value=0
+ v4l2-ctl -d /dev/video12 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'BA81' (8-bit Bayer BGBG/GRGR)
        [1]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        [2]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        [3]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        [4]: 'pBAA' (10-bit Bayer BGBG/GRGR Packed)
        [5]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
        [6]: 'pGAA' (10-bit Bayer GBGB/RGRG Packed)
        [7]: 'pgAA' (10-bit Bayer GRGR/BGBG Packed)
        [8]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
        [9]: 'pRCC' (12-bit Bayer RGRG/GBGB Packed)
        [10]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
        [11]: 'pgCC' (12-bit Bayer GRGR/BGBG Packed)
        [12]: 'pBEE' (14-bit Bayer BGBG/GRGR Packed)
        [13]: 'pREE' (14-bit Bayer RGRG/GBGB Packed)
        [14]: 'pGEE' (14-bit Bayer GBGB/RGRG Packed)
        [15]: 'pgEE' (14-bit Bayer GRGR/BGBG Packed)
        [16]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        [17]: 'RG16' (16-bit Bayer RGRG/GBGB)
        [18]: 'GB16' (16-bit Bayer GBGB/RGRG)
        [19]: 'GR16' (16-bit Bayer GRGR/BGBG)
        [20]: 'GREY' (8-bit Greyscale)
        [21]: 'Y10P' (10-bit Greyscale (MIPI Packed))
        [22]: 'Y12P' (12-bit Greyscale (MIPI Packed))
        [23]: 'Y14P' (14-bit Greyscale (MIPI Packed))
        [24]: 'Y16 ' (16-bit Greyscale)
        [25]: 'YUYV' (YUYV 4:2:2)
        [26]: 'YVYU' (YVYU 4:2:2)
        [27]: 'VYUY' (VYUY 4:2:2)
        [28]: 'UYVY' (UYVY 4:2:2)
        [29]: 'YU12' (Planar YUV 4:2:0)
        [30]: 'YV12' (Planar YVU 4:2:0)
        [31]: 'RGB3' (24-bit RGB 8-8-8)
        [32]: 'BGR3' (24-bit BGR 8-8-8)
        [33]: 'AB24' (32-bit RGBA 8-8-8-8)
        [34]: 'BGR4' (32-bit BGRA/X 8-8-8-8)
        [35]: 'RGBP' (16-bit RGB 5-6-5)
        [36]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
        [37]: 'NV12' (Y/CbCr 4:2:0)
        [38]: 'NV21' (Y/CrCb 4:2:0)
        [39]: 'BG10' (10-bit Bayer BGBG/GRGR)
        [40]: 'RG10' (10-bit Bayer RGRG/GBGB)
        [41]: 'GB10' (10-bit Bayer GBGB/RGRG)
        [42]: 'BA10' (10-bit Bayer GRGR/BGBG)
        [43]: 'BG12' (12-bit Bayer BGBG/GRGR)
        [44]: 'RG12' (12-bit Bayer RGRG/GBGB)
        [45]: 'GB12' (12-bit Bayer GBGB/RGRG)
        [46]: 'BA12' (12-bit Bayer GRGR/BGBG)
        [47]: 'BG14' (14-bit Bayer BGBG/GRGR)
        [48]: 'RG14' (14-bit Bayer RGRG/GBGB)
        [49]: 'GB14' (14-bit Bayer GBGB/RGRG)
        [50]: 'GR14' (14-bit Bayer GRGR/BGBG)
        [51]: 'Y10 ' (10-bit Greyscale)
        [52]: 'Y12 ' (12-bit Greyscale)
        [53]: 'Y14 ' (14-bit Greyscale)
+ v4l2-ctl -d /dev/video12 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [1]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [2]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [3]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [4]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [5]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [6]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [7]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [8]: 'AB24' (32-bit RGBA 8-8-8-8)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [9]: 'BGR4' (32-bit BGRA/X 8-8-8-8)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [10]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [11]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [12]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
        [13]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 32x32 - 16384x16384 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video13 -L

User Controls

                    red_balance 0x0098090e (int)    : min=1 max=65535 step=1 default=1000 value=1906 flags=slider
                   blue_balance 0x0098090f (int)    : min=1 max=65535 step=1 default=1000 value=2686 flags=slider
       colour_correction_matrix 0x009819e1 (u8)     : min=0 max=255 step=1 default=0 [88] flags=has-payload
                   lens_shading 0x009819e2 (u8)     : min=0 max=255 step=1 default=0 [36] flags=has-payload, execute-on-write
                    black_level 0x009819e3 (u8)     : min=0 max=255 step=1 default=0 [12] flags=has-payload
             green_equalisation 0x009819e4 (u8)     : min=0 max=255 step=1 default=0 [16] flags=has-payload
                          gamma 0x009819e5 (u8)     : min=0 max=255 step=1 default=0 [136] flags=has-payload
                        denoise 0x009819e6 (u8)     : min=0 max=255 step=1 default=0 [24] flags=has-payload
                        sharpen 0x009819e7 (u8)     : min=0 max=255 step=1 default=0 [28] flags=has-payload
     defective_pixel_correction 0x009819e8 (u8)     : min=0 max=255 step=1 default=0 [8] flags=has-payload
                 colour_denoise 0x009819e9 (u8)     : min=0 max=255 step=1 default=0 [8] flags=has-payload

Image Processing Controls

                   digital_gain 0x009f0905 (int)    : min=1 max=65535 step=1 default=1000 value=1000
+ v4l2-ctl -d /dev/video13 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

        [0]: 'BA81' (8-bit Bayer BGBG/GRGR)
        [1]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        [2]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        [3]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        [4]: 'pBAA' (10-bit Bayer BGBG/GRGR Packed)
        [5]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
        [6]: 'pGAA' (10-bit Bayer GBGB/RGRG Packed)
        [7]: 'pgAA' (10-bit Bayer GRGR/BGBG Packed)
        [8]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
        [9]: 'pRCC' (12-bit Bayer RGRG/GBGB Packed)
        [10]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
        [11]: 'pgCC' (12-bit Bayer GRGR/BGBG Packed)
        [12]: 'pBEE' (14-bit Bayer BGBG/GRGR Packed)
        [13]: 'pREE' (14-bit Bayer RGRG/GBGB Packed)
        [14]: 'pGEE' (14-bit Bayer GBGB/RGRG Packed)
        [15]: 'pgEE' (14-bit Bayer GRGR/BGBG Packed)
        [16]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        [17]: 'RG16' (16-bit Bayer RGRG/GBGB)
        [18]: 'GB16' (16-bit Bayer GBGB/RGRG)
        [19]: 'GR16' (16-bit Bayer GRGR/BGBG)
        [20]: 'GREY' (8-bit Greyscale)
        [21]: 'Y10P' (10-bit Greyscale (MIPI Packed))
        [22]: 'Y12P' (12-bit Greyscale (MIPI Packed))
        [23]: 'Y14P' (14-bit Greyscale (MIPI Packed))
        [24]: 'Y16 ' (16-bit Greyscale)
        [25]: 'YUYV' (YUYV 4:2:2)
        [26]: 'YVYU' (YVYU 4:2:2)
        [27]: 'VYUY' (VYUY 4:2:2)
        [28]: 'UYVY' (UYVY 4:2:2)
        [29]: 'YU12' (Planar YUV 4:2:0)
        [30]: 'YV12' (Planar YVU 4:2:0)
        [31]: 'RGB3' (24-bit RGB 8-8-8)
        [32]: 'BGR3' (24-bit BGR 8-8-8)
        [33]: 'XB24' (32-bit RGBX 8-8-8-8)
        [34]: 'XR24' (32-bit BGRX 8-8-8-8)
        [35]: 'RGBP' (16-bit RGB 5-6-5)
        [36]: 'NV12' (Y/CbCr 4:2:0)
        [37]: 'NV21' (Y/CrCb 4:2:0)
        [38]: 'BG10' (10-bit Bayer BGBG/GRGR)
        [39]: 'RG10' (10-bit Bayer RGRG/GBGB)
        [40]: 'GB10' (10-bit Bayer GBGB/RGRG)
        [41]: 'BA10' (10-bit Bayer GRGR/BGBG)
        [42]: 'BG12' (12-bit Bayer BGBG/GRGR)
        [43]: 'RG12' (12-bit Bayer RGRG/GBGB)
        [44]: 'GB12' (12-bit Bayer GBGB/RGRG)
        [45]: 'BA12' (12-bit Bayer GRGR/BGBG)
        [46]: 'BG14' (14-bit Bayer BGBG/GRGR)
        [47]: 'RG14' (14-bit Bayer RGRG/GBGB)
        [48]: 'GB14' (14-bit Bayer GBGB/RGRG)
        [49]: 'GR14' (14-bit Bayer GRGR/BGBG)
        [50]: 'Y10 ' (10-bit Greyscale)
        [51]: 'Y12 ' (12-bit Greyscale)
        [52]: 'Y14 ' (14-bit Greyscale)
+ v4l2-ctl -d /dev/video13 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video14 -L
+ v4l2-ctl -d /dev/video14 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video14 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [1]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [2]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [3]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [4]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [5]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [6]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [7]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [8]: 'XB24' (32-bit RGBX 8-8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [9]: 'XR24' (32-bit BGRX 8-8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [10]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [11]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [12]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video15 -L
+ v4l2-ctl -d /dev/video15 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video15 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [1]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [2]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [3]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [4]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [5]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [6]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [7]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video16 -L
+ v4l2-ctl -d /dev/video16 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video16 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video18 -L
+ v4l2-ctl -d /dev/video18 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'YU12' (Planar YUV 4:2:0)
        [1]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
        [2]: 'AB24' (32-bit RGBA 8-8-8-8)
        [3]: 'RGBP' (16-bit RGB 5-6-5)
+ v4l2-ctl -d /dev/video18 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [1]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [2]: 'AB24' (32-bit RGBA 8-8-8-8)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
        [3]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video19 -L

Codec Controls

    hevc_sequence_parameter_set 0x00990cf0 (unknown): type=120 flags=has-payload
     hevc_picture_parameter_set 0x00990cf1 (unknown): type=121 flags=has-payload
              slice_param_array 0x00990cf2 (unknown): type=122 [4096] flags=has-payload, 0x00000800
            hevc_scaling_matrix 0x00990cf3 (unknown): type=123 flags=has-payload
         hevc_decode_parameters 0x00990cf4 (unknown): type=124 flags=has-payload
               hevc_decode_mode 0x00990cf7 (menu)   : min=0 max=0 default=0 value=0
                                0: Slice-Based
                hevc_start_code 0x00990cf8 (menu)   : min=0 max=0 default=0 value=0
                                0: No Start Code
+ v4l2-ctl -d /dev/video19 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'S265' (HEVC Parsed Slice Data, compressed)
+ v4l2-ctl -d /dev/video19 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'NC12' (Y/CbCr 4:2:0 (128b cols))
        [1]: 'NC30' (10-bit Y/CbCr 4:2:0 (128b cols))
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video20 -L

User Controls

                    red_balance 0x0098090e (int)    : min=1 max=65535 step=1 default=1000 value=1000 flags=slider
                   blue_balance 0x0098090f (int)    : min=1 max=65535 step=1 default=1000 value=1000 flags=slider
       colour_correction_matrix 0x009819e1 (u8)     : min=0 max=255 step=1 default=0 [88] flags=has-payload
                   lens_shading 0x009819e2 (u8)     : min=0 max=255 step=1 default=0 [36] flags=has-payload, execute-on-write
                    black_level 0x009819e3 (u8)     : min=0 max=255 step=1 default=0 [12] flags=has-payload
             green_equalisation 0x009819e4 (u8)     : min=0 max=255 step=1 default=0 [16] flags=has-payload
                          gamma 0x009819e5 (u8)     : min=0 max=255 step=1 default=0 [136] flags=has-payload
                        denoise 0x009819e6 (u8)     : min=0 max=255 step=1 default=0 [24] flags=has-payload
                        sharpen 0x009819e7 (u8)     : min=0 max=255 step=1 default=0 [28] flags=has-payload
     defective_pixel_correction 0x009819e8 (u8)     : min=0 max=255 step=1 default=0 [8] flags=has-payload
                 colour_denoise 0x009819e9 (u8)     : min=0 max=255 step=1 default=0 [8] flags=has-payload

Image Processing Controls

                   digital_gain 0x009f0905 (int)    : min=1 max=65535 step=1 default=1000 value=1000
+ v4l2-ctl -d /dev/video20 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

        [0]: 'BA81' (8-bit Bayer BGBG/GRGR)
        [1]: 'RGGB' (8-bit Bayer RGRG/GBGB)
        [2]: 'GBRG' (8-bit Bayer GBGB/RGRG)
        [3]: 'GRBG' (8-bit Bayer GRGR/BGBG)
        [4]: 'pBAA' (10-bit Bayer BGBG/GRGR Packed)
        [5]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
        [6]: 'pGAA' (10-bit Bayer GBGB/RGRG Packed)
        [7]: 'pgAA' (10-bit Bayer GRGR/BGBG Packed)
        [8]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
        [9]: 'pRCC' (12-bit Bayer RGRG/GBGB Packed)
        [10]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
        [11]: 'pgCC' (12-bit Bayer GRGR/BGBG Packed)
        [12]: 'pBEE' (14-bit Bayer BGBG/GRGR Packed)
        [13]: 'pREE' (14-bit Bayer RGRG/GBGB Packed)
        [14]: 'pGEE' (14-bit Bayer GBGB/RGRG Packed)
        [15]: 'pgEE' (14-bit Bayer GRGR/BGBG Packed)
        [16]: 'BYR2' (16-bit Bayer BGBG/GRGR)
        [17]: 'RG16' (16-bit Bayer RGRG/GBGB)
        [18]: 'GB16' (16-bit Bayer GBGB/RGRG)
        [19]: 'GR16' (16-bit Bayer GRGR/BGBG)
        [20]: 'GREY' (8-bit Greyscale)
        [21]: 'Y10P' (10-bit Greyscale (MIPI Packed))
        [22]: 'Y12P' (12-bit Greyscale (MIPI Packed))
        [23]: 'Y14P' (14-bit Greyscale (MIPI Packed))
        [24]: 'Y16 ' (16-bit Greyscale)
        [25]: 'YUYV' (YUYV 4:2:2)
        [26]: 'YVYU' (YVYU 4:2:2)
        [27]: 'VYUY' (VYUY 4:2:2)
        [28]: 'UYVY' (UYVY 4:2:2)
        [29]: 'YU12' (Planar YUV 4:2:0)
        [30]: 'YV12' (Planar YVU 4:2:0)
        [31]: 'RGB3' (24-bit RGB 8-8-8)
        [32]: 'BGR3' (24-bit BGR 8-8-8)
        [33]: 'XB24' (32-bit RGBX 8-8-8-8)
        [34]: 'XR24' (32-bit BGRX 8-8-8-8)
        [35]: 'RGBP' (16-bit RGB 5-6-5)
        [36]: 'NV12' (Y/CbCr 4:2:0)
        [37]: 'NV21' (Y/CrCb 4:2:0)
        [38]: 'BG10' (10-bit Bayer BGBG/GRGR)
        [39]: 'RG10' (10-bit Bayer RGRG/GBGB)
        [40]: 'GB10' (10-bit Bayer GBGB/RGRG)
        [41]: 'BA10' (10-bit Bayer GRGR/BGBG)
        [42]: 'BG12' (12-bit Bayer BGBG/GRGR)
        [43]: 'RG12' (12-bit Bayer RGRG/GBGB)
        [44]: 'GB12' (12-bit Bayer GBGB/RGRG)
        [45]: 'BA12' (12-bit Bayer GRGR/BGBG)
        [46]: 'BG14' (14-bit Bayer BGBG/GRGR)
        [47]: 'RG14' (14-bit Bayer RGRG/GBGB)
        [48]: 'GB14' (14-bit Bayer GBGB/RGRG)
        [49]: 'GR14' (14-bit Bayer GRGR/BGBG)
        [50]: 'Y10 ' (10-bit Greyscale)
        [51]: 'Y12 ' (12-bit Greyscale)
        [52]: 'Y14 ' (14-bit Greyscale)
+ v4l2-ctl -d /dev/video20 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video21 -L
+ v4l2-ctl -d /dev/video21 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video21 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [1]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [2]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [3]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [4]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [5]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [6]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [7]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [8]: 'XB24' (32-bit RGBX 8-8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [9]: 'XR24' (32-bit BGRX 8-8-8-8)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [10]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 64x64 - 16384x16384 with step 1/1
        [11]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [12]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video22 -L
+ v4l2-ctl -d /dev/video22 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video22 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [1]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [2]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [3]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [4]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [5]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [6]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
        [7]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 64x64 - 16384x16384 with step 2/2
+ for device in /dev/video*
+ v4l2-ctl -d /dev/video23 -L
+ v4l2-ctl -d /dev/video23 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output

+ v4l2-ctl -d /dev/video23 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

+ for device in /dev/video*
+ v4l2-ctl -d /dev/video31 -L

JPEG Compression Controls

            compression_quality 0x009d0903 (int)    : min=1 max=100 step=1 default=80 value=80
+ v4l2-ctl -d /dev/video31 --list-formats-out
ioctl: VIDIOC_ENUM_FMT
        Type: Video Output Multiplanar

        [0]: 'RGBP' (16-bit RGB 5-6-5)
        [1]: 'RGB3' (24-bit RGB 8-8-8)
        [2]: 'BGR3' (24-bit BGR 8-8-8)
        [3]: 'AB24' (32-bit RGBA 8-8-8-8)
        [4]: 'BGR4' (32-bit BGRA/X 8-8-8-8)
        [5]: 'YU12' (Planar YUV 4:2:0)
        [6]: 'YUYV' (YUYV 4:2:2)
        [7]: 'YVYU' (YVYU 4:2:2)
        [8]: 'VYUY' (VYUY 4:2:2)
        [9]: 'UYVY' (UYVY 4:2:2)
+ v4l2-ctl -d /dev/video31 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'JPEG' (JFIF JPEG, compressed)
                Size: Stepwise 32x32 - 1920x1920 with step 2/2
philippebourcier commented 1 year ago

As a more generic question : What are the steps to follow to get a camera working in ISP mode ?

I have an imx708_wide, the imx477 and neither seem to work in ISP mode. 🤷‍♂️ Will it really change something in termes of performance on a Pi 4 ? And on a Pi Zero 2 ?

DjofPlusPlus commented 1 year ago

I have the imx477 working on a rpi Zero 2W with the following service config:

;
; Official Raspberry Pi High Quality Camera based on the Sony IMX477
; https://www.raspberrypi.com/products/raspberry-pi-high-quality-camera/
;
[Unit]
Description=camera-streamer web camera for HQ Camera IMX477
After=network.target
ConditionPathExists=/sys/bus/i2c/drivers/imx477/10-001a/video4linux

[Service]
ExecStart=/usr/bin/camera-streamer \
  -camera-path=/base/soc/i2c0mux/i2c@1/imx477@1a \
  -camera-type=libcamera \
  -camera-format=YUYV \
  -camera-width=2028 -camera-height=1520 \
  -camera-fps=30 \
  ; use two memory buffers to optimise usage
  -camera-nbufs=2 \
  ; the snapshot at full resolution
  -camera-snapshot.height=1520 \
  ; the video/webrtc is 1280x720
  -camera-video.height=720 \
  ; the stream is 1280x720
  -camera-stream.height=720 \
  ; no autofocus
  --http-listen=0.0.0.0 \
  --http-port=8080 \
  -rtsp-port

DynamicUser=yes
SupplementaryGroups=video i2c
Restart=always
RestartSec=10
Nice=10
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUWeight=20
AllowedCPUs=1-3
MemoryMax=250M

[Install]
WantedBy=multi-user.target
cearka commented 1 year ago

@DjofPlusPlus

Would you mind sharing what, if anything else, you may have needed to do get the Pi HQ working? I used your service file and it wasn't enough. The web page won't even launch because I don't think camera is activating.

For context, I did the following:

  1. fresh install of bullseye 32 bit lite from the raspberry pi imager.
  2. followed @ayufan 's install instructions. This in itself is enough to get it running with the pi cam module 3 for me.
  3. I added an dtoverlay=imx477 in the /boot/config.txt
  4. tested libcamera-still --list-cameras. The pi HQ does show up with that command.
  5. copied your service in to the service folder, enabled and started it.

And it doesn't work. Is there any other weird quirks required to get pi HQ to run? like some weird update command? or additional lines in the /boot/config.txt or elsewhere? Some strange option that needs to be toggled in raspi-config? I've struggled to find the solution for a few hours now and have had no luck.

would appreciate any insight, thanks.

DjofPlusPlus commented 1 year ago

Hello @cearka

Sorry I don't have much input to provide, I'm no linux expert... However if you want to compare

For the service file specifically, I would say double check the paths are correct:

I don't remember doing that much beyond the fresh install, looking in my notes I did see the following

Rpi OS: Use raspi-config to switch to NetworkManager

So I probably didn't change much else

Hope that helps!

cearka commented 1 year ago

@DjofPlusPlus thank for the response! I'll give this a try.

cearka commented 1 year ago

@DjofPlusPlus it was the installing from the precompiled that fixed it ! thanks!

ETE-Design commented 4 months ago

@ayufan Nice to see you are working on this project again - At least a little...

Can I ask you to take your time to tell us: What are the steps to follow to get a camera working in ISP mode?

Or make the chances needed for the HQ Camera in to work in ISP Mode? And then tell how to use / run it each time?