Hello,
I have an application that send video packets from an iMX6 device to an Ubuntu PC. I want to have the knowledge of the timestamps of the video packets at the receiver side, to analyse the incoming data flow. Right now I installed a python timer and for every push buffer, note down the time. However it would be better, if I can get the timestamps from the video packets itself. Below are my pieplines: Tx pipeline: v4l2src -> h264encode -> rtph264pay -> rtpbin -> udpsink(port=5000) -> rtpbin.send_rtcp(port=5000) -> rtpbin.recv_rtcp(port=5000) Rx pipeline: udpsrc(port=5000) -> rtpbin -> rtph264depay -> avdec_h264 -> rtpbin.recv_rtcp(port=5000) -> rtpbin.send_rtcp(port=5000) -> videosink 1. Does anyone have any idea on how to read the timestamps in my application? 2. Does rtp send and rtcp send/recv have to be on the same port(in my case 5000), or should I use different ports for rtp and rtcp ? P.S. I know that the log file does have the timestamps, but I would prefer it to be accessible from my application without the log information. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le vendredi 26 octobre 2018 à 04:43 -0500, vk_gst a écrit :
> Hello, > > I have an application that send video packets from an iMX6 device to an > Ubuntu PC. I want to have the knowledge of the timestamps of the video > packets at the receiver side, to analyse the incoming data flow. > Right now I installed a python timer and for every push buffer, note down > the time. However it would be better, if I can get the timestamps from the > video packets itself. > > Below are my pieplines: > > Tx pipeline: > v4l2src -> h264encode -> rtph264pay -> rtpbin -> udpsink(port=5000) -> > rtpbin.send_rtcp(port=5000) -> rtpbin.recv_rtcp(port=5000) > > Rx pipeline: > udpsrc(port=5000) -> rtpbin -> rtph264depay -> avdec_h264 -> > rtpbin.recv_rtcp(port=5000) -> rtpbin.send_rtcp(port=5000) -> videosink > > > 1. Does anyone have any idea on how to read the timestamps in my > application? > 2. Does rtp send and rtcp send/recv have to be on the same port(in my case > 5000), or should I use different ports for rtp and rtcp ? from your application the data flow. > > > P.S. I know that the log file does have the timestamps, but I would prefer > it to be accessible from my application without the log information. > > > > -- > Sent from: http://gstreamer-devel.966125.n4.nabble.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (201 bytes) Download Attachment |
Hi Nicolas,
I added a probe for probing buffer and could retrieve the PTS and DTS from the buffer. Is it legit to consider that one buffer is one frame transmitted from Tx ? I am operating a camera at 30fps. Attached is an histogram at the Rx end for first 500 timestamp values. Link to image : https://imgur.com/a/RoWd1yf Observations : 1. class of 400ms for the histogram 2. the number of buffers range from 36-55, which means minimum 34 buffers pushed for 400ms and maximum 55 buffers for 400ms. I am trying to understand the behavior here, considering at 30 fps (1 frame=33.33 ms + all latencies). Even if the best possible scenario of 33.33ms for 400ms results into 33.33 *400 ms = 1782ms. It does not seem to me that one buffer is one frame. Or is my understanding incorrect ? Regards. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Nicolas Dufresne-5
*** correction to previous post
33.33ms * 36 = 1199.9 ms 33.33ms * 55 = 1833.5 ms but all it takes is 400ms as per the graph. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mar. 30 oct. 2018 15 h 42, vk_gst <[hidden email]> a écrit : *** correction to previous post It's all depends where your probe is placed. There is lot more RTP packets then frames as an example.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |