GNOME Bugzilla – Bug 574760
H264 receiver side crashes
Last modified: 2010-01-23 22:31:03 UTC
Steps to reproduce: 1. Start gstreamer on a PC to capture video from webcam and stream it to a given IP in H264/RTP: gst-launch-0.10.exe gstrtpbin name=rtpbin ksvideosrc device-index=0 ! "video/x-raw-yuv, width=320, height=240, framerate=10/1"! ffmpegcolorspace ! x264enc ! rtph264pay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink port=6000 host=PEERIPADDRESS rtpbin.send_rtcp_src_0 ! udpsink port=6001 sync=false async=false host=PEERIPADDRESS udpsrc port=6005 ! rtpbin.recv_rtcp_sink_0 2. Start gstreamer on another PC to receive H264/RTP video and render it as: gst-launch-0.10.exe -v gstrtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! h264parse ! ffdec_h264 ! ffmpegcolorspace ! dshowvideosink udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink port=5005 sync=false async=false host=PEERIPADDRESS 3. It works quite fine for some time (even for some few hours). But some point, it will crash. Stack trace: Other information: Actually, I am using gstreamer on Windows XP. And I am trying to send web cam video to other pc in H264/RTP. I find the sender side is working fine. But, the receiver side crashes after it works fine for a while. On the receiver, it works for at least some minutes and even most cases longer than few hours. Then suddenly, it crashes. What can be cause? At least I want to know which element can cause to crash?
Can you make a stacktrace?
(In reply to comment #1) > Can you make a stacktrace? > Thank you for your reply. How can I get stacktrace and what is it? I am new to gstreamer so please give me advice to get it. Anyway, I put the message below after I run the receiver. Tse C:\gstreamer\bin\gstrtpbin>gst-launch-0.10.exe -v gstrtpbin name=rtpbin udpsrc c aps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=( string)H264" port=6000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! queue ! h264parse ! queue ! ffdec_h264 ! queue ! ffmpegcolorspace ! dshowvideosink udp src port=6001 ! rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink port=60 05 sync=false async=false Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSession:rtpsession0: ntp-ns-base = 3445756395874359000 New clock: GstSystemClock /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSession:rtpsession0.GstPad:recv_rt p_sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, en coding-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_0: caps = appl ication/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string )H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_0: caps = appl ication/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string )H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_sink_0.GstProxyPad: proxypad0: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSession:rtpsession0.GstPad:recv_rt p_src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, enc oding-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:sin k: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encodin g-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpJitterBuffer:rtpjitterbuffer0.GstP ad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, en coding-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpJitterBuffer:rtpjitterbuffer0.GstP ad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, e ncoding-name=(string)H264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpPtDemux:rtpptdemux0.GstPad:sink: c aps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-na me=(string)H264 /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x- h264 /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = applica tion/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H2 64, payload=(int)96 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_src_0_1334416494_96 : caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding -name=(string)H264, payload=(int)96 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_src_0_1334416494_96 .GstProxyPad:proxypad3: caps = application/x-rtp, media=(string)video, clock-rat e=(int)90000, encoding-name=(string)H264, payload=(int)96 /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h264 /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h264 /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264 /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264 /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264 /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264 /GstPipeline:pipeline0/ffdec_h264:ffdec_h2640.GstPad:sink: caps = video/x-h264 /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSession:rtpsession0.GstPad:sync_sr c: caps = application/x-rtcp /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtc p_sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtc p_src_1334416494: caps = application/x-rtcp /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpJitterBuffer:rtpjitterbuffer0.GstP ad:sink_rtcp: caps = application/x-rtcp /GstPipeline:pipeline0/ffdec_h264:ffdec_h2640.GstPad:src: caps = video/x-raw-yuv , width=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I420 , pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = video/x-raw-yuv, widt h=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I420, pixe l-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = video/x-raw-yuv, width =(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I420, pixel -aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = video/x-raw-yu v, width=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)YV1 2, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = video/x-raw-y uv, width=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I4 20, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDshowVideoSink:dshowvideosink0.GstPad:sink: caps = vid eo/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)10/1, format= (fourcc)YV12, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:send_rtcp_src_0: caps = appl ication/x-rtcp /GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpSession:rtpsession0.GstPad:send_rt cp_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtc p /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:send_rtcp_src_0: caps = appl ication/x-rtcp /GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:send_rtcp_src_0.GstProxyPad: proxypad2: caps = application/x-rtcp
See http://live.gnome.org/GettingTraces
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!