thaytan/gst-rpicamsrc

HQ Camera

nikk-cam opened this issue · 1 comments

I would like to use rpicamsrc with different sensor-mode using an HQ sensor.
gst-launch-1.0 -e rpicamsrc preview=1 ! 'video/x-h264,profile=high, width=1920, height=1080, framerate=30/1' ! h264parse ! splitmuxsink ... works great.
However I would like to save videos with higher resolution for this sensor:
`ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'YU12' (Planar YUV 4:2:0)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[1]: 'YUYV' (YUYV 4:2:2)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[2]: 'RGB3' (24-bit RGB 8-8-8)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[3]: 'JPEG' (JFIF JPEG, compressed)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[4]: 'H264' (H.264, compressed)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[5]: 'MJPG' (Motion-JPEG, compressed)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[6]: 'YVYU' (YVYU 4:2:2)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[7]: 'VYUY' (VYUY 4:2:2)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[8]: 'UYVY' (UYVY 4:2:2)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[9]: 'NV12' (Y/CbCr 4:2:0)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[10]: 'BGR3' (24-bit BGR 8-8-8)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[11]: 'YV12' (Planar YVU 4:2:0)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[12]: 'NV21' (Y/CrCb 4:2:0)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2
[13]: 'RX24' (32-bit XBGR 8-8-8-8)
	Size: Stepwise 32x32 - 4056x3040 with step 2/2

`
How can I use format 4 for example using rpicamsrc with a similar pipeline as shown above?
What is highest framerate possible? Since this is recording to disk for now, I am open to any options that are possible.

Thank you.
Nikk

I was able to run GStreamer at 4032x3072 resolution modifying gstrpicamsrc.c

Changed line:
gst_caps_set_simple (caps, "width", GST_TYPE_INT_RANGE, 1, 3240, "height", GST_TYPE_INT_RANGE, 1, 2464, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, RPICAMSRC_MAX_FPS, 1, NULL);
To the following:
gst_caps_set_simple (caps, "width", GST_TYPE_INT_RANGE, 1, 4032, "height", GST_TYPE_INT_RANGE, 1, 3072, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, RPICAMSRC_MAX_FPS, 1, NULL);

Tested with:
gst-launch-1.0 rpicamsrc bitrate=1000000 ! video/x-raw,width=4032,height=3072,framerate=25/1,profile=baseline ! jpegenc ! multifilesink location=/home/pi/test/img%d.jpeg