Issue with nvv4l2h264enc and splitmuxsink

Hi all,

I’m currently trying to get splitmuxsink to save multiple 10s clip of a camera capture, however there seems to be some issue with nvv4l2h264enc and splitmuxsink.

Using software x264enc, the splitmuxsink was able to create 10s clip regardless of the input FPS.

gst-launch-1.0 -v videotestsrc ! ‘video/x-raw,framerate=12/1’ ! tee name=t ! queue ! videorate ! ‘video/x-raw,framerate=8/1’ ! x264enc pass=5 quantizer=25 speed-preset=6 ! video/x-h264, profile=baseline ! h264parse ! splitmuxsink location=testvid%02d.mp4 max-size-time=10000000000 muxer=mp4mux -e

The same pipeline, converted to nvv4l2h264enc does not return the same outcome, and instead the video duration seems to be connected to the fps value (If I set the videorate to 8 fps, I get a 7.5 duration video instead of 10s).

gst-launch-1.0 -v videotestsrc ! ‘video/x-raw,framerate=12/1’ ! tee name=t ! queue ! videorate ! ‘video/x-raw,framerate=8/1’ ! nvvidconv ! nvv4l2h264enc maxperf-enable=1 control-rate=1 bitrate=400000 ! h264parse ! splitmuxsink location=testvidhw%02d.mp4 max-size-time=10000000000 muxer=mp4mux -e

I don’t know where the issue is as the only change is the nvvidconv and the hw encoder,

Any help would be appreciated. Thanks

Hi,
Please try a short I frame interval:

  iframeinterval      : Encoding Intra Frame occurance frequency
                        flags: readable, writable, changeable only in NULL or READY state
                        Unsigned Integer. Range: 0 - 4294967295 Default: 30

And set insert-sps-pps=1:

  insert-sps-pps      : Insert H.264 SPS, PPS at every IDR frame
                        flags: readable, writable
                        Boolean. Default: false