Gstreamer PI to PI

Tell stell-byz at t-online.de
Mon Apr 24 14:33:45 UTC 2017


Hi guys,

as the topic says i am streaming from one Pi to another. The following
scenario works flawlessly:
Webcam attached to the PI and streaming to my Windows 7 PC:

Sender:
raspivid -n -t 0 -w 1280 -h 720 -fps 50 -b 2000000 -o - | gst-launch-1.0 -e
-vvvv fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink
host=192.168.0.111 port=5000

Receiver:
gst-launch-1.0 -e -v udpsrc port=5000 ! application/x-rtp, payload=96 !
rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false
text-overlay=false

Now i want to do the same with 2 PIs. Starting the receiver command above on
the second PI i get immediately a clear picture. But the screen is frozen, i
cant see any movement but the first picture that appears. And the CPU load
is about 90%.

Log file of the sender:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps =
"video/x-h264\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\
framerate\=\(fraction\)0/1\,\ parsed\=\(boolean\)true\,\
stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
level\=\(string\)4\,\ profile\=\(string\)high\,\
codec_data\=\(buffer\)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee01372c"
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps =
"application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\
encoding-name\=\(string\)H264\,\
sprop-parameter-sets\=\(string\)\"J2QAKKwrQCgC3QDxImo\\\=\\\,KO4BNyw\\\=\"\,\
payload\=\(int\)96\,\ ssrc\=\(uint\)3332051949\,\
timestamp-offset\=\(uint\)1632913687\,\ seqnum-offset\=\(uint\)12122"
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
"application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\
encoding-name\=\(string\)H264\,\
sprop-parameter-sets\=\(string\)\"J2QAKKwrQCgC3QDxImo\\\=\\\,KO4BNyw\\\=\"\,\
payload\=\(int\)96\,\ ssrc\=\(uint\)3332051949\,\
timestamp-offset\=\(uint\)1632913687\,\ seqnum-offset\=\(uint\)12122"
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps =
"video/x-h264\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\
framerate\=\(fraction\)0/1\,\ parsed\=\(boolean\)true\,\
stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
level\=\(string\)4\,\ profile\=\(string\)high\,\
codec_data\=\(buffer\)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee01372c"
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: timestamp = 1632913687
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: seqnum = 12122
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


Log file of the receiver:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'autovideosink0-actual-sink-glimage':
gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
"application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\
clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264"
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:src: caps
= "application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\
clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264"
/GstPipeline:pipeline0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:src: caps
= "application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\
clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264"
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps =
"application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\
clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264"
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
codec_data\=\(buffer\)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee01372c"
/GstPipeline:pipeline0/avdec_h264:avdec_h264-0.GstPad:sink: caps =
"video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\
codec_data\=\(buffer\)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee01372c"
/GstPipeline:pipeline0/avdec_h264:avdec_h264-0.GstPad:src: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)25/1"
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)25/1"
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSink:autovideosink0-actual-sink-glimage.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)25/1"
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)25/1"


Receiver PI: model 2 B. pi at raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.50+ #970 Mon Feb 23 19:12:50 GMT 2016 armv6l GNU/Linux

Sender PI: model 1 B+. pi at raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.34+ #930 Wed Nov 23 15:12:30 GMT 2016 armv6l GNU/Linux








--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Gstreamer-PI-to-PI-tp4682789.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list