Hi, all
I'm doing some experiment with gstreamer 0.10 in RTP application: * Sender: gst-launch-0.10 filesrc location=sample.ogg ! decodebin2 ! \ x264enc tune=zerolatency byte-stream=true bitrate=1024 vbv-buf-capacity=300 \ bframes=0 b-pyramid=true weightb=true me=dia key-int-max=48 ! \ rtph264pay ! udpsink * Receiver: gst-launch-0.10 udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! rtph264depay ! ffdec_h264 ! autovideosink Went through the source, I found rtph264depay doesn't use RTP timestamp and -- It seems the gstbuffer's timestamp is packet's received time, so 1. What does RTP timestamp do ? 2. How does the receiver play properly? I mean without new segment event and gstbuffer's timestamp, how can the receiver play it at a proper rate(e.g. 24FPS) ? -- Regards, - cee1 _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Wed, 2012-12-12 at 21:14 +0800, cee1 wrote:
> * Receiver: > gst-launch-0.10 udpsrc > caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! > rtph264depay ! ffdec_h264 ! autovideosink > > Went through the source, I found rtph264depay doesn't use RTP > timestamp and -- It seems the gstbuffer's timestamp is packet's > received time, so > 1. What does RTP timestamp do ? > 2. How does the receiver play properly? I mean without new segment > event and gstbuffer's timestamp, how can the receiver play it at a > proper rate(e.g. 24FPS) ? You should add a jitterbuffer between udpsrc and the payloader. The jitterbuffer will deal with the capture (udpsrc) timestamps and the RTP timestamps. Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by cee1
Hi,
rtpjitterbuffer inside rtpbin adjusts the GStreamer timestamps using the RTP timestamps. Use rtpbin. Olivier cee1 <[hidden email]> wrote: >Hi, all > >I'm doing some experiment with gstreamer 0.10 in RTP application: >* Sender: >gst-launch-0.10 filesrc location=sample.ogg ! decodebin2 ! \ > x264enc tune=zerolatency byte-stream=true bitrate=1024 >vbv-buf-capacity=300 \ > bframes=0 b-pyramid=true weightb=true me=dia key-int-max=48 ! \ > rtph264pay ! udpsink > >* Receiver: >gst-launch-0.10 udpsrc >caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! >rtph264depay ! ffdec_h264 ! autovideosink > >Went through the source, I found rtph264depay doesn't use RTP >timestamp and -- It seems the gstbuffer's timestamp is packet's >received time, so >1. What does RTP timestamp do ? >2. How does the receiver play properly? I mean without new segment >event and gstbuffer's timestamp, how can the receiver play it at a >proper rate(e.g. 24FPS) ? -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by cee1
On 12/12/2012 02:14 PM, cee1 wrote:
> Hi, all > > I'm doing some experiment with gstreamer 0.10 in RTP application: > * Sender: > gst-launch-0.10 filesrc location=sample.ogg ! decodebin2 ! \ > x264enc tune=zerolatency byte-stream=true bitrate=1024 > vbv-buf-capacity=300 \ > bframes=0 b-pyramid=true weightb=true me=dia key-int-max=48 ! \ > rtph264pay ! udpsink > > * Receiver: > gst-launch-0.10 udpsrc > caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! > rtph264depay ! ffdec_h264 ! autovideosink > > Went through the source, I found rtph264depay doesn't use RTP > timestamp and -- It seems the gstbuffer's timestamp is packet's > received time, so > 1. What does RTP timestamp do ? Nothing if you don't use gstrtpjitterbuffer. With gstrtpjitterbuffer it is used to estimate the clock drift between the sender and receiver and it is used to create a GStreamer timestamp on buffers. > 2. How does the receiver play properly? I mean without new segment > event and gstbuffer's timestamp, how can the receiver play it at a > proper rate(e.g. 24FPS) ? Without a gstrtpjitterbuffer, buffers are played immediately when they are decoded/received. With a gstrtpjitterbuffer they are played based on the rtp timestamp and the estimated clock drift. Wim > > > _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |