[gst-devel] Trouble with basic RTP raw video pipelines

Ward, David - 0663 - MITLL david.ward at ll.mit.edu
Sun Jun 13 19:54:28 CEST 2010

I am using gstreamer 0.10.29 and gstreamer-plugins-good 0.10.23.  I have 
really been struggling to get any type of RTP pipeline to work correctly 
on both the sending and receiving side (first trying Theora, now just 
raw video).  I'm issuing both of these commands on the same host -- this 
is as basic as I think I can get:

# Generate test video and send to port 5000
gst-launch --gst-debug=3 \
gstrtpsession name=session \
videotestsrc ! rtpvrawpay ! session.send_rtp_sink \
session.send_rtp_src ! udpsink port=5000

# Receive video from port 5000 and display on screen
gst-launch --gst-debug=3 \
gstrtpsession name=session \
udpsrc port=5000 caps="application/x-rtp, media=(string)video, \
    clock-rate=(int)90000, encoding-name=(string)RAW, \
    sampling=(string)YCbCr-4:2:2, depth=(string)8, \
    width=(string)320, height=(string)240, \
    colorimetry=(string)SMPTE240M" ! session.recv_rtp_sink \
session. ! rtpvrawdepay ! xvimagesink

I can observe traffic on port 5000 of the loopback interface using 
Wireshark.  However the receiving pipeline never displays any video.

The caps on the udpsrc were obtained by copying them from the debugging 
output on the sending side.  A simple pipeline that does not involve RTP 
works fine for displaying the video locally, such as this:

gst-launch videotestsrc ! xvimagesink

First, is there anything I am obviously doing wrong in the setup of my 

Also, here are some excerpts from the debug log on the receiving side 
that I am not quite sure about:

GST_PIPELINE ./grammar.y:568:gst_parse_perform_link: linking 
udpsrc0:(any) to session:session (0/1) with caps "(NULL)"
     => what is "session:session"?  shouldn't that be 
     => why are caps NULL?  I think I am setting them explicitly for the 

bin gstbin.c:2315:gst_bin_do_latency_func:<pipeline0> failed to query 
     => is this significant?

I have tried to follow any documentation and examples I can find with 
gstrtpbin/gstrtpsession, but unfortunately many of the specific examples 
are for patented codecs (I am in the United States).  Ultimately I plan 
to add Theora encoding/decoding to this pipeline and to use the 
gstrtpbin element and RTCP, but I think I first need to understand why 
this example doesn't work before I can hope to make the other work.

Thanks in advance for any help,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5521 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100613/580391c3/attachment.bin>

More information about the gstreamer-devel mailing list