<div dir="ltr">It is a limitation of the current payloader. the problem is that the depayloader can't handle packets bigger than 0xffff currently and so the payloader refuses to make them. If you fix the depayloader, you can simply remove that check in the payloader.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On 21 November 2013 10:22, distran <span dir="ltr"><<a href="mailto:distran.sensors@gmail.com" target="_blank">distran.sensors@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yep, I tried it, and with no effect. It seems that for certain frames that<br>
are big enough rtptheorapay cannot handle them. What it seems is that<br>
rtptheorapay expects frames that can fit into one packet and does not map<br>
larger frames into multiple packets automatically (although according to RTP<br>
Theora specification from RFC it should).<br>
<br>
Let me show you an example comparing rtptheorapay and rtpjpegpay.<br>
<br>
export GST_DEBUG=2<br>
<br>
RTPJPEGPAY<br>
<br>
Receiving end:<br>
gst-launch-0.10 udpsrc port=5000 caps="application/x-rtp,<br>
media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG" !<br>
rtpjpegdepay ! jpegdec ! ffmpegcolorspace ! videoscale ! ximagesink<br>
<br>
Sending end:<br>
1. Random images, small (360x240), send with payloader:<br>
gst-launch-0.10 -v videotestsrc horizontal-speed=3 is-live=true pattern=snow<br>
! timeoverlay ! ffmpegcolorspace !<br>
video/x-raw-yuv,width=360,height=240,framerate=\(fraction\)30/1 !<br>
ffmpegcolorspace ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000<br>
<br>
2. Random images, big (640x480), send with payloader:<br>
gst-launch-0.10 -v videotestsrc horizontal-speed=3 is-live=true pattern=snow<br>
! timeoverlay ! ffmpegcolorspace !<br>
video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 !<br>
ffmpegcolorspace ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port=5000<br>
<br>
In both cases - it works.<br>
<br>
RTPTHEORAPAY<br>
Receiving end (start it first so that config is exchanged):<br>
gst-launch-0.10 udpsrc port=5000 caps="application/x-rtp,<br>
media=(string)video, clock-rate=(int)90000, encoding-name=(string)THEORA" !<br>
rtptheoradepay ! theoradec ! ffmpegcolorspace ! videoscale ! ximagesink<br>
<br>
Sending end:<br>
1. Random images, small (360x240), send with payloader:<br>
gst-launch-0.10 -v videotestsrc horizontal-speed=3 is-live=true<br>
pattern=snow ! timeoverlay ! ffmpegcolorspace !<br>
video/x-raw-yuv,width=360,height=240,framerate=\(fraction\)30/1 !<br>
ffmpegcolorspace ! theoraenc ! rtptheorapay config-interval=100 ! udpsink<br>
host=127.0.0.1 port=5000<br>
<br>
2. Random images, big (640x480), send with payloader:<br>
gst-launch-0.10 -v videotestsrc horizontal-speed=3 is-live=true pattern=snow<br>
! timeoverlay ! ffmpegcolorspace !<br>
video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 !<br>
ffmpegcolorspace ! theoraenc ! rtptheorapay config-interval=100 ! udpsink<br>
host=127.0.0.1 port=5000<br>
<br>
In the second case nothing gets send - rtptheorapay complaing about too big<br>
size of the packet it received or computed.<br>
<br>
<br>
<br>
These sizes are probably sizes of compressed frames, since similar sizes I<br>
am getting when trying to send jpeg images without rtpjpegpay (so that each<br>
one is directly fitted into UDP payload.<br>
<br>
(the same as above, but without rtpjpegpay)<br>
gst-launch-0.10 -v videotestsrc horizontal-speed=3 is-live=true pattern=snow<br>
! timeoverlay ! ffmpegcolorspace !<br>
video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 !<br>
ffmpegcolorspace ! jpegenc ! udpsink host=127.0.0.1 port=5000<br>
<br>
<br>
<br>
In both cases we have a frame that is around 198000 bytes. What I find<br>
strange is that rtptheorapay cannot deal with such big frames, while<br>
rtpjpegpay (and other payloaders) seem to deal with the issue naturally.<br>
<br>
What can be the problem and do anyone knows of some workarounds? Is your<br>
installation of GStreamer reproducing the same behaviour?<br>
<br>
Thanks for all your help!<br>
<br>
Regards,<br>
Michal<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/RTP-payloaders-and-streaming-over-UDP-TCP-tp4663441p4663450.html" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/RTP-payloaders-and-streaming-over-UDP-TCP-tp4663441p4663450.html</a><br>
<div class="HOEnZb"><div class="h5">Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br></div>