IMX6 RTSP stream latency

From RidgeRun Developer Wiki


Introduction

This page summarizes the results after measuring the latency for an iMX6 Nitrogen6X board while streaming over RTSP.

Test setup

The test was performed using the Nitrogen6X Eval SDK built with Linaro HFP toolchain and using the RidgeRun RTSP Sink element. A 1080p30 test video showing a timer was split into 2 outputs, one of the outputs was sent to an HDMI monitor (reference video) and the other one to the iMX6 HDMI capture module. The stream was played using a GStreamer pipeline on a regular PC, then a picture of the reference video and the captured stream was taken and the latency is calculated as the difference of the values in the 2 versions of the video.

1080p30 (VPU 352MHZ) test results

These are the results of the test with the video running at 1080p30 and the VPU at 352MHz. In order to reproduce them run the following pipelines:

Target board pipeline

gst-launch-0.10 mfw_v4lsrc device=/dev/video0 capture-mode=5 fps-n=30 queue-size=7 ! gstperf ! queue ! \
vpuenc codec=6 gopsize=30 bitrate=10000000 seqheader-method=3 ! \
queue ! mpegtsmux ! capsfilter caps="video/mpegts,mapping=/stream1" ! \
queue ! rtspsink service="5000" name=sink -v


PC (receiver) pipeline

$TARGET_IP_ADDRESS=<your board ip address>
gst-launch-1.0 -e -v rtspsrc location="rtsp://$TARGET_IP_ADDRESS:5000/stream1" ! \
rtpmp2tdepay ! queue ! tsdemux ! 'video/x-h264' ! h264parse ! queue ! \
decodebin ! xvimagesink sync=false

Latency results

  • Max: 128ms
  • Min: 63ms
  • Average: 92ms


For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.