Hey,
I am using camera ALVIUM 1800 C-1236c 2-3c connected via CSI.
v4l2-ctl -d /dev/video0 --all
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘TP31’
Name : 0x31 MIPI DATATYPE
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 1
Type : Video Capture
Pixel Format: ‘RGGB’
Name : 8-bit Bayer RGRG/GBGB
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 2
Type : Video Capture
Pixel Format: ‘RG16’
Name : 16-bit Bayer RGRG/GBGB (Exp.)
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 3
Type : Video Capture
Pixel Format: ‘RG16’
Name : 16-bit Bayer RGRG/GBGB (Exp.)
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 4
Type : Video Capture
Pixel Format: ‘BX24’
Name : 32-bit XRGB 8-8-8-8
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 5
Type : Video Capture
Pixel Format: ‘XR24’
Name : 32-bit BGRX 8-8-8-8
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 6
Type : Video Capture
Pixel Format: ‘VYUY’
Name : VYUY 4:2:2
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
the camera support formats:
v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘TP31’
Name : 0x31 MIPI DATATYPE
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 1
Type : Video Capture
Pixel Format: ‘RGGB’
Name : 8-bit Bayer RGRG/GBGB
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 2
Type : Video Capture
Pixel Format: ‘RG16’
Name : 16-bit Bayer RGRG/GBGB (Exp.)
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 3
Type : Video Capture
Pixel Format: ‘RG16’
Name : 16-bit Bayer RGRG/GBGB (Exp.)
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 4
Type : Video Capture
Pixel Format: ‘BX24’
Name : 32-bit XRGB 8-8-8-8
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 5
Type : Video Capture
Pixel Format: ‘XR24’
Name : 32-bit BGRX 8-8-8-8
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
Index : 6
Type : Video Capture
Pixel Format: ‘VYUY’
Name : VYUY 4:2:2
Size: Discrete 4112x3008
Interval: Discrete 0.073s (13.722 fps)
to see video from the camera i have used this pipeline:
gst-launch-1.0 v4l2src device=/dev/video0 ! videoscale ! video/x-raw,width=800,height=600 ! videoconvert ! queue ! ximagesink sync=false -vvv
and i works well.
While trying to grub frames from the camera using gstreamer’s v4lsrc, the camera send frames with low fps, so i wrote an cpp code that using v4l and I received the expected FPS (as described at the camera’s datasheet).
The framerates that I achieved are:
RGGB - V4L2_PIX_FMT_SRGGB8 22 fps
RG16 - V4L2_PIX_FMT_SRGGB1 22 fps
BX24 - V4L2_PIX_FMT_XRGB32 13 fps
XR24 - V4L2_PIX_FMT_XBGR32 13 fps
VYUY - V4L2_PIX_FMT_VYUY 20 fps
so now i have buffer of VYUY/RGGB/RG16 frame and i would like to save it as a video with high rate fps.
(I can’t save it as raw without convert/compression cause it takes 4112×3008×22÷1024÷1024 = 260mb/s for pixel format of 1 byte or 520mb/s for pixel format of 2 bytes).
cause this limitation i want to convert it to h264 and save it as mp4 file with lossless compression.
running suggested pipeline fails cause of high resolution so i scaled it down:>
gst-launch-1.0 -v filesrc location=frame_4112x3008_RGGB_0.bin blocksize=12368896 ! video/x-bayer, width=4112, height=3008, format=rggb, framerate=15/1 ! bayer2rgb ! videoconvert ! videoscale method=0 n-threads=4 ! video/x-raw,height=2160,width=2160 ! xvimagesink
And i received a image shown.
now i would like to convert is:
gst-launch-1.0 -v filesrc location=frame_4112x3008_RGGB_0.bin blocksize=12368896 ! video/x-bayer, width=4112, height=3008, format=rggb, framerate=15/1 ! bayer2rgb ! video/x-raw, format=BGRx ! nvvidconv ! ‘video/x-raw(memory:NVMM), format=NV12, width=2000, height=1500’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:sink: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
** (gst-launch-1.0:25603): WARNING **: 10:41:19.941: bayer2rgb0: size 144384 is not a multiple of unit size 12368896
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.000430217
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
BTW, i don’t want to scale it down, but lets keep the flow.
a convert to NV12 is also failes cause a reason that i don’t undrestand:
nvidia@nvidia:~$ gst-launch-1.0 -v filesrc location=frame_4112x3008_RGGB_0.bin blocksize=12368896 ! video/x-bayer, width=4112, height=3008, format=rggb, framerate=15/1 ! bayer2rgb ! video/x-raw, format=BGRx ! nvvidconv ! ‘video/x-raw(memory:NVMM), format=NV12, width=2000, height=1500’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, framerate=(fraction)15/1, format=(string)NV12, pixel-aspect-ratio=(fraction)771/752
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:sink: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
** (gst-launch-1.0:31485): WARNING **: 10:56:25.500: bayer2rgb0: size 144384 is not a multiple of unit size 12368896
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.000439625
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
so i have tried to do it withot downscale:
nvidia@nvidia:~$ gst-launch-1.0 -v filesrc location=frame_4112x3008_RGGB_0.bin blocksize=12368896 ! video/x-bayer, width=4112, height=3008, format=rggb, framerate=15/1 ! bayer2rgb ! video/x-raw, format=BGRx ! nvvidconv ! ‘video/x-raw(memory:NVMM), format=NV12, width=4112, height=3008’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, framerate=(fraction)15/1, format=(string)BGRx
/GstPipeline:pipeline0/GstBayer2RGB:bayer2rgb0.GstPad:sink: caps = video/x-bayer, width=(int)4112, height=(int)3008, format=(string)rggb, framerate=(fraction)15/1
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
** (gst-launch-1.0:31541): WARNING **: 10:56:39.655: bayer2rgb0: size 144384 is not a multiple of unit size 12368896
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.000539051
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
trying to convert the VYUY works:
gst-launch-1.0 -v filesrc location=frame_4112x3008_VYUY_0.bin ! videoparse format=vyuy width=4112 height=3008 framerate=15/1 ! videoconvert ! video/x-raw, format=NV12 ! nvvidconv ! ‘video/x-raw(memory:NVMM), width=2000, height=1500’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
/GstPipeline:pipeline0/GstVideoParse:videoparse0/GstRawVideoParse:inner_rawvideoparse.GstPad:src: caps = video/x-raw, format=(string)VYUY, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstVideoParse:videoparse0.GstGhostPad:src: caps = video/x-raw, format=(string)VYUY, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad2: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)2000, height=(int)1500, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)771/752, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, format=(string)NV12
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)VYUY, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstVideoParse:videoparse0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)VYUY, width=(int)4112, height=(int)3008, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt2020, framerate=(fraction)15/1
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = true
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.066547851
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
tring to work with VYUY format (without rescale) failed:
gst-launch-1.0 -e filesrc location=frame_4112x3008_VYUY_0.bin ! videoparse format=vyuy width=4112 height=3008 framerate=15/1 ! videoconvert ! video/x-raw, format=NV12 ! nvvidconv ! ‘video/x-raw(memory:NVMM), width=4112, height=3008’ ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=test_VYUY_resized_to_2000x1500_h264.mov
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Opening in BLOCKING MODE
Pipeline is PREROLLING …
Redistribute latency…
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
H264: Profile = 66, Level = 0
_ValidateEncodeParams: Invalid encode width
creating video without downscale (as wanted) works:
gst-launch-1.0 -e filesrc location=frame_4112x3008_VYUY_0.bin ! videoparse format=vyuy width=4112 height=3008 framerate=15/1 ! videoconvert ! video/x-raw, format=NV12 ! nvvidconv ! ‘video/x-raw(memory:NVMM), width=4096’ ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=test_VYUY.mov
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Opening in BLOCKING MODE
Pipeline is PREROLLING …
Redistribute latency…
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
H264: Profile = 66, Level = 0
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.000583500
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
Thank you for your detailed answer, it’s very helpful!