Thanks for your feedback.
SnapshotYCbCr isn’t for you If you want to have a video stream, it only captures a single frame once. However, get raw images from /dev/video0 should not take 200+ms, it’s almost the lowest level way to get one image. I guess the delay comes from cropping, resizing, or even passing the image to ffmepg, etc.
I think the most important thing to get real-time video stream is using hardware encoding and resizing feature but not using CPU to do these things. https://github.com/Freescale/gstreamer-imx this is an easy way to use the hardware encoding feature, and it’s provided officially, and already integrated on HEXA.
You might need to modify ffmpeg to use the hardware encoding feature yourself if you still want to use ffmpeg. Please try to use gstreamer and gstreamer-imx instead of ffmpeg. Here’s the low-level VPU library for HEXA which is already installed https://github.com/Freescale/libimxvpuapi.