AM68A: AM68A

Part Number: AM68A

Tool/software:

Hello,

I'm trying to split my video recording into three separate files, each containing 10 seconds of footage, using a camera as the video source.

According to GStreamer's official documentation, splitmuxsink is typically used with x264enc. However, on the TI AM68A platform, there are three hardware video encoders available, and for saving purposes, I believe v4l2h264enc and v4l2h265enc should be suitable.

I attempted the following pipeline:

gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! \ video/x-raw, width=1280, height=720 ! videoconvert ! queue ! \ tee name=t \ t. ! queue ! v4l2h264enc extra-controls="encode,key_int_max=10" ! h264parse ! queue ! \ splitmuxsink location=video%02d.mkv max-size-time=10000000000 max-files=3 muxer-factory=matroskamux \ muxer-properties="properties,streamable=true" \ t. ! queue ! autovideosink

While this pipeline successfully records video, it does not continuously save as expected. I initially set num-buffers=100, which resulted in a 10-second recording. However, when I increased num-buffers to 500, the video duration extended to 50 seconds.Also tried removing the num-buffers then the video is streaming but creating one file of video00.mkv and video is empty, 0kb file.

I assumed that max-size-time should control the duration of each file (10 seconds), while max-files should limit the total number of files. However, the pipeline does not seem to be functioning as intended.