Pluto TV Live Streaming Technical Requirements v2.2

All streams must be tested and integrated before they may be added to the Pluto TV platform.

The specification included in this document is not intended to provide partners with an exhaustive list of potential integration paths, rather to provide an example of what a preferred profile should look like. Nonconforming streams may require additional work to integrate and may increase the time it takes to onboard a stream.

Please submit stream information at least 4 weeks prior to launch or a live event to ensure there is sufficient time to validate across all platforms and ample time to address any issues with latency, performance, or playback quality.

 

Required items are marked with an asterisk (✱)

Preferred Stream Format
Streaming Protocol
Apple HLS (Pull), RTP Push*, Zixi (Push/Pull)* *(Zixi or RTP delivery requires an HLS confidence feed for monitoring)
DRM
None ✱
CODEC
H.264 (Level 3.1 or above) ✱
Frames Per Second
30 fps
Aspect Ratio
16x9 full bleed ✱
Container
.ts
HLS Segment length
5 seconds (must be consistent length)
Origin TTL
Minimum 120 seconds ✱
Preferred Resolution and Bitrates
Resolution
Target bitrate
1920x1080
5 Mbps to 10 Mbps
1280x720
3 Mbps-10 Mbps
Preferred Audio Stream Specifications
Audio Codec
AAC_LC
Channels
2
Sample Rate
48KHz
Bitrate
96 Kbps
Audio Normalization
EBUR128
HLS MANIFEST PACKAGING
URL
http or https (HLS)
HLS version
EXT-X-VERSION: 3 or higher ✱
HLS Playlist Sliding Window
10 segments
AD TRIGGER SPECIFICATIONS
Ad Triggers
SCTE-35 markers must be present in both .m3u8 playlists and PID ✱ Supported formats: #EXT-X-CUE-OUT #EXT-X-OCTALS-SCTE35
Duration
● Breaks must be 30 seconds or more in duration ● Breaks must not exceed 300 seconds ● Elapsed Time/Duration in seconds required ● Elapsed Time may not exceed Duration ● Must have at least 4 segments between CUE-IN and CUE-OUT ● Duration may not change after CUE-OUT ● CUE-OUT must be followed by a CUE-IN *
AD TRIGGER SPECIFICATIONS

#EXT-X-CUE-OUT
—————————————————————————

#EXT-X-CUE-OUT: Duration=30
...
...
...
#EXT-X-CUE-OUT-CONT:ElapsedTime=2.000,Duration=30
...
...
...
#EXT-X-CUE-IN Note:
Decimal is optional.

#EXT-OATCLS-SCTE35
—————————————————————————

#EXT-OATCLS-SCTE35:/DAgAAAAAAAAAAAADwVAAADgf0+2E2yFgAAAAAAAJgnEsxH #EXT-X-ASSET:CAID=0x0000000020FA6877 #EXT-X-CUE-OUT:101.115
...
...
...
#EXT-X-CUE-OUT-CONT:ElapsedTime=10.1,Duration=101.115,SCTE35=/DAgAAAAAAA AAAAADwVAAADgf0+2E2yFgAAAAAAAJgnEsxH
...
...
...
#EXT-X-CUE-IN

CLOSED CAPTIONING SPECIFICATIONS

Pluto TV is committed to providing the best viewer experience possible to a universal audience.

In accordance with FCC guidelines, any live (or near-live ) TV programming, or pre-recorded English or Spanish content that has aired on television in the United States, must be delivered to Pluto TV with closed captions. This also applies to any dubbed language content that has previously aired. Captions must comply with FCC-14-12A1 Closed Captioning Quality Order (2014).

Closed Captioning
EIA-708
Tag*
MUST be declared via an EXT-X-MEDIA tag that contains a LANGUAGE attribute (sample below)

Caption decoration should follow this form and must be included in master manifest: #EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="CC",LANGUAGE="eng",NAME="english",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1"

BACKUP SPECIFICATIONS (optional)

Pluto TV does not support automated primary/backup stream switching or primary and backup streams in the same playlist. However, partners may provide backup that can be integrated should a manual change be required.

Streaming Format
Same as primary feed
Origin
Back-up feed should be streamed from a different data center than primary, ideally in a disparate geographical location.