Pipeline fails after exactly 2.5 hours
Nicolas Dufresne
nicolas at ndufresne.ca
Sun Nov 17 19:09:18 UTC 2019
Le dimanche 17 novembre 2019 à 10:43 -0600, Henk Schurink a écrit :
> Hi Nicolas, I appreciate your answer.
>
> Last night I upgraded to 1.16.1. The pipeline crashes even earlier and the
> produced files are between 20-70MB each, never reaching the 100MB limit
> assigned to splitmuxsink.
>
> This is the error message when the current file stops and the next file
> starts (it does recover after this error but it prematurely starts recording
> to the next file for some reason.):
>
> 0:02:08.755626858 [336m 3899[00m 0x55b20b68b630 [33;01mWARN [00m [00m
> qtmux gstqtmux.c:5118:gst_qt_mux_can_renegotiate:<muxer>[00m pad video_0
> refused renegotiation to video/x-h264,
> codec_data=(buffer)0164001fffe1001c6764001facd9405005bb016a02020280000003008000001e478c18cb01000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)3.1,
> profile=(string)high, width=(int)1280, height=(int)720,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2, multiview-mode=(string)mono,
> multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
> chroma-format=(string)4:2:0, bit-depth-luma=(uint)8,
> bit-depth-chroma=(uint)8, parsed=(boolean)true
> 0:02:12.798088977 [336m 3899[00m 0x55b20b68b400 [33;01mWARN [00m [00m
> libav gstavviddec.c:880:gst_ffmpegviddec_get_buffer2:<avdec_h264-0>[00m
> Couldn't get codec frame !
> 0:02:12.798202672 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m get_buffer() failed
> 0:02:12.798210177 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m thread_get_buffer() failed
> 0:02:12.798217659 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m decode_slice_header error
> 0:02:12.798224304 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m no frame!
> 0:02:12.798235775 [336m 3899[00m 0x55b20b68b400 [33;01mWARN [00m [00m
> libav gstavviddec.c:1864:gst_ffmpegviddec_handle_frame:<avdec_h264-0>[00m
> Failed to send data for decoding
> 0:02:20.327723513 [336m 3899[00m 0x55b20b68b630 [32;01mFIXME [00m [00m
> basesink gstbasesink.c:3246:gst_base_sink_default_event:<sink>[00m
> stream-start event without group-id. Consider implementing group-id handling
> in the upstream elements
> 0:02:20.327834709 [336m 3899[00m 0x55b20b68b630 [33;01mWARN [00m [00m
> qtmux gstqtmux.c:2981:gst_qt_mux_start_file:<muxer>[00m Robust muxing
> requires reserved-moov-update-period to be set
> 0:02:22.864544424 [336m 3899[00m 0x7fe534050400 [33;01mWARN [00m [00m
> rtpjitterbuffer rtpjitterbuffer.c:572:calculate_skew:[00m delta - skew:
> 0:00:01.028883909 too big, reset skew
> 0:02:22.864603568 [336m 3899[00m 0x7fe510002d40 [33;01mWARN [00m [00m
> rtpjitterbuffer rtpjitterbuffer.c:572:calculate_skew:[00m delta - skew:
> 0:00:01.028883909 too big, reset skew
>
> And after ~30 minutes the pipeline crashes with the following error:
>
> 0:24:12.513906078 [336m 3899[00m 0x55b20b68b400 [33;01mWARN [00m [00m
> libav gstavviddec.c:880:gst_ffmpegviddec_get_buffer2:<avdec_h264-0>[00m
> Couldn't get codec frame !
> 0:24:12.514386268 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m get_buffer() failed
> 0:24:12.514395743 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m thread_get_buffer() failed
> 0:24:12.514404721 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m decode_slice_header error
> 0:24:12.514412069 [336m 3899[00m 0x55b20b68b400 [31;01mERROR [00m [00m
> libav :0::[00m no frame!
> 0:24:12.514424554 [336m 3899[00m 0x55b20b68b400 [33;01mWARN [00m [00m
> libav gstavviddec.c:1864:gst_ffmpegviddec_handle_frame:<avdec_h264-0>[00m
> Failed to send data for decoding
> 0:24:26.024407851 [336m 3899[00m 0x55b20b68b400 [33;01mWARN [00m [00m
> videodecoder
> gstvideodecoder.c:2759:gst_video_decoder_prepare_finish_frame:<avdec_h264-0>[00m
> decreasing timestamp (0:24:21.883374288 < 0:24:21.904006671)
> 0:24:29.514983177 [336m 3899[00m 0x55b20b68b630 [33;01mWARN [00m [00m
> qtmux gstqtmux.c:4832:gst_qt_mux_add_buffer:<muxer>[00m error: Buffer has
> no PTS.
> ERROR: from element
> /GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer: Could
> not multiplex stream.
> Additional debug info:
> gstqtmux.c(4832): gst_qt_mux_add_buffer ():
> /GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer:
> Buffer has no PTS.
> EOS on shutdown enabled -- waiting for EOS after Error
> Waiting for EOS...
>
> Any idea what might cause this behaviour?
First degree answer is "Buffer has no PTS.". But that seems like a side
effect of the stream being corrupted. You have to analyse your
bitstream and find out why it gets corrupted before it reaches the
decoder.
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list