We have a requirement to display on an embedded device a video stream from a network camera.
I am currently testing with an i.MX6ULL ARM Cortex-A7 running at 792MHz with 512MB RAM and 10/100Mbps Ethernet. Displaying a 640×480 30FPS MJPG stream only uses about 4Mbps network bandwidth, but is using about 90% CPU. H.264 / H.265 (HEVC) won’t stream at this resolution as the CPU can’t keep up. 320×240 30FPS HEVC uses about 72% CPU. Does this level of CPU usage sound correct, or am I missing something? What processor would be required to display a higher resolution / higher FPS stream?
The gstreamer pipeline is: gst-launch-1.0 rtspsrc location=rtsp://192.168.0.10:5005/routecam latency=0 ! rtpjpegdepay ! jpegdec ! autovideoconvert ! fbdevsink
Testing on a Core-i7-12700H laptop uses less than 1% CPU to display the same stream.
2