<div dir="ltr"><div>I have one usb video camera, that works with splitmuxsink very strange.<br><br>This pipeline works well (writes data to mp4 file immediately):<br><br># timeout -s INT 60 gst-launch-1.0 \<br>>       v4l2src device="/dev/video0" do-timestamp=true \<br>>     !     image/jpeg,width=640,height=480,framerate=30/1 \<br>>     ! jpegparse \<br>>     ! omxmjpegdec \<br>>     ! clockoverlay time-format="%Y-%m-%d %T" \<br>>     ! videoconvert \<br>>     ! omxh264enc target-bitrate=2097152 control-rate=variable interval-intraframes=30 \<br>>     !     video/x-h264,profile=baseline \<br>>     ! h264parse \<br>>     ! mp4mux \<br>>     ! filesink location="video.mp4"<br>Setting pipeline to PAUSED ...<br>Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>handling interrupt.<br>Interrupt: Stopping pipeline ...<br>Execution ended after 0:00:59.751358987<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br># ls -l video.mp4 <br>-rw-r--r-- 1 root root 733678 Jan  1 01:12 video.mp4<br></div><div><br>This pipeline loads cpu until first "redistribute latency" message (does not write any data to mp4 file during this time) and then has strange <span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">behavior:</span></span><br><br># timeout -s INT 300 gst-launch-1.0 \<br>>       v4l2src device="/dev/video0" do-timestamp=true \<br>>     !     image/jpeg,width=640,height=480,framerate=30/1 \<br>>     ! jpegparse \<br>>     ! omxmjpegdec \<br>>     ! clockoverlay time-format="%Y-%m-%d %T" \<br>>     ! videoconvert \<br>>     ! omxh264enc target-bitrate=2097152 control-rate=variable interval-intraframes=30 \<br>>     !     video/x-h264,profile=baseline \<br>>     ! h264parse \<br>>     ! splitmuxsink location="video-chunk-%02d.mp4" max-size-time=15000000000<br>Setting pipeline to PAUSED ...<br>Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>Redistribute latency...<br>Redistribute latency...<br>Redistribute latency...<br>Redistribute latency...<br>handling interrupt.<br>Interrupt: Stopping pipeline ...<br>Execution ended after 0:04:59.739565719<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br># ls -l video-chunk-*.mp4<br>-rw-r--r-- 1 root root 1373643 Jan  1 01:17 video-chunk-00.mp4<br>-rw-r--r-- 1 root root 1339636 Jan  1 01:19 video-chunk-01.mp4<br>-rw-r--r-- 1 root root  378033 Jan  1 01:20 video-chunk-02.mp4<br><br></div><div>As you can see, distance between creation time of the chunks is longer than 15 seconds.<br><br></div></div>