2017-06-29 5 views
0

Je suis nouveau sur GSTreamer. J'ai essayé de relier une vidéo en utilisant GStreamer. Pendant l'exécution de la commande suivante,UdpSink dans GStreamer ne fonctionne pas dans Windows

gst-launch-1.0 videotestsrc! port udpsink = 5200

Je reçois des avertissements comme suit.

WARNING: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: Attempting to send a UDP packets larger than maximum size (115200 > 65507) 
Additional debug info: 
gstmultiudpsink.c(715): gst_multiudpsink_send_messages(): /GstPipeline:pipeline0/GstUDPSink:udpsink0: 
Reason: Error sending message: A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. 
0:00:56.934530706 4912 0000000002F09640 WARN   multiudpsink gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0> warning: Attempting to send a UDP packets larger than maximum size (115200 > 65507) 
0:00:56.939093412 4912 0000000002F09640 WARN   multiudpsink gstmultiudpsink.c:715:gst_multiudpsink_send_messages:<udpsink0> warning: Reason: Error sending message: A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. 

Quel est le problème dans les paramètres GStreamer?

Y a-t-il quelque chose qui manque?

Répondre

1

Vous avez besoin d'une charge avant de transmettre une vidéo sur UDP. Mais la transmission de la vidéo brute sur udp n'est pas préférée.

gst-launch-1.0 videotestsrc ! rtpraw4vpay ! udpsink port=5200 

Une meilleure façon de transmettre la vidéo est de l'encoder pour en réduire la taille. Je préférerais l'encodage h264 pour une taille optimale.

gst-launch-1.0 videotestsrc ! x264enc ! video/x-h264, stream-format=byte-stream ! rtph264pay ! udpsink port=5200 

Vous recevrez ce flux avec

gst-launch-1.0 udpsrc port=5200 ! application/x-rtp, encoding-name=H264, payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink 
+0

Merci. J'utilise Windows 7 machine. rtpraw4vpay ou x264enc ne sont pas disponibles dans ma machine. –

+0

Sous Linux, il est facile à télécharger. Existe-t-il un moyen similaire de télécharger les plugins dans Windows? –

+0

x264enc et la plupart des encodeurs vidéo sont dans le paquet gst-libav. Je ne sais pas s'il existe des paquets précompilés, vous devrez peut-être le créer vous-même et ajouter l'emplacement des dlls à '% GST_PLUGIN_PATH%'. –