udp caps fail

metind metin.duman at arcelik.com
Wed May 28 06:53:41 PDT 2014


Dear all,

I am using this pipeline to send audio video (audio 5000 and video 5002);
gst-launch-0.10 -v audiotestsrc ! audioconvert ! ffenc_aac ! queue !
rtpmp4apay ! udpsink host=127.0.0.1 port=5000 videotestsrc ! ffenc_mpeg4 !
queue ! rtpmp4vpay send-config=true ! udpsink host=127.0.0.1 port=5002

and the debug text is;
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps =
video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)30/1,
format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps =
audio/x-raw-int, width=(int)16, depth=(int)16, rate=(int)44100,
channels=(int)1, endianness=(int)1234, signed=(boolean)true
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps =
audio/x-raw-int, width=(int)16, depth=(int)16, rate=(int)44100,
channels=(int)1, endianness=(int)1234, signed=(boolean)true
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps =
audio/x-raw-int, width=(int)16, depth=(int)16, rate=(int)44100,
channels=(int)1, endianness=(int)1234, signed=(boolean)true
/GstPipeline:pipeline0/ffenc_mpeg4:ffenc_mpeg40.GstPad:src: caps =
video/mpeg, width=(int)320, height=(int)240, framerate=(fraction)30/1,
mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/ffenc_mpeg4:ffenc_mpeg40.GstPad:sink: caps =
video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)30/1,
format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/mpeg,
width=(int)320, height=(int)240, framerate=(fraction)30/1,
mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/mpeg,
width=(int)320, height=(int)240, framerate=(fraction)30/1,
mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/mpeg,
width=(int)320, height=(int)240, framerate=(fraction)30/1,
mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps =
video/mpeg, width=(int)320, height=(int)240, framerate=(fraction)30/1,
mpegversion=(int)4, systemstream=(boolean)false
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335332e33352e30,
payload=(int)96, ssrc=(uint)475401716, clock-base=(uint)2048383010,
seqnum-base=(uint)16002
/GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: timestamp = 2804015880
/GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: seqnum = 28046
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)44100,
encoding-name=(string)MP4A-LATM, cpresent=(string)0,
config=(string)40002410adca00, payload=(int)96, ssrc=(uint)1608778944,
clock-base=(uint)2804014857, seqnum-base=(uint)28046
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: timestamp = 2048383010
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: seqnum = 16002
/GstPipeline:pipeline0/GstUDPSink:udpsink1.GstPad:sink: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335332e33352e30,
payload=(int)96, ssrc=(uint)475401716, clock-base=(uint)2048383010,
seqnum-base=(uint)16002
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


And then to get only video part, i am using this pipeline;

GST_DEBUG=*:2 gst-launch-0.10  udpsrc port=5002 caps="application/x-rtp,
media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335332e33352e30,
payload=(int)96, ssrc=(uint)475401716, clock-base=(uint)2048383010,
seqnum-base=(uint)16002" ! rtpmp4vdepay ! ffdec_mpeg4 ! xvimagesink

but it gives error as;

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.482447186 13540  0x93ceee0 WARN                     bin
gstbin.c:2399:gst_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
0:00:00.513829649 13540  0x94e7b20 ERROR                 ffmpeg :0::
warning: first frame is no keyframe
0:00:00.515966142 13540  0x94e7b20 WARN                  ffmpeg
gstffmpegdec.c:2297:gst_ffmpegdec_frame:<ffdec_mpeg40> ffdec_mpeg4: decoding
error (len: -1, have_data: 0)
0:00:00.516267452 13540  0x94e7b20 WARN                 basesrc
gstbasesrc.c:2625:gst_base_src_loop:<udpsrc0> error: Internal data flow
error.
0:00:00.516416326 13540  0x94e7b20 WARN                 basesrc
gstbasesrc.c:2625:gst_base_src_loop:<udpsrc0> error: streaming task paused,
reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 32306592 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


I think i used correct caps for video but couldnt play it. I need your
advice to solve this problem.

Best regards,







--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/udp-caps-fail-tp4667243.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list