rtpbin + demux

alambruschini andrea.lambruschini at gmail.com
Fri Jun 26 00:43:30 PDT 2015


hi,
I'm starting to use gstreamer. I need to create an audio / video stream and
send it to a server via RTP.

I can create a video stream and send it properly.
I can create an audio stream properly.
I can not send the two streams simultaneously.

Sending video stream (work):
gst-launch-1.0 -v --gst-debug-level = 3 filesrc location = "mystream.avi"!
qtdemux name = demux! rtpbin name = rtpbin demux.video_0! decodebin!
videoconvert! videoscale! x264enc! rtph264pay! rtpbin.send_rtp_sink_0
rtpbin.send_rtp_src_0! udpsink port = 5000 rtpbin.send_rtcp_src_0! udpsink
port = 5001 = false sync async = false udpsrc port = 5005!
rtpbin.recv_rtcp_sink_0

Sending Audio Stream (works):
gst-launch-1.0 -v --gst-debug-level = 3 filesrc location = "mystream.avi"!
qtdemux name = demux! rtpbin name = rtpbin demux.audio_0! rtpmpapay!
rtpbin.send_rtp_sink_1 rtpbin.send_rtp_src_1! udpsink port = 5002
rtpbin.send_rtcp_src_1! udpsink port = 5003 = false sync async = false
udpsrc port = 5007! rtpbin.recv_rtcp_sink_1

Flow sending audio and video (not working)
gst-launch-1.0 -v --gst-debug-level = 3 filesrc location = "mystream.avi"!
qtdemux name = demux! rtpbin name = rtpbin demux.video_0! decodebin!
videoconvert! videoscale! x264enc! rtph264pay! rtpbin.send_rtp_sink_0
rtpbin.send_rtp_src_0! udpsink port = 5000 rtpbin.send_rtcp_src_0! udpsink
port = 5001 = false sync async = false udpsrc port = 5005!
rtpbin.recv_rtcp_sink_0 \
    demux.audio_0! rtpmpapay! rtpbin.send_rtp_sink_1 rtpbin.send_rtp_src_1!
udpsink port = 5002 rtpbin.send_rtcp_src_1! udpsink port = 5003 = false sync
async = false udpsrc port = 5007! rtpbin.recv_rtcp_sink_1

The server that receives the stream is defined in this way:
gst-launch-1.0 rtpbin -v name = rtpbin udpsrc caps = "application / x-rtp,
mean = (string) video, clock-rate = (int) 90000, encoding-name = (string)
H264, payload = (int ) 96 "port = 5000! rtpbin.recv_rtp_sink_0 rtpbin. !
rtph264depay! decodebin! autovideosink udpsrc port = 5001!
rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0! udpsink port = 5005 = false
sync async = false \
       udpsrc caps = "application / x-rtp, mean = (string) audio, clock-rate
= (int) 90000, encoding-name = (string) MPA, payload = (int) 96" port =
5002! rtpbin.recv_rtp_sink_1 rtpbin. ! rtpmpadepay! decodebin! pulsesink
udpsrc port = 5003! rtpbin.recv_rtcp_sink_1 rtpbin.send_rtcp_src_1! udpsink
port = 5007 = false sync async = false

Start properly both client and server, but remain pending indefinitely.

Could you help me figure out where is the problem?
Thank you.




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/rtpbin-demux-tp4672465.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list