[FFmpeg-trac] #5419(undetermined:new): HLS EXT-X-DISCONTINUITY tag is not supported
FFmpeg
trac at avcodec.org
Sat May 21 19:50:11 CEST 2016
#5419: HLS EXT-X-DISCONTINUITY tag is not supported
-------------------------------------+-------------------------------------
Reporter: xyq204101 | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by an_ffmpeg_user):
Replying to [comment:6 xyq204101]:
> Replying to [comment:5 cehoyos]:
> > Replying to [comment:4 xyq204101]:
> > > Replying to [comment:3 cehoyos]:
> > >
> > > > Do you want to report that trancoding fails (or produces
unexpected / wrong output) or do you want to report that transcoding
prints warnings?
> > >
> > >
> > > The transcoding is producing unexpected output. When I play the
output flv file in VLC, it freeze at 8th second and after few seconds jump
to 12th second directly. The content between 8th and 12th second is
missing.
> >
> > What output did you expect after swapping the segments?
>
> The expect output is first contents in test000.ts, then test002.ts, then
test001.ts then test003.ts.... according to the sequence of the m3u8 file.
>What output did you expect after swapping the segments?
I concur with @xyq204101.
{{{
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8.400000,
test000.ts
#EXTINF:4.560000,
test001.ts
#EXTINF:3.120000,
test002.ts
#EXTINF:5.640000,
test003.ts
}}}
I would expect this to play test000 > test001 > test002 > test003
{{{
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8.400000,
test000.ts
#EXTINF:3.120000,
test002.ts
#EXTINF:4.560000,
test001.ts
#EXTINF:5.640000,
test003.ts
}}}
A player which does not support EXT-X-DISCONTINUITY will behave
unexpectedly. We have seen players that either power-on-through, stall or
skip. This stream would not pass the Apple HLS Validator and playback
support across software or devices could not be guaranteed.
I would expect FFmpeg to scream, moan and complain at the console.
This appears to be the behavior that @xyq204101 describes.
{{{
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8.400000,
test000.ts
#EXT-X-DISCONTINUITY
#EXTINF:3.120000,
test002.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.560000,
test001.ts
#EXTINF:5.640000,
test003.ts
}}}
I would expect a HLSv3 or above player/encoder with EXT-X-DISCONTINUITY
support to play or generate a seamless test000 > test002 > test001 >
test003 output without console errors or warnings.
It may choose to verbose log that a discontinuity flag was detected, but
it should not justify a console warning or error if the
EXT-X-DISCONTINUITY flag is correctly placed. But TBH, the console output
is irrelevant - it is the stream that is important.
@xyq204101 - how does FFplay behave when it tries to play your out.m3u8?
It will help take the output modules and VLC out of the equation, helping
the developers tag with the correct component.
Also, it may be better to take the FLV container out of the loop and
encapsulate in a single MPEG-TS.
{{{ffmpeg -i out.m3u8 -acodec copy -vcodec copy -bsf:a aac_adtstoasc -f
mpegts test.ts}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5419#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list