Difference between revisions of "IMX6 RTSP stream latency"

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
Line 1: Line 1:
 
<seo title="IMX6 RTSP Stream Latency | Nitrogen6X Board | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, Nvidia, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, GStreamer Multimedia Framework."  description="Get to know the importance of latency measurement for iMX6 Nitrogen6X board while streaming over RTSP. Read about IMX6 RTSP stream latency at RidgeRun."></seo>
 
<seo title="IMX6 RTSP Stream Latency | Nitrogen6X Board | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, Nvidia, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, GStreamer Multimedia Framework."  description="Get to know the importance of latency measurement for iMX6 Nitrogen6X board while streaming over RTSP. Read about IMX6 RTSP stream latency at RidgeRun."></seo>
  
= Introduction =
+
<table>
 +
<tr>
 +
<td><div class="clear; float:right">__TOC__</div></td>
 +
<td valign=center halign=center>
 +
{|
 +
| [[File:NXP Partner Program Registered Vertical.jpg|220px]] || [[File:NXP Partner Program Horizontal.jpg|500px]]
 +
|}
 +
</td>
 +
</table>
 +
 
 +
 
 +
== Introduction ==
  
 
This page summarizes the results after measuring the latency for an iMX6 Nitrogen6X board while streaming over RTSP.
 
This page summarizes the results after measuring the latency for an iMX6 Nitrogen6X board while streaming over RTSP.
  
= Test setup =  
+
== Test setup ==  
  
 
* iMX6Q Nitrogen6Q2G board
 
* iMX6Q Nitrogen6Q2G board
Line 16: Line 27:
 
The stream was played using a gstreamer pipeline in a regular PC, then a picture of the reference video and the captured stream was taken and the the latency is calculated as the difference of the values in the 2 versions of the video.
 
The stream was played using a gstreamer pipeline in a regular PC, then a picture of the reference video and the captured stream was taken and the the latency is calculated as the difference of the values in the 2 versions of the video.
  
= 1080p30 (VPU 352MHZ) test results =
+
== 1080p30 (VPU 352MHZ) test results ==
  
This are the results of the test with the video running at 1080p30 and the VPU at 352MHz. In order to reproduce them run the followin pipelines:
+
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 followin pipelines:
  
== Target board pipeline ==
+
=== Target board pipeline ===
  
 
<pre>
 
<pre>
Line 30: Line 41:
  
  
== PC (receiver) pipeline ==
+
=== PC (receiver) pipeline ===
  
 
<pre>
 
<pre>
Line 39: Line 50:
 
</pre>
 
</pre>
  
== Latency results ==
+
=== Latency results ===
  
 
* '''Max:''' 128ms
 
* '''Max:''' 128ms
Line 45: Line 56:
 
* '''Average:''' 92ms
 
* '''Average:''' 92ms
  
[[Category: RidgeRun RTSP Technology]][[Category: iMX6]]
+
[[Category: RidgeRun RTSP Technology]][[Category: iMX6]][[Category: IMX6]][[Category: IMX8]]

Revision as of 13:28, 24 November 2021

NXP Partner Program Registered Vertical.jpg NXP Partner Program Horizontal.jpg


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 output 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 in a regular PC, then a picture of the reference video and the captured stream was taken and the 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 followin 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