Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Gyan Doshi <ffmpeg@gyani.pro>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v1] avformat/hlsenc: fix hls_time not respected
Date: Mon, 27 Jan 2025 16:11:40 +0530
Message-ID: <fe360e72-eb86-416c-a7c7-965c4f11dc9b@gyani.pro> (raw)
In-Reply-To: <A8109842-FA7F-44B6-97DE-0CD3AE0D0183@datarhei.com>



On 2025-01-27 01:56 pm, Ingo Oppermann wrote:
>> On 24 Jan 2025, at 16:30, Gyan Doshi <ffmpeg@gyani.pro> wrote:
>>
>>
>>
>> On 2025-01-24 05:29 pm, Ingo Oppermann wrote:
>>> This fixes the criterion when to split the segments based on the elapsed time
>>> for the current segment instead of using the theoretical elapsed time since
>>> start based on hls_time and the number of written segments.
>>>
>>> hls_time is used to define the minimum length of a segment, however this is
>>> not respected in all cases when a stream has variable GOP sizes.
>>>
>>> Imagine a stream starts with a key frame every 10 seconds for e.g. 40 seconds.
>>> After that, key frames will come every second. This will result in segments
>>> that are first 10 seconds, then 1 second for some time and later 2 seconds as
>>> expected.
>> Better to make it flexible like how the segment muxer does it, by having an optional minimum segment duration parameter. Then it's upto the user.
>> See d39b34123d.
> According to the documentation "hls_time" is already supposed to be the minimum duration of a segment: "Segment will be cut on the next key frame after this time has passed." (https://ffmpeg.org/ffmpeg-formats.html#Options-26).

In practice, the logic used is that segment X,  counting from 0, should 
start at X*hls_time. It's not best practice to change long-standing 
behaviour without a fallback or workaround. Your patch doesn't offer that.
HLS is usually a multiple representation format, so this may adversely 
affect rendition switchability. Adding an option like segment muxer 
won't change the outcome of existing command lines but will still allow 
you the behaviour you're looking for.

Regards,
Gyan

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2025-01-27 10:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-24 11:59 Ingo Oppermann
2025-01-24 15:30 ` Gyan Doshi
2025-01-27  8:26   ` Ingo Oppermann
2025-01-27 10:41     ` Gyan Doshi [this message]
2025-01-27 20:18       ` Ingo Oppermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fe360e72-eb86-416c-a7c7-965c4f11dc9b@gyani.pro \
    --to=ffmpeg@gyani.pro \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git