rpicamsrc: Buffer has no PTS

Abu Abdullah falcon.sheep at gmail.com
Wed Jan 11 08:23:43 UTC 2023


On Wed, Jan 11, 2023 at 12:07 PM Jan Schmidt <jan at widgetgrove.com.au> wrote:
>
> Hi,
>
> On 11/1/23 18:47, Abu Abdullah wrote:
> > On Wed, Jan 11, 2023 at 10:59 AM Jan Schmidt <jan at widgetgrove.com.au> wrote:
> >> Hi,
> >>
> >> Remove the 'do-timestamp=true' and 'inline-headers=true' from rpicamsrc
> >>
> >>    It will apply timestamps automatically, so doesn't need
> >> `do-timestamp=true`
> >>
> >> Sending `inline-headers=true` adds the packets with no timestamps, and
> >> h264parse isn't removing them - but you don't need inline-headers when
> >> muxing to mp4.
> >>
> >> This works fine:
> >>
> >> gst-launch-1.0 -e rpicamsrc preview=false keyframe-interval=30 !
> >> video/x-h264,width=640,height=480,framerate=30/1,profile=high !
> >> h264parse ! mp4mux ! filesink location=/tmp/tmp.mp4
> >>
> >> Cheers,
> >>
> >> Jan.
> > inline-headers is needed for the hls ts segments not for the mp4mux .
> > for some reason, hls is not working without it and the browser console
> > is displaying errors everywhere. not sure if something can be done
> > from the other side (hls.js module)
>
> In that case, use `h264parse config-interval=-1` to re-send the SPS/PPS
> with keyframes
>
> Cheers,
>
> Jan.

It seems it generates the same error:
$ gst-launch-1.0 rpicamsrc inline-headers=true preview=false
keyframe-interval=30 !
video/x-h264,width=640,height=480,framerate=30/1,profile=high !
h264parse config-interval=-1 ! tee name=t t. ! queue ! splitmuxsink
location=/home/pi/snapshots_tmp/snap_%03d.mp4
max-size-time=30000000000 max-size-bytes=2000000 t. ! queue ! hlssink
max-files=5 target-duration=5
location=/home/pi/snapshots_tmp/segment_%05d.ts
playlist-location=/home/pi/snapshots_tmp/playlist.m3u8
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
ERROR: from element
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer:
Could not multiplex stream.
Additional debug info:
../gst/isomp4/gstqtmux.c(5402): gst_qt_mux_add_buffer ():
/GstPipeline:pipeline0/GstSplitMuxSink:splitmuxsink0/GstMP4Mux:muxer:
Buffer has no PTS.
Execution ended after 0:00:02.327041279
Setting pipeline to NULL ...
Freeing pipeline ...


More information about the gstreamer-devel mailing list