2016-05-29 11 views
0

Ich versuche, aus einer Webkamera streamen = AVIMux: 5 Ausbeutengstreamer Mit von der Webcam über UDP streamen

Setting pipeline to PAUSED ... 
Pipeline is live and does not need PREROLL ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = "application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)JPEG" 
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:sink: caps = "application/x-rtp\,\ payload\=\(int\)96\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)JPEG" 
/GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0.GstPad:src: caps = "image/jpeg\,\ framerate\=\(fraction\)0/1\,\ width\=\(int\)1920\,\ height\=\(int\)1080" 
0:00:00.049099661 18712  0x1d34230 DEBUG     avimux gstavimux.c:415:gst_avi_mux_vidsink_set_caps:<avimux0> avimux0:video_0, caps=image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.049145352 18712  0x1d34230 WARN     avimux gstavimux.c:641:gst_avi_mux_vidsink_set_caps:<avimux0> refused caps image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.059443752 18712  0x1d34230 DEBUG     avimux gstavimux.c:415:gst_avi_mux_vidsink_set_caps:<avimux0> avimux0:video_0, caps=image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.059564217 18712  0x1d34230 WARN     avimux gstavimux.c:641:gst_avi_mux_vidsink_set_caps:<avimux0> refused caps image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.059662942 18712  0x1d34230 DEBUG     avimux gstavimux.c:415:gst_avi_mux_vidsink_set_caps:<avimux0> avimux0:video_0, caps=image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.059727807 18712  0x1d34230 WARN     avimux gstavimux.c:641:gst_avi_mux_vidsink_set_caps:<avimux0> refused caps image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
0:00:00.059997284 18712  0x1d34230 DEBUG     avimux gstavimux.c:415:gst_avi_mux_vidsink_set_caps:<avimux0> avimux0:video_0, caps=image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error. 
0:00:00.060125073 18712  0x1d34230 WARN     avimux gstavimux.c:641:gst_avi_mux_vidsink_set_caps:<avimux0> refused caps image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
Additional debug info: 
gstbasesrc.c(2943): gst_base_src_loop(): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: 
streaming task paused, reason not-negotiated (-4)   
0:00:00.060335173 18712  0x1d34230 DEBUG     avimux gstavimux.c:415:gst_avi_mux_vidsink_set_caps:<avimux0> avimux0:video_0, caps=image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
EOS on shutdown enabled -- waiting for EOS after Error 
Waiting for EOS... 
0:00:00.060462445 18712  0x1d34230 WARN     avimux gstavimux.c:641:gst_avi_mux_vidsink_set_caps:<avimux0> refused caps image/jpeg, framerate=(fraction)0/1, width=(int)1920, height=(int)1080 
/GstPipeline:pipeline0/GstAviMux:avimux0.GstPad:src: caps = video/x-msvideo 
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-msvideo 
0:00:00.061094793 18712  0x1d34230 DEBUG     avimux gstavimux.c:1177:gst_avi_mux_riff_get_avi_header:<avimux0> creating avi header, data_size 4, idx_size 0 
^Chandling interrupt. 
Interrupt: Stopping pipeline ... 
Interrupt while waiting for EOS - stopping pipeline... 
Execution ended after 0:00:02.492331232 
Setting pipeline to PAUSED ... 
Setting pipeline to READY ... 
Setting pipeline to NULL ... 
Freeing pipeline ... 

Wenn ich udp fallen und tun dies direkt jemals, wie es funktioniert, wie ich erwarten/wollen

Nur hinzufügen, Empfangen mit diesem funktioniert wie ein Charme.

Warum funktioniert es nicht über UDP und wie repariere ich es?

+0

versuchen, caps = "application/x-rtp, Nutzlast = 96, Media = Video, Taktrate = 90000, Codierung-Name = JPEG-Eigenschaft für 'UDPSRC' Element, dann überprüfen Sie –

+0

hat nichts geändert. – Locus

Antwort

1

Während Prasanths Vorschlag nicht ganz richtig war, war es die richtige Idee. Später erfuhr ich, dass, wenn die Quelle-Befehl gestartet wird, es spuckt die ganze Kappen für eine bestimmte Komponente aus, wie

/GstPipeline:pipeline0/GstRtpJPEGPay:rtpjpegpay0.GstPad:src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)JPEG\,\ a-framerate\=\(string\)30.000000\,\ payload\=\(int\)26\,\ ssrc\=\(uint\)3985523101\,\ timestamp-offset\=\(uint\)2117749493\,\ seqnum-offset\=\(uint\)21358" 

Durch Kopie Einfügen der richtigen Kappen in die Spüle, alles funktionierte.