> On Aug 17, 2020, at 11:18 AM, Steven Liu <[email protected]> wrote: > > zhilizhao <[email protected] <mailto:[email protected]>> > 于2020年8月17日周一 上午11:15写道: >> >> >> >>> On Aug 17, 2020, at 11:02 AM, Steven Liu <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> zhilizhao <[email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> >>> 于2020年8月17日周一 上午10:54写道: >>>> >>>> Hi Steven, >>>> >>>>> On Aug 17, 2020, at 8:49 AM, Steven Liu <[email protected] >>>>> <mailto:[email protected]> <mailto:[email protected] >>>>> <mailto:[email protected]>>> wrote: >>>>> >>>>> output a warning message if the target duration of the segment. >>>> >>>> The sentence is incomplete. >>> Ah ,yes, should >>> "Output a warning message if the target duration of the segment is >>> negative." >>>> >>>>> and modify the target duration to one packet duration, >>>>> because there maybe have bframe and then split not by keyframe, >>>>> and the segment is very very small. >>>> >>>> The warning message is very helpful, modify the target duration is less >>>> helpful >>>> IMHO. The generated files are broken and cannot be fixed. Let the user see >>>> what’s >>>> going wrong from the log messages or from the m3u8 files, and fix the usage >>>> problem. >>> What about return a suggestion and give an error message? >>> "duration < 0, maybe you splited a too short segment, you should split >>> an keyframe if too short.”? >> >> I suggest naming the option (“hls_time” and “hls_segment_size” maybe?) in >> the message > I cannot understand the mean "naming the option", > user using hls_time, and hls_flag split_by_time (this should split at > non-keyframe), > so maybe user use a wrong way when use the flag.
I mean mention which option should be changed, something like: "try increase hls_time or disable split_by_time flag". > >> so the user not only know what’s going wrong but also how to fix it. >> >>>> >>>>> >>>>> Signed-off-by: Steven Liu <[email protected]> >>>>> --- >>>>> libavformat/hlsenc.c | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c >>>>> index cb31d6aed7..76d59f5f79 100644 >>>>> --- a/libavformat/hlsenc.c >>>>> +++ b/libavformat/hlsenc.c >>>>> @@ -2512,6 +2512,11 @@ static int hls_write_packet(AVFormatContext *s, >>>>> AVPacket *pkt) >>>>> >>>>> if (vs->start_pos || hls->segment_type != SEGMENT_TYPE_FMP4) { >>>>> double cur_duration = (double)(pkt->pts - vs->end_pts) * >>>>> st->time_base.num / st->time_base.den; >>>>> + if (cur_duration < 0) { >>>>> + av_log(s, AV_LOG_WARNING, "duration < 0, maybe you >>>>> splited a too short segment, " >>>>> + "the duration will set to 1 >>>>> packet duration.\n"); >>>>> + cur_duration = vs->duration; >>>>> + } >>>>> ret = hls_append_segment(s, hls, vs, cur_duration, >>>>> vs->start_pos, vs->size); >>>>> vs->end_pts = pkt->pts; >>>>> vs->duration = 0; >>>>> -- >>>>> 2.25.0 >>>>> >>>>> _______________________________________________ >>>>> ffmpeg-devel mailing list >>>>> [email protected] >>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>> >>>>> To unsubscribe, visit link above, or email >>>>> [email protected] with subject "unsubscribe". >>>> >>>> _______________________________________________ >>>> ffmpeg-devel mailing list >>>> [email protected] >>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>> >>>> To unsubscribe, visit link above, or email >>>> [email protected] with subject "unsubscribe". >>> >>> Thanks >>> Steven >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> [email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>> >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> >>> <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>> >>> >>> To unsubscribe, visit link above, or email >>> [email protected] <mailto:[email protected]> >>> <mailto:[email protected] >>> <mailto:[email protected]>> with subject "unsubscribe". >> >> _______________________________________________ >> ffmpeg-devel mailing list >> [email protected] <mailto:[email protected]> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> >> >> To unsubscribe, visit link above, or email >> [email protected] <mailto:[email protected]> >> with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > [email protected] <mailto:[email protected]> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> > > To unsubscribe, visit link above, or email > [email protected] <mailto:[email protected]> with > subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
