GStreamer pipeline to stream .mp4 over network

Prabhakar Lad prabhakar.csengg at gmail.com
Tue Jun 4 06:04:16 PDT 2013


Hi Folks,

I was trying the stream a .mp4 over the network, I followed this link [1]
to construct the pipeline, but whenever I give this pipeline I do not see the
video caps.

Can anyone point me to a working example to stream over network a .mp4 file,
any pointers would be very much helpful.

Note: I am using Ubuntu 12.04 and GStreamer version 0.10.

Following is the log when I try out on the server end:-

prabhakar at Prabhakar:~$ gst-launch-0.10 -v filesrc
location=~/data/sincity.mp4 ! qtdemux name=d ! queue ! rtpmp4vpay !
udpsink port=5000 d. ! queue ! rtpmp4gpay ! udpsink port=5002
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0:
Resource not found.
Additional debug info:
gstfilesrc.c(1042): gst_file_src_start ():
/GstPipeline:pipeline0/GstFileSrc:filesrc0:
No such file "/home/prabhakar/data/sincity.mp4"
Setting pipeline to NULL ...
Freeing pipeline ...
prabhakar at Prabhakar:~$ gst-launch-0.10 -v filesrc location=l ! qtdemux
name=d ! queue ! rtpmp4vpay ! udpsink port=5000 d. ! queue !
rtpmp4gpay ! udpsink port=5002
l.mp4         lttng-traces/
prabhakar at Prabhakar:~$ gst-launch-0.10 -v filesrc location=l.mp4 !
qtdemux name=d ! queue ! rtpmp4vpay ! udpsink port=5000 d. ! queue !
rtpmp4gpay ! udpsink port=5002
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw,
level=(string)2, base-profile=(string)lc, profile=(string)lc,
codec_data=(buffer)12100000000000000000000000000000, rate=(int)44100,
channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = audio/mpeg,
mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw,
level=(string)2, base-profile=(string)lc, profile=(string)lc,
codec_data=(buffer)12100000000000000000000000000000, rate=(int)44100,
channels=(int)2
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:src: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)44100,
encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2,
streamtype=(string)5, profile-level-id=(string)2,
mode=(string)AAC-hbr, config=(string)12100000000000000000000000000000,
sizelength=(string)13, indexlength=(string)3,
indexdeltalength=(string)3, payload=(int)96, ssrc=(uint)1048361533,
clock-base=(uint)1347007428, seqnum-base=(uint)27669
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:sink: caps =
audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)2, base-profile=(string)lc,
profile=(string)lc,
codec_data=(buffer)12100000000000000000000000000000, rate=(int)44100,
channels=(int)2
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0: timestamp = 1347007428
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0: seqnum = 27669
/GstPipeline:pipeline0/GstUDPSink:udpsink1.GstPad:sink: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)44100,
encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2,
streamtype=(string)5, profile-level-id=(string)2,
mode=(string)AAC-hbr, config=(string)12100000000000000000000000000000,
sizelength=(string)13, indexlength=(string)3,
indexdeltalength=(string)3, payload=(int)96, ssrc=(uint)1048361533,
clock-base=(uint)1347007428, seqnum-base=(uint)27669

[1] http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtp/README#n251


Regards,
--Prabhakar Lad


More information about the gstreamer-devel mailing list