[FFmpeg-trac] #3356(undetermined:new): feature request: Segment HLS streams on SCTE 35 markers

FFmpeg trac at avcodec.org
Mon Jan 27 21:49:11 CET 2014

#3356: feature request: Segment HLS streams on SCTE 35 markers
             Reporter:  adamscybot   |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  wish         |                Component:
              Version:  git-master   |  undetermined
             Keywords:  hls          |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0

Comment (by adamscybot):

 Replying to [comment:4 cehoyos]:
 > Replying to [comment:3 adamscybot]:
 > > Replying to [comment:2 cehoyos]:
 > > > Replying to [ticket:3356 adamscybot]:
 > > > > Many proprietary Apple HTTP live streaming or other HTTP streaming
 encoders accept SCTE 35 markers in the input MPEG stream.
 > > >
 > > > Please provide such a sample.
 > >
 > > Would you like a sample of a TS stream including the markers
 > Yes.
 Also note that I may be willing to provide a bounty on this.

 Here is a sample stream:

 SCTE 35 Cue Out occurs (out_of_network_indicator 1) at approx 75s for an
 ad break of 242 seconds. If this feature were to be implemented, the chunk
 would need to be split both when the cue out occurs and at the exact
 duration offset after that (duration provided in the break_duration
 structure within the message). This behaviour is accompanied by an
 "auto_return 1" flag in the scte message. It is my understanding that some
 encoders dont set the auto return flag and instead send a separate SCTE35
 cue in (out_of_network_indicator 0) message at the end of a break.

 As far as the comments in the HLS Manifest file are concerned -- there is
 no set standard. Most solutions have something along the lines of:


 Also just for the hell of it, some example products: (datasheets aren't
 too clear but if your CTRL+F "SCTE" or "ad insertion" it usually points it

 * http://www.allegrodvt.com/ftp/pdts/al2400/leafletal2400.pdf
 * Page 20:
 (this one touches on how their software does manifest manipulation
 * http://www.envivio.com/en/solutions/applications/ad-insertion-blackout
 * http://info.seawellnetworks.com/dynamic-manifest-manipulation

 Some other products respond to SCTE 104 messages directly and then segment
 without the SCTE 35 stage. However, these are probably out of scope of
 ffmpeg as they are servers actively responding to the SCTE104 messages and
 not reading data embedded in the mpeg stream. It does drive home still
 though the need to frame accurately segment on some given boundary:


Ticket URL: <https://trac.ffmpeg.org/ticket/3356#comment:5>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list