From: Jack Lau <jacklau1222gm@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avformat/hlsenc: calculate bitrate for segments with duration < 0.5 Date: Mon, 24 Mar 2025 08:18:14 +0800 Message-ID: <65B4BF7E-530D-4969-A0FC-C2A2808170EF@gmail.com> (raw) In-Reply-To: <CADxeRwmfSTGAbS1auq4CGUv3LY-DP-_fs7n_8HXZM7eUoMGEaQ@mail.gmail.com> > On Mar 24, 2025, at 08:11, Steven Liu <lingjiujianke@gmail.com> wrote: > > Jack Lau via ffmpeg-devel <ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org>> 于2025年3月24日周一 07:13写道: >> >> The previous code sets the bitrate to be calculated only when duration>0.5, which is obviously not general enough. >> >> In some scenarios, we may need to set hls_time<0.5, then the generated segments are all <0.5. At this time, because the bitrate is not calculated, max_bitrate is empty, and ff_hls_write_stream_info cannot write stream info normally, causing master_pl to be unavailable. >> >> Signed-off-by: Jack Lau <jacklau1222@qq.com> >> --- >> libavformat/hlsenc.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c >> index c6ffdb99e5..223c516103 100644 >> --- a/libavformat/hlsenc.c >> +++ b/libavformat/hlsenc.c >> @@ -1150,9 +1150,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, >> >> vs->total_size += size; >> vs->total_duration += duration; >> - if (duration > 0.5) { >> - // Don't include the final, possibly very short segment in the >> - // calculation of the max bitrate. >> + if (duration > 0) { > > I'm not sure if this will work well in llhls mode, > but when the network conditions are even slightly poor, > severe stuttering or even an inability to continue playback occurs. > This is because the segments are so small that the network overhead > exceeds the time it takes to play them. Thanks for your reply, It seems that the actual situation requires more complex considerations. I will study it further. > >> int cur_bitrate = (int)(8 * size / duration); >> if (cur_bitrate > vs->max_bitrate) >> vs->max_bitrate = cur_bitrate; >> -- >> 2.47.1 >> >> _______________________________________________ >> 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". > > Thanks > Steven > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org <mailto:ffmpeg-devel-request@ffmpeg.org> with subject "unsubscribe”. Regards Jack _______________________________________________ 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".
prev parent reply other threads:[~2025-03-24 0:19 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-03-23 23:13 Jack Lau via ffmpeg-devel 2025-03-24 0:11 ` Steven Liu 2025-03-24 0:18 ` Jack Lau [this message]
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=65B4BF7E-530D-4969-A0FC-C2A2808170EF@gmail.com \ --to=jacklau1222gm@gmail.com \ --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