AnsweredAssumed Answered

Gstreamer h264 decoding latency on iMX53

Question asked by kartiknatarajan on Jul 4, 2013
Latest reply on Jul 17, 2013 by kartiknatarajan
Branched to a new discussion

I am receiving a h.264 stream over a network onto my i.mx53 board, resizing with mfw_isink and displaying it on its LCD. The delay between the (on board CSI ) camera on the transmitter side getting encoded in h.264 by another i.mx53 device & transmitting over wireless and getting displayed on the other device is of the order of 500ms roundabouts.

I transmitted the same stream on a ubuntu x386 machine and played it with a similar gstreamer receive pipeline and displayed on its screen. The delay is about 300 ms or just below it.

What I have tried and has not improved the performance

1) no resizing in mfw_isink

2) try with mfw_v4lsink

3) set bitrate paramter on the transmitter side vpuencoder to 100/200/300/400 kbps

4) set min-latency=true  and framedrop=false in the mfw_vpudecoder


Things complicate further when I plug in a USB camera on the transmitter side and stream out. On the ubuntu machine the delay is 400ms, on device it is close to 900 ms. Reducing the bitrate below 200 kbps worsens the performance. Guess this is the h264 behaviour.


But in all is this a performance issue with the vpudecoder or am I supposed to suspect some other plugin?


Here is the receiver pipeline for reference


gst-launch -v udpsrc caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, profile-level-id=(int)6553622,packetization-mode=(int)1,encoding-name=(string)H264, sprop-parameter-sets=\"Z0IAFKaCxOQA\\,aM44gAA\\=\", payload=96" port=9030 ! .recv_rtp_sink_0 \

    gstrtpbin ! rtph264depay ! mfw_vpudecoder  min-latency=true framedrop=false  ! mfw_isink disp-height=272 disp-width=240 axis-top=0 axis-left=0 sync=false


I have looked into a similar issue and do not understand how to get it here if that is the solution