Regarding dx9screencapsrc udp pipleline

ashishgupta_mca ashish.krish.gupta at gmail.com
Fri Dec 4 00:02:37 PST 2015


When I play the below example(in windows)

Server
gst-launch-1.0 videotestsrc ! x264enc ! h264parse ! rtph264pay ! udpsink
host=127.0.0.1 port=5000
Client
gst-launch-1.0 udpsrc port=5000 !
application/x-rtp,encoding-name=H264,payload=96 ! rtpjitterbuffer !
rtph264depay ! h264parse ! avdec_h264 ! autovideosink


It works perfectly well.

But when I play the same example with dx9screencapsrc
Server
gst-launch-1.0 dx9screencapsrc ! video/x-raw,framerate=30/1 ! queue !
videoconvert ! x264enc ! h264parse ! rtph264pay ! udpsink host=127.0.0.1
port=5000
Client
gst-launch-1.0 udpsrc port=5000 !
application/x-rtp,encoding-name=H264,payload=96 ! rtpjitterbuffer !
rtph264depay ! h264parse ! avdec_h264 ! autovideosink

client gives me the below error
C:\Users\ashg>gst-launch-1.0 -v udpsrc port=5000 !
application/x-rtp,encoding-name=H264,payload=96 ! rtpjitterbuffer !
rtph264depay ! h264parse ! avde
c_h264 ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
"application/x-rtp\,\ encoding-name\=\(string\)H264\,\ payload\=\(int\)96\,\
media
\=\(string\)video\,\ clock-rate\=\(int\)90000"
/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink: caps
= "application/x-rtp\,\ encoding-name\=\(string\)H264\,\ payload\=\(int\)
96\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000"
/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink: caps
= "application/x-rtp\,\ encoding-name\=\(string\)H264\,\ payload\=\(int\)
96\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000"
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
co
dec_data\=\(buffer\)01f40032ffe1001967f40032919b280f004bd80880000003008000001e478c18cb01000668ebec448440\,\
level\=\(string\)5\,\ profile\=\(string\)h
igh-4:4:4"
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
codec_da
ta\=\(buffer\)01f40032ffe1001967f40032919b280f004bd80880000003008000001e478c18cb01000668ebec448440\,\
level\=\(string\)5\,\ profile\=\(string\)high-4:
4:4\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ width\=\(int\)1920\,\
height\=\(int\)1200\,\ framerate\=\(fraction\)30/1\,\
parsed\=\(boolean\)true"
Redistribute latency...
/GstPipeline:pipeline0/avdec_h264:avdec_h264-0.GstPad:sink: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
codec_d
ata\=\(buffer\)01f40032ffe1001967f40032919b280f004bd80880000003008000001e478c18cb01000668ebec448440\,\
level\=\(string\)5\,\ profile\=\(string\)high-4
:4:4\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ width\=\(int\)1920\,\
height\=\(int\)1200\,\ framerate\=\(fraction\)30/1\,\
parsed\=\(boolean\)true"
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
codec_d
ata\=\(buffer\)01f40032ffe1001967f40032919b280f004bd80880000003008000001e478c18cb01000668ebec448440\,\
level\=\(string\)5\,\ profile\=\(string\)high-4
:4:4"
/GstPipeline:pipeline0/avdec_h264:avdec_h264-0.GstPad:src: caps =
"video/x-raw\,\ format\=\(string\)Y444\,\ width\=\(int\)1920\,\
height\=\(int\)1200\
,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ fra
merate\=\(fraction\)30/1"
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.
Additional debug info:
gstbasesrc.c(2943): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:08.986212260
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


What problem it can be?

Secondly, is it possible to send the byte streams(dx9screencapsrc) over the
udp sink server and then on 
client side, parse with h264 and play it.
For e.g below works for videotestsrc
gst-launch-1.0 videotestsrc ! x264enc ! udpsink host=127.0.0.1 port=5000
gst-launch-1.0 udpsrc port=5000 ! h264parse ! avdec_h264 ! autovideosink

Can I do the same with dx9screencapsrc?
 



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Regarding-dx9screencapsrc-udp-pipleline-tp4674748.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list