Writing video in 1440p on Jetson Nano

Hello,
I’m trying to set up a GStreamer pipeline for OpenCV VideoWriter object to accept frames in 1440p.

Camera with IMX 477 sensor captures frames in 2560 x 1440 resolution and
I need to write a CV8UC3 BGR frames of 2560 x 1440 px to file. Everything worked fine on 1920 x 1080 with following pipeline:

"appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! video/x-raw,format=RGBA ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="

Approximately 7 different GStreamer pipelines were tested, but none
of them succeeded.

  1. "appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! video/x-raw, width=2560, height=1440, format=RGBA ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="
  2. "appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! 'video/x-raw, width=2560, height=1440, format=RGBA' ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="
  3. "appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! 'video/x-raw(memory:NVMM), width=2560, height=1440, format=RGBA' ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="
  4. "appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! video/x-raw,format=BGRx ! nvvidconv ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location="
  5. "appsrc ! queue ! videoconvert ! video/x-raw(memory:NVMM), width=2560, height=1440, format=BGR ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="
  6. "appsrc ! video/x-raw, width=2560, height=1440, format=BGR ! queue ! videoconvert ! video/x-raw(memory:NVMM), width=2560, height=1440, format=BGRx ! nvvidconv ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location="

Could anyone, please, provide a full working pipeline example for this case?

Hi,
Please try this pipeline and check if it works:

"appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! video/x-raw, width=2560, height=1440, format=RGBA ! nvvidconv ! video/x-raw(memory:NVMM),format=NV12 ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location="

And please make sure the camera source does output in 2560x1440. The pipelines look fine, so probably the source does not generate frame data in 12560x1440. IMX477 should output YUV420 so please make sure you convert the frames to BGR correctly.

It works, thank you!!

1 Like