MP4 Streaming Issues RTP

Franklin Cooper Jr. fcooper27 at gmail.com
Fri Aug 26 23:01:09 PDT 2011


Server
gst-launch filesrc location=temp6.mp4 ! qtdemux  ! rtpmp4vpay
send-config=true ! udpsink host=127.0.0.1 port=5000

Output:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:src: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MPEG4-GENERIC, streamtype=(string)4,
profile-level-id=(string)1, mode=(string)generic,
config=(string)000001b001000001b58913000001000000012000c48d8800c50b44501463000001b24c61766335332e372e30,
sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3,
payload=(int)96, ssrc=(guint)3960670416, clock-base=(guint)2375092519,
seqnum-base=(guint)49157
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:sink: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false,
codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800c50b44501463000001b24c61766335332e372e30,
width=(int)360, height=(int)640, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MPEG4-GENERIC, streamtype=(string)4,
profile-level-id=(string)1, mode=(string)generic,
config=(string)000001b001000001b58913000001000000012000c48d8800c50b44501463000001b24c61766335332e372e30,
sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3,
payload=(int)96, ssrc=(guint)3960670416, clock-base=(guint)2375092519,
seqnum-base=(guint)49157
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 18334377831 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstQTDemux:qtdemux0.GstPad:audio_00: caps = NULL
/GstPipeline:pipeline0/GstQTDemux:qtdemux0.GstPad:video_00: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ..


Client
gst-launch -v udpsrc port=5000 caps="application/x-rtp" ! rtpmp4vdepay !
mpeg4videoparse ! queue ! ffdec_mpeg4 ! ffmpegcolorspace !  xvimagesink

Output:
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps =
application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)1,
encoding-name=(string)MP4V-ES
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:src: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstRtpMP4VDepay:rtpmp4vdepay0.GstPad:sink: caps =
application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)1,
encoding-name=(string)MP4V-ES
/GstPipeline:pipeline0/GstMpeg4VParse:mpeg4vparse0.GstPad:src: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false,
parsed=(boolean)true
/GstPipeline:pipeline0/GstMpeg4VParse:mpeg4vparse0.GstPad:sink: caps =
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false


I never see a video out on the client. However if I replace the server code
with:

gst-launch -v videotestsrc !  ffenc_mpeg4  ! rtpmp4vpay send-config=true !
udpsink host=127.0.0.1 port=5000

Then I am able to see the output.

So I am not sure what is going on when trying to send mp4 video from a file
compared to encoding it  and then sending it. It seems like it should be
equivalent from a RTP stand point.

I am using Ubuntu 10.04 and gstreamer version 0.10.28.

Any help would be appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110826/cc59f4b8/attachment.html>


More information about the gstreamer-devel mailing list