thaytan / gst-rpicamsrc

GStreamer element for the Raspberry Pi camera module
Other
262 stars 101 forks source link

Buffer has no PTS #87

Open Abu-Abdullah opened 5 years ago

Abu-Abdullah commented 5 years ago

Hi,

I have the below pipeline which results "Buffer has no PTS". I have seen that gst_pts is set in the code. please advise.

pi@jr-5453cc:~ $ gst-launch-1.0 -v rpicamsrc inline-headers=true preview=false keyframe-interval=30 exposure-mode=sports image-effect=none bitrate=0 sensor-mode=0 sharpness=0 contrast=0 brightness=50 saturation=0 rotation=0 shutter-speed=0 awb-mode=auto quantisation-parameter=20 ! video/x-h264,width=640,height=480,framerate=8/1,profile=high ! h264parse ! splitmuxsink location=/home/pi/snapshots_tmp/test_%03d.mp4 max-size-time=30000000000 max-size-bytes=2000000
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstFileSink:sink: async = false
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstRpiCamSrc:rpicamsrc0.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)byte-stream, alignment=(string)nal, profile=(string)high
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)byte-stream, alignment=(string)nal, profile=(string)high
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)byte-stream, alignment=(string)nal, profile=(string)high
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)byte-stream, alignment=(string)nal, profile=(string)high
New clock: GstSystemClock
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0.GstGhostPad:video.GstProxyPad:proxypad0: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer.GstQTMuxPad:video_0: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0.GstGhostPad:video: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer.GstQTMuxPad:video_0: caps = NULL
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstFileSink:sink: location = /home/pi/snapshots_tmp/test_000.mp4
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer.GstQTMuxPad:video_0: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)8/1, stream-format=(string)avc, alignment=(string)au, profile=(string)high, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, level=(string)4, codec_data=(buffer)01640028ffe1000e27640028ac2b40501ed00f1226a001000528ee06f2c0
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 6
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 7
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 8
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 9
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 10
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 11
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 12
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 13
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 14
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 15
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 16
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 17
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 18
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 19
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 20
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 21
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 22
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 23
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 24
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 25
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 26
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 27
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 28
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 29
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstQueue:queue0: max-size-buffers = 31
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer.GstPad:src: caps = video/quicktime, variant=(string)iso
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstFileSink:sink.GstPad:sink: caps = video/quicktime, variant=(string)iso
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.
Execution ended after 0:00:08.369181164
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
FarK commented 5 years ago

This works if you remove the option inline-headers=true