Hello, I have problem with rtp.
Here the code: sender gst-launch --gst-plugin-path=/home/counter/detector/bin -v rtspsrc location=rtsp://user:pass@10.10.10.11/axis-media/media.amp ! rtph264depay ! decodebin ! rtpvrawpay ! udpsink host=127.0.0.1 port=8811 | while read line ; do if [[ $line =~ .*GstUDPSink.*caps.*video.* ]] then echo $line | sed -e 's/.*caps = //' | sed -e 's/ //g' > caps_11.txt fi echo $line done It captures rtsp from ip-camera and sends raw RGB images via UDP. Caps I parse from sender output receiver CAPS=$( (cat caps_11.txt) ) gst-launch -v udpsrc do-timestamp=true multicast-group=127.0.0.1 port=8811 caps="$CAPS" ! rtpvrawdepay ! clockoverlay halignment=1 text="`date +%d.%m.%y`" font-desc="Sans 28" ! ffenc_flv ! ffmux_flv ! filesink async=false sync=false location=$FDIR/$FFNAME when I listen lo interface with tcpdump - I see udp packets to 8811, thats ok, but file is zero size If i put to reciever invalid caps (width and height bigger than real) in starts receiv packets with corrupted frames. I used debian 6.0 with it's gstreamer Package: libgstreamer0.10-0 New: yes State: installed Automatically installed: no Version: 0.10.30-1 Priority: optional Section: libs Maintainer: Maintainers of GStreamer packages <[hidden email]> Uncompressed Size: 3449 k Depends: libc6 (>= 2.10), libglib2.0-0 (>= 2.24.0), libxml2 (>= 2.7.4) Suggests: gstreamer0.10-tools, gstreamer0.10-plugins Conflicts: gstreamer0.10-plugins-base (< 0.10.25.2), libgstreamer-plugins-base0.10-0 (< 0.10.11cvs20070110-0ubuntu5) Replaces: gobject-introspection-repository (< 0.6.5-2) Description: Core GStreamer libraries and elements GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. Its plugin-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. This package contains the core library and elements. Homepage: http://gstreamer.freedesktop.org _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Which caps is it using in the case of your rtpvrawpay ?
raw rgb streams can't be transmitted yet with rtpvrawpay; just yuv video works. This could be the problem in your case. Here is a discussion about this: http://gstreamer-devel.966125.n4.nabble.com/simple-raw-video-RTP-still-no-joy-tp2525125p3490213.html |
On 21.02.2012 17:15, pfarmer wrote:
> Which caps is it using in the case of your rtpvrawpay ? > > raw rgb streams can't be transmitted yet with rtpvrawpay; just yuv video > works. This could be the problem in your case. > > Here is a discussion about this: > http://gstreamer-devel.966125.n4.nabble.com/simple-raw-video-RTP-still-no-joy-tp2525125p3490213.html > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RTP-problem-tp4406338p4406979.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel I modify sender pipeline ike this (add ffmpegcolorspace to convert from RGB to YUV): gst-launch -v rtspsrc location=rtsp://root:kbcrj@10.10.10.12/axis-media/media.amp ! rtph264depay ! decodebin ! video/x-raw-yuv,format=\(fourcc\)I420 ! rtpvrawpay ! udpsink host=127.0.0.1 port=8812 | while read line ; do if [[ $line =~ .*GstUDPSink.*caps.*video.* ]] then echo $line | sed -e 's/.*caps = //' | sed -e 's/ //g' > caps_12.txt fi echo $line done caps are taken from gst-launch output, and here they are: application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)RAW,sampling=(string)YCbCr-4:2:0,depth=(string)8,width=(string)1024,height=(string)768,colorimetry=(string)SMPTE240M,payload=(int)96,ssrc=(uint)2336795171,clock-base=(uint)865002936,seqnum-base=(uint)35252 but I have the same problem. tcpdump says, that packets are end from sender, but receiver does not process them _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 22.02.2012 15:14, Bkmz wrote:
> On 21.02.2012 17:15, pfarmer wrote: >> Which caps is it using in the case of your rtpvrawpay ? >> >> raw rgb streams can't be transmitted yet with rtpvrawpay; just yuv video >> works. This could be the problem in your case. >> >> Here is a discussion about this: >> http://gstreamer-devel.966125.n4.nabble.com/simple-raw-video-RTP-still-no-joy-tp2525125p3490213.html >> >> >> -- >> View this message in context: >> http://gstreamer-devel.966125.n4.nabble.com/RTP-problem-tp4406338p4406979.html >> Sent from the GStreamer-devel mailing list archive at Nabble.com. >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > Hello, thank you for reply. > > I modify sender pipeline ike this (add ffmpegcolorspace to convert > from RGB to YUV): > > gst-launch -v rtspsrc > location=rtsp://root:kbcrj@10.10.10.12/axis-media/media.amp ! > rtph264depay ! decodebin ! video/x-raw-yuv,format=\(fourcc\)I420 ! > rtpvrawpay ! udpsink host=127.0.0.1 port=8812 | while read line ; do > if [[ $line =~ .*GstUDPSink.*caps.*video.* ]] > then > echo $line | sed -e 's/.*caps = //' | sed -e 's/ //g' > caps_12.txt > fi > echo $line > done > > > caps are taken from gst-launch output, and here they are: > > application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)RAW,sampling=(string)YCbCr-4:2:0,depth=(string)8,width=(string)1024,height=(string)768,colorimetry=(string)SMPTE240M,payload=(int)96,ssrc=(uint)2336795171,clock-base=(uint)865002936,seqnum-base=(uint)35252 > > > > but I have the same problem. tcpdump says, that packets are end from > sender, but receiver does not process them sender: gst-launch -v gstrtpbin name=r \ rtspsrc location=rtsp://root:kbcrj@10.10.10.11/axis-media/media.amp ! rtph264depay ! decodebin ! \ ffmpegcolorspace ! \ videoscale ! 'video/x-raw-yuv,format=(fourcc)I420,width=320,height=240' \ ! rtpvrawpay ! r.send_rtp_sink_0 \ r.send_rtp_src_0 ! udpsink host=127.0.0.1 port=5000 \ r.send_rtcp_src_0 ! udpsink host=127.0.0.1 port=5001 sync=false async=false \ udpsrc port=5002 ! r.recv_rtcp_sink_0 | while read line ; do if [[ $line =~ .*GstUDPSink.*caps.*video.* ]] then echo $line | sed -e 's/.*caps = //' | sed -e 's/ //g' > caps_11.txt fi echo $line done receiver: gst-launch gstrtpbin name=rtpbin \ udpsrc caps=$CAPS port=5000 ! rtpbin.recv_rtp_sink_0 \ rtpbin. ! rtpvrawdepay ! \ clockoverlay halignment=1 text="`date +%d.%m.%y`" font-desc="Sans 28" ! \ ffenc_flv ! ffmux_flv ! filesink async=false sync=false location=$FDIR/$FFNAME \ udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \ rtpbin.send_rtcp_src_0 ! udpsink port=5002 sync=false async=false and it works, but after I add format=(fourcc)I420 to the senders pipeline. Without this line nothing was received. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |