[gst-devel] stream an ogg file over rtp

Dirk Griffioen dirk.griffioen at barcelonamedia.org
Tue Oct 6 11:50:41 CEST 2009


Hi,

I would like to stream an ogg file over rtp

this is my local pipeline, works fine

gst-launch filesrc location=video.ogg ! oggdemux name=d d. ! queue ! 
theoradec ! ffmpegcolorspace ! xvimagesink d. ! queue ! vorbisdec ! 
audioconvert ! audioresample ! alsasink

but when I transpose this to rtp it does not work. the pipelines run, 
and seem to connect, but the receiving end does not show the video or 
sound the audio:


producer:

gst-launch -v gstrtpbin name=rtpbin \
filesrc location=~/Desktop/video.ogg ! oggdemux name=d d. ! queue ! \
    rtptheorapay ! rtpbin.send_rtp_sink_0 \
    rtpbin.send_rtp_src_0 ! udpsink port=10000 host=$REMOTE_HOST \
    rtpbin.send_rtcp_src_0 ! udpsink port=10001 host=$REMOTE_HOST 
sync=false async=false    \
    udpsrc port=10002 ! rtpbin.recv_rtcp_sink_0 \
queue ! rtpvorbispay ! rtpbin.send_rtp_sink_1 \
    rtpbin.send_rtp_src_1 ! udpsink port=10003 host=$REMOTE_HOST 
ts-offset=0  \
    rtpbin.send_rtcp_src_1 ! udpsink port=10004 host=$REMOTE_HOST 
sync=false async=false  \
    udpsrc port=10005 ! rtpbin.recv_rtcp_sink_1


consumer:

gst-launch -v gstrtpbin name=rtpbin latency=20 \
udpsrc caps="application/x-rtp, media=(string)video, 
clock-rate=(int)90000, encoding-name=(string)THEORA, 
sampling=(string)YCbCr-4:2:0, width=(string)640, height=(string)480, 
delivery-method=(string)inline, payload=(int)96, \
\
configuration=(string) ...
\
" \
port=10000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! \
rtptheoradepay ! theoradec ! autovideosink \
udpsrc port=10001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! udpsink port=10002 host=$REMOTE_HOST sync=false 
async=false \
\
udpsrc 
caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)VORBIS,payload=(int)96,\
\
configuration=(string)
\
" \
port=10003 ! rtpbin.recv_rtp_sink_1 rtpbin. ! \
rtpvorbisdepay ! vorbisdec ! jackaudiosink connect=none \
udpsrc port=10004 ! rtpbin.recv_rtcp_sink_1 \
rtpbin.send_rtcp_src_1 ! udpsink port=10005 host=$REMOTE_HOST sync=false 
async=false


Does anyone know what I am doing wrong? Not terminating the demuxer 'd.'?

Thanks in advance!

Dirk





More information about the gstreamer-devel mailing list