using SDP files with playbin

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

using SDP files with playbin

Rémi BUISSON
Hi everyone,

I have some troubles using SDP files with playbin.
Both client (192.168.1.30) and server (192.168.1.2) are under Ubuntu
8.04 LTS and gstreamer-0.10.

On the server side :
$ gst-launch -v gstrtpbin name=rtpbin \
    filesrc location=filesrc
location=../../../partage/Videos/superman_originale.avi ! decodebin
name=dec \
    dec. ! queue ! x264enc byte-stream=false bitrate=300 ! rtph264pay !
rtpbin.send_rtp_sink_0 \
    rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.1.30
ts-offset=0 name=vrtpsink \
    rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.1.30
sync=false async=false name=vrtcpsink \
    udpsrc port=5005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0 \
    dec. ! queue ! audioresample ! audioconvert ! alawenc ! rtppcmapay !
rtpbin.send_rtp_sink_1 \
    rtpbin.send_rtp_src_1 ! udpsink port=5002 host=192.168.1.30
ts-offset=0 name=artpsink \
    rtpbin.send_rtcp_src_1 ! udpsink port=5003 host=192.168.1.30
sync=false async=false name=artcpsink \
    udpsrc port=5007 name=artpsrc ! rtpbin.recv_rtcp_sink_1

On the client side:
$ gst-launch -vvv playbin uri=file:///media/disk/client.sdp
Setting pipeline to PAUSED ...
/playbin0/decodebin0/typefind.src: caps = application/sdp
Pipeline is live and does not need PREROLL ...
/playbin0/decodebin0/sdpdemux0.sink: caps = application/sdp
Setting pipeline to PLAYING ...
/playbin0/decodebin0/sdpdemux0/rtpbin0: latency = 200
/playbin0/decodebin0/sdpdemux0/udpsrc0: timeout = 10000000
/playbin0/decodebin0/sdpdemux0/udpsrc2: timeout = 10000000
/playbin0/decodebin0/sdpdemux0/rtpbin0/rtpsession1: ntp-ns-base =
3430706685285951000
/playbin0/decodebin0/sdpdemux0/rtpbin0/rtpsession0: ntp-ns-base =
3430706685285951000
ERROR: pipeline doesn't want to play.
ERROR: from element /playbin0/decodebin0/sdpdemux0/udpsrc0: Could not
get/set settings from/on resource.
Additional debug info:
gstudpsrc.c(843): gst_udpsrc_start ():
/playbin0/decodebin0/sdpdemux0/udpsrc0:
bind failed -1: Cannot assign requested address (99)
Setting pipeline to NULL ...
/playbin0/decodebin0/sdpdemux0.sink: caps = NULL
/playbin0/decodebin0/typefind.src: caps = NULL
FREEING pipeline ...

with client.sdp:
v=0
o=- 1188340656180883 1 IN IP4 192.168.1.2
s=Session streamed by GStreamer
i=server.sh
t=0 0
a=tool:GStreamer
a=type:broadcast
m=video 5000 RTP/AVP 96
c=IN IP4 192.168.1.2
a=rtpmap:96 H264/90000
m=audio 5002 RTP/AVP 8
c=IN IP4 192.168.1.2

It works with localhost address for gstreamer and using vlc 0.8.6.

This works with gstreamer:
$ gst-launch -v gstrtpbin name=rtpbin latency=200 \
     udpsrc
caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
port=5000 ! rtpbin.recv_rtp_sink_0 \
       rtpbin. ! rtph264depay ! decodebin ! xvimagesink \
     udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
         rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=192.168.1.2
sync=false async=false \
     udpsrc
caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA"
port=5002 ! rtpbin.recv_rtp_sink_1 \
       rtpbin. ! rtppcmadepay ! decodebin ! audioconvert ! audioresample
! alsasink \
     udpsrc port=5003 ! rtpbin.recv_rtcp_sink_1 \
         rtpbin.send_rtcp_src_1 ! udpsink port=5007 host=192.168.1.2
sync=false async=false

Thanks in advance.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel