[FFmpeg-trac] #2828(avformat:new): HLS segment MPEGTS continuity counter is being incorrectly set to 0 on each segment

FFmpeg trac at avcodec.org
Mon Jul 28 18:38:35 CEST 2014


#2828: HLS segment MPEGTS continuity counter is being incorrectly set to 0 on each
segment
-------------------------------------+------------------------------------
             Reporter:  dlevinson5   |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avformat
              Version:  unspecified  |               Resolution:
             Keywords:  hls mpegts   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+------------------------------------

Comment (by trnsz):

 Interesting, according to a W3C document at https://dvcs.w3.org/hg/html-
 media/raw-file/d5956e93b991/media-source/media-source.html#mpeg2ts-
 discontinuities it is stated that clients should handle TS
 discontinuities:

 {{{• When a discontinuity is detected, MPEG2TS_timestampOffset must be
 adjusted to make the timestamps after the discontinuity appear to come
 immediately after the timestamps before the discontinuity.}}}

 However, the Apple documentation for the validation tool at
 https://developer.apple.com/library/ios/technotes/tn2235/_index.html#//apple_ref/doc/uid/DTS40010221
 specifies:

 {{{
 WARNING: stream discontinuity detected

 You must use the EXT-X-DISCONTINUITY tag where an encoding discontinuity
 exists between the
 media file that follows it and the one that preceded it. See the IETF
 Internet Draft of the
 HTTP Live Streaming Protocol Specification for more information.

 If you intend to play a new stream at a given point in your presentation,
 you must use the
 EXT-X-DISCONTINUITY tag.
 }}}

 So a workaround that would be a quick hackish would might be to change the
 M3U8 output to include the EXT-X-DISCONTINUITY tag between all segments
 and should result in ffmpeg output passing the Apple validation tests.

 The proper fix is still maintaining the timestamp across segments.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/2828#comment:17>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list