<HTML><BODY><div><div>Hi! Thank you for reply!</div><div> </div><div>How to fix this issue? From one point of view I think it would be ok to ask user for n seconds and </div><div>set n+2 to obtain exact duration, but I think I miss somthing to deal with it properly.<br> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Пятница, 21 июля 2023, 14:05 +03:00 от Krutskikh Ivan <stein.hak@gmail.com>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_16899375450147536453_BODY"><div class="cl_964341"><div><div>Hi!</div><div> </div><div>I think it depends on seconds between  key (I) frames since splitmuxsink begins each new file with a key frame.</div></div> <div class="gmail_quote_mr_css_attr"><div class="gmail_attr_mr_css_attr">пт, 21 июл. 2023г. в 13:46, Антон Шаров via gstreamer-devel <<a href="//e.mail.ru/compose/?mailto=mailto%3agstreamer%2ddevel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>>:</div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote_mr_css_attr"><div><div>Hi. </div><div> </div><div>I found very strange issue with splitmuxsink and it’s  max-size-time property, namely</div><div>given n sec. for desired duration, it’s actual duration would be n-2 sec.  Initially I’ve discovered this</div><div>issue while testing hand-coded pipeline, but then desided to reproduce the issue with gst-launch</div><div>and observed the very same behaviour. Given </div><div>gst-launch-1.0 -e -v rtspsrc buffer-mode=0 add-reference-timestamp-meta=true  location=rtsp://user:pass@ip_addr/onvif/media?profile=Profile1 ! rtph264depay ! h264parse ! splitmuxsink location="d:\\video_files\\video_%02d.mp4" max-size-time=10000000000</div><div>(note, max-size-time=10000000000 is 10 sec in nanoseconds)</div><div>the actual duration of files will be 8 sec.</div><div>Same for 7→ 5, 5→ 3, and so on. So, it seems to be the pattern — set for n secodns, receive for n-2 seconds.</div><div>Is it ok or maybe I miss something? I don’t think that it depends on rtps source.</div><div> </div><div>Thanks in advance.</div><div> </div><div>Here some initial seesion info:</div><div><div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: latency = 2000</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: ntp-sync = false</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: rfc7273-sync = false</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: add-reference-timestamp-meta = true</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: ntp-time-source = ntp</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: drop-on-latency = false</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: max-rtcp-rtp-time-diff = 1000</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: max-ts-offset-adjustment = 0</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: buffer-mode = none</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout = 5000000000</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D00000000000000, sprop-parameter-sets=(string)"Z00AH52oFAFum4CAgIE\=\,aO48gA\=\=", a-framerate=(string)15, ssrc=(uint)3053121902</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc2: caps = application/x-rtcp</div><div>Progress: (request) SETUP stream 1</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: timeout = 5000000000</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, ssrc=(uint)2174462030</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc4: caps = application/x-rtcp</div><div>Progress: (open) Opened Stream</div><div>Setting pipeline to PLAYING ...</div><div>New clock: GstSystemClock</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: buffer-mode = none</div><div>Progress: (request) Sending PLAY request</div><div>Redistribute latency...</div><div>Redistribute latency...</div><div>Progress: (request) Sending PLAY request</div><div>Redistribute latency...</div><div>Redistribute latency...</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D00000000000000, sprop-parameter-sets=(string)"Z00AH52oFAFum4CAgIE\=\,aO48gA\=\=", a-framerate=(string)15, ssrc=(uint)3053121902, clock-base=(uint)2632806877, seqnum-base=(uint)14666, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1, onvif-mode=(boolean)false</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, ssrc=(uint)2174462030, clock-base=(uint)661265319, seqnum-base=(uint)53364, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1, onvif-mode=(boolean)false</div><div>Progress: (request) Sent PLAY request</div><div>/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D00000000000000, sprop-parameter-sets=(string)"Z00AH52oFAFum4CAgIE\=\,aO48gA\=\=", a-framerate=(string)15, ssrc=(uint)3053121902, clock-base=(uint)2632806877, seqnum-base=(uint)14666, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1, onvif-mode=(boolean)false</div></div></div><div> </div><div> </div><div> </div><div><div><div>--<br>С Уважением,<br>Шаров Антон</div></div></div></div></blockquote></div></div></div></div></div></div></blockquote> <div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>С Уважением,<br>Шаров Антон</div></div></div><div> </div></div></BODY></HTML>