2

HTTP Live Streaming, draft-pantos-http-live-streaming-23 (Version 23) defines EXT-X-DATERANGE tag. Which has multiple attributes also defined by the specification: ID, START-DATE, etc.

Among defined attributes are SCTE35-OUT, SCTE35-IN. The specification mentions the following about them:

Used to carry SCTE-35 data; see Section 4.3.2.7.1 for more information. These attributes are OPTIONAL.

... value is the big-endian binary representation of the splice_info_section(), expressed as a hexadecimal-sequence.

However, the specification does not define how critical the value of this attributes is.

For example in the documentation of AWS Elemental the values for SCTE35-OUT and SCTE35-IN are identical:

#EXT-X-DATERANGE:ID="999",START-DATE="2018-08-22T21:54:00.079Z",PLANNED-DURATION=30.000,
SCTE35-OUT=0xFC302500000000000000FFF01405000003E77FEFFE0011FB9EFE002932E00001010100004D192A59
.
.
.     
#EXT-X-DATERANGE:ID="999",END-DATE="2018-08-22T21:54:30.109Z",DURATION=30.030,
SCTE35-IN=0xFC302500000000000000FFF01405000003E77FEFFE0011FB9EFE002932E00001010100004D192A59

Although HLS specification states:

For splice_insert

The "in" splice_info_section() (with out_of_network_indicator set to 0) MUST be placed in a SCTE35-IN attribute, with the same formatting as SCTE35-CMD.

For time_signal

The "out" splice_info_section() MUST be placed in a SCTE35-OUT attribute; the "in" splice_info_section() MUST be placed in a SCTE35-IN attribute.

Hence, I would expect that the value of these attributes should be always different. Am I missing something? Or this values are completely irrelevant to the clients?

Note: the hex string can be parsed and compared by using: https://openidconnectweb.azurewebsites.net/Cue

1
  • Those attributes are optional. Do you need to signal something, like ad insertion opportunities? If yes look-up the SCTE-35 standard, if not just don't use them at all.
    – aergistal
    Commented Oct 1, 2020 at 15:56

1 Answer 1

2

The same hex is used twice because break auto return is true, and the break duration is specified.

   "command": {
    "command_length": 20,
    "command_type": 5,
    "name": "Splice Insert",
    "time_specified_flag": true,
    "pts_time": 13.094733, # The CUE-OUT is at this time
    "pts_time_ticks": 1178526,
    "break_auto_return": true, # Automatically return from the break
    "break_duration": 30.0, #   The CUE-IN is 30 seconds later.
    "break_duration_ticks": 2700000,
    "splice_event_id": 999,
    "splice_event_cancel_indicator": false,
    "out_of_network_indicator": true,
    "program_splice_flag": true,
    "duration_flag": true,
    "splice_immediate_flag": false,
    "unique_program_id": 1,
    "avail_num": 1,
    "avail_expected": 1
},
"descriptors": []

}

Check out threefive

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.