> 在 2019年10月30日,09:05,Dennis Mungai <dmng...@gmail.com> 写道: > > On Tue, 29 Oct 2019 at 06:07, Steven Liu <l...@chinaffmpeg.org> wrote: >> >> >> >>> 在 2019年10月29日,01:09,Dennis Mungai <dmng...@gmail.com> 写道: >>> >>> On Mon, 28 Oct 2019 at 05:45, Steven Liu <l...@chinaffmpeg.org> wrote: >>>> >>>> >>>> >>>>> 在 2019年10月28日,02:39,Philip Langdale <phil...@overt.org> 写道: >>>>> >>>>> There have been many reports over the years about problems when >>>>> taking an HLS stream as input to `ffmpeg` where there are timestamp >>>>> discontinuities present. This is explicitly supported in the >>>>> HLS spec (EXT-X-DISCONTINUITY) and often used for ad injection. >>>>> >>>>> Various fixes and work-arounds have been proposed over the years, >>>>> but one step that seems obvious, even if it's not a complete fix, >>>>> is to mark the HLS input format as supporting discontinuities. This >>>>> will prevent timestamp fixup logic in ffmpeg.c kicking in that ends >>>>> up mangling the timestamps unnecessarily. >>>>> >>>>> I've tested this out with an example provided by Joe Koberg early >>>>> last year, and it is sufficient to allow `ffmpeg` to download and >>>>> mux the stream correctly. Joe had briefly suggested that other >>>>> situations can still be handled incorrectly, but this seems like >>>>> a strict improvement. >>>>> >>>>> Joe's example: >>>>> >>>>> https://s3.amazonaws.com/playon-test-videos/discont_test_new/discont_test.m3u8 >>>>> --- >>>>> libavformat/hls.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/libavformat/hls.c b/libavformat/hls.c >>>>> index d7f4d5b442..ac151d5ca4 100644 >>>>> --- a/libavformat/hls.c >>>>> +++ b/libavformat/hls.c >>>>> @@ -2326,7 +2326,7 @@ AVInputFormat ff_hls_demuxer = { >>>>> .long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming"), >>>>> .priv_class = &hls_class, >>>>> .priv_data_size = sizeof(HLSContext), >>>>> - .flags = AVFMT_NOGENSEARCH, >>>>> + .flags = AVFMT_NOGENSEARCH | AVFMT_TS_DISCONT, >>>>> .read_probe = hls_probe, >>>>> .read_header = hls_read_header, >>>>> .read_packet = hls_read_packet, >>>>> -- >>>>> 2.20.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-requ...@ffmpeg.org with subject "unsubscribe”. >>>> >>>> LGTM, whatever other more reasons, this can fix one of those problems. >>>> >>>> Thanks >>>> Steven >>> >>> This patch actually fixes the occurence of DTS and PTS discontinuities >>> I've been seeing with (some) HLS inputs that have discontinuities due >>> to ad insertion(s). 10+ hours later without a single discontinuity. >> >> Thanks Dennis, Will push this patch after 24hours if there have no >> objections. >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> >> Thanks >> Steven > > > Looking forward pushed
> Thanks Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".