Re: splitmuxsink, issues with max-size-time and exact duration

Nicolas Dufresne via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAKQmDh_V48_jMOVhJG49mijcUo9mUNmBTpwoaK1aEjCkARZS_Q@mail.gmail.com>
Hi,

Le ven. 21 juill. 2023, 08 h 30, Антон Шаров via gstreamer-devel <
[email protected]> a écrit :

> Hi! Thank you for reply!
>
> How to fix this issue? From one point of view I think it would be ok to
> ask user for n seconds and
> set n+2 to obtain exact duration, but I think I miss somthing to deal with
> it properly.
>
>
> Пятница, 21 июля 2023, 14:05 +03:00 от Krutskikh Ivan <[email protected]
> >:
>
> Hi!
>
> I think it depends on seconds between  key (I) frames since splitmuxsink
> begins each new file with a key frame.
>
>
The splitmuxsink property is called max-size-time, so it's logical that
when your are not transcoding it will always splits smaller.

Adding a min-size-time property could be an option. You can also transcode,
and then you will have quite accurate splits.

Regards,
Nicolas



> пт, 21 июл. 2023г. в 13:46, Антон Шаров via gstreamer-devel <
> [email protected]
> <//e.mail.ru/compose/?mailto=mailto%3agstreamer%[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
>
>
>
> --
> С Уважением,
> Шаров Антон
>
>
>
> --
> С Уважением,
> Шаров Антон
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.