Error while sending UDP packet using udpsink

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

Error while sending UDP packet using udpsink

Raya
Hello,

I am using the following pipeline to stream video:

gst-launch-1.0 -vvv  filesrc location=test.h264  ! h264parse ! video/x-h264,stream-format=byte-stream,alignment=nal ! udpsink host=127.0.0.1 port=5000

In the output I get the following message:

Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:06.983376428  7926      0x2429a80 WARN            multiudpsink gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0> warning: Attempting to send a UDP packets larger than maximum size (65899 > 65507)
0:00:06.983393266  7926      0x2429a80 WARN            multiudpsink gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0> warning: Reason: Error sending message: Message too long
WARNING: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Attempting to send a UDP packets larger than maximum size (65899 > 65507)
Additional debug info:
gstmultiudpsink.c(715): gst_multiudpsink_send_messages (): /GstPipeline:pipeline0/GstUDPSink:udpsink0:
Reason: Error sending message: Message too long
0:00:07.117305298  7926      0x2429a80 WARN            multiudpsink gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0> warning: Attempting to send a UDP packets larger than maximum size (67278 > 65507)


Is there a gst element that I can use to fix the error without using RTP playloaders?

Thank you for your help.
Reply | Threaded
Open this post in threaded view
|

Re: Error while sending UDP packet using udpsink

Sebastian Dröge-3
On Wed, 2017-08-02 at 01:50 -0700, Raya wrote:

> Hello, 
>
> I am using the following pipeline to stream video: 
>
> gst-launch-1.0 -vvv  filesrc location=test.h264  ! h264parse !
> video/x-h264,stream-format=byte-stream,alignment=nal ! udpsink
> host=127.0.0.1 port=5000 
> [...]
> 0:00:07.117305298  7926      0x2429a80 WARN            multiudpsink
> gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0>
> warning:
> Attempting to send a UDP packets larger than maximum size (67278 >
> 65507) 
>
>
> Is there a gst element that I can use to fix the error without using
> RTP playloaders? 
Why don't you want to use RTP payloaders?


A solution without would be to ensure that no NAL is bigger than 64k
(you ideally want no bigger than 1500 bytes!), by changing the encoder
settings accordingly and having h264parse really put one NAL per
buffer. alignment=nal only means that it's one or more NALs.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Error while sending UDP packet using udpsink

Nicolas Dufresne-5
Le mercredi 02 août 2017 à 17:14 +0300, Sebastian Dröge a écrit :

> On Wed, 2017-08-02 at 01:50 -0700, Raya wrote:
> > Hello,
> >
> > I am using the following pipeline to stream video:
> >
> > gst-launch-1.0 -vvv  filesrc location=test.h264  ! h264parse !
> > video/x-h264,stream-format=byte-stream,alignment=nal ! udpsink
> > host=127.0.0.1 port=5000
> > [...]
> > 0:00:07.117305298  7926      0x2429a80 WARN            multiudpsink
> > gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0>
> > warning:
> > Attempting to send a UDP packets larger than maximum size (67278 >
> > 65507)
> >
> >
> > Is there a gst element that I can use to fix the error without
> > using
> > RTP playloaders?
>
> Why don't you want to use RTP payloaders?
>
>
> A solution without would be to ensure that no NAL is bigger than 64k
> (you ideally want no bigger than 1500 bytes!), by changing the
> encoder
> settings accordingly and having h264parse really put one NAL per
> buffer. alignment=nal only means that it's one or more NALs.
Same opinion on my side. Note that it's always possible to hack this up
using rndbuffersize element.

  ... ! rndbuffersize min=1500 max=1500 ! udpsink

It's not elegant, but no worst then avoiding payloads. You'll need a
parser to reassemble and frame the stream on the other side. Note that
even if h264parse was splitting 1 NAL per GstBuffer, there is no
guaranty that a NAL is smaller then the 64kb limit.

regards,
Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (201 bytes) Download Attachment