[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