Re: splitmuxsink, issues with max-size-time and exact duration
Krutskikh Ivan via gstreamer-devel <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <CAPd6MmjiE=+m5Qx2miwkbH-QiavyZmW=fXSQhb06iLNpD5fkAQ@mail.gmail.com> |
Hi! I think it depends on seconds between key (I) frames since splitmuxsink begins each new file with a key frame. пт, 21 июл. 2023 г. в 13:46, Антон Шаров via gstreamer-devel < [email protected]>: > Hi. > > I found very strange issue with splitmuxsink and it’s max-size-time > property, namely > given n sec. for desired duration, it’s actual duration would be n-2 sec. > Initially I’ve discovered this > issue while testing hand-coded pipeline, but then desided to reproduce the > issue with gst-launch > and observed the very same behaviour. Given > 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 > (note, max-size-time=10000000000 is 10 sec in nanoseconds) > the actual duration of files will be 8 sec. > 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. > Is it ok or maybe I miss something? I don’t think that it depends on > rtps source. > > Thanks in advance. > > Here some initial seesion info: > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: latency = > 2000 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: ntp-sync = > false > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: rfc7273-sync > = false > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: > add-reference-timestamp-meta = true > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: > ntp-time-source = ntp > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: > drop-on-latency = false > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: > max-rtcp-rtp-time-diff = 1000 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: > max-ts-offset-adjustment = 0 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: buffer-mode > = none > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout = > 5000000000 > /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 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc2: caps = > application/x-rtcp > Progress: (request) SETUP stream 1 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: timeout = > 5000000000 > /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 > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc4: caps = > application/x-rtcp > Progress: (open) Opened Stream > Setting pipeline to PLAYING ... > New clock: GstSystemClock > /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: buffer-mode > = none > Progress: (request) Sending PLAY request > Redistribute latency... > Redistribute latency... > Progress: (request) Sending PLAY request > Redistribute latency... > Redistribute latency... > /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 > /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 > Progress: (request) Sent PLAY request > /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 > > > > -- > С Уважением, > Шаров Антон >