My post processing pipeline/application has been working fine for months, then all of a sudden, I get a video that is truncated upon output. This makes me think it is the video itself; however, it plays fine in VLC, ffplay, etc and nothing seems wrong with the video.
The processing pipeline I am using is the following:
GST_DEBUG=3 gst-launch-1.0 -e filesrc location=buggy.mp4 ! decodebin3 ! queue ! encodebin2 profile='video/x-h265' ! mp4mux ! filesink location=out.mp4
The input video is 80 seconds long and the output is 1.93 seconds?!
The only clue I receive is the following from the gstreamer output:
(gst-launch-1.0:82): GStreamer-WARNING **: 03:46:48.728: ../subprojects/gstreamer/gst/gstpad.c:5447:store_sticky_event:<decodebin3-0:video_0> Sticky event misordering, got 'segment' before 'caps'
0:00:01.505501846 82 0x7ad4400019a0 WARN GST_CAPS gstpad.c:3275:gst_pad_query_accept_caps_default:<h265parse0:sink> caps: video/x-raw(memory:CUDAMemory), format=(string)NV12, width=(int)3264, height=(int)2464, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1 were not compatible with: video/x-h265
Link to the video causing issues: buggy.mp4
Also, if I create a video with the same dimensions (3264x2464) using the videotestsrc
element, the processing pipeline crashes for h264 with qtdemux internal data stream error?
create test video
gst-launch-1.0 -e videotestsrc timestamp-offset=1933000000 ! video/x-raw,width=3264,height=2464 ! queue ! nvh265enc ! queue ! mp4mux ! filesink location=testsrcinput.mp4
process test video
GST_DEBUG=3 gst-launch-1.0 -e filesrc location=testsrcinput.mp4 ! decodebin3 ! queue ! encodebin2 profile='video/x-h264' ! mp4mux ! filesink location=out.mp4