Video capture and display RGB888 format


We have a sensor+ISP hardware that outputs 1920x1080 frames RGB888 format. We need to capture video, save the file and display it our TX2.

We already have a working driver. Camera streaming is working properly using qv4l2 interface. Frames are also successfully saved using the command:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=AR24 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=30 --stream-to=test.raw

However, we can’t figure out how to display the video or even to display a single RGB888 frame.

We have tried using gst-launch-1.0 but it always results to

erroneous pipeline: could not link nvcamerasrc0 to
erroneous pipeline: could not link v4l2src0 to

Can anyone guide us on this? Thanks!

Please try the v4l2src and nvoverlaysink to display it.

Hi Shane,

I was able to stream video directly from the camera using this pipeline:

gst-launch-1.0 v4l2src ! videoconvert ! glupload ! glimagesink

However, what I need is to save the video first and then display that video later. If I replace v4l2src with filesrc location=teststream.bgra, I get “Internal data flow error.”

What should be the pipeline for bgra filesrc to glimagesink?
Alternatively, can you also suggest a pipeline for rgb888/bgra format v4l2src to an mp4 filesink format?