RTP problem

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

RTP problem

Bkmz
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
Reply | Threaded
Open this post in threaded view
|

Re: RTP problem

pfarmer
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
Reply | Threaded
Open this post in threaded view
|

Re: RTP problem

Bkmz
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: RTP problem

Bkmz
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
I made the following:

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