Live Content Delivery Specification

Version 4.0 - April 25, 2024

 

All Live content submitted to dotstudioPRO for publishing must meet the Content Delivery & Technical specifications outlined below to be accepted for delivery.

If you have any questions about our tech specs or the dotstudioPRO dashboard, or if you are concerned that your content will be unable to fulfill the minimum requirements, please reach out to your dotstudioPRO Client Representative.

 

General Information & Requirements

Video Requirements

● Timecode should start at the zero-hour mark (e.g. 00:00:00:00).
● Video should not be pixelated, contain tape hits or aliasing, or have A/V sync issues.
● Video should start at the beginning of the content and end at the end of the content.
● Video should contain no bars, tone, slates, or textless materials at the beginning or end.
● Videos should not contain URLs, calls to action or branding of any kind for other video
platforms or websites.
● In-content advertising is not accepted by dotstudioPRO, unless these terms are
specifically incorporated into the content licensing agreement.
● Only production credits are allowed as end-cards and should be limited to a duration of 3
seconds on-screen.
● Content should be fully packaged and produced, with mixed and edited audio and video
(e.g. have a smooth transition to credits, or fade audio/video at the end).
● Videos should have a 16x9 aspect ratio and have a minimum resolution of 1280x720. Letter-boxing and pillar-boxing is acceptable for individual programmes. Window-boxing should be avoided.
● Broadcast feeds should be RTMP or HLS and contain SCTE-35 ad triggers
● Dead air (silence/black) is not permitted, and the stream must broadcast 24-hours a day, 7 days a week without downtime. A branded slate may be used to fill short gaps between programmes. The slate should occupy no more than 2 minutes per hour, and no more than 20 minutes per day.

 

Metadata

● Ad breaks are required for all content in excess of 12 minutes in duration.
● Metadata should be complete and free of typos/misspellings and representative of the
assets that have been sent. Please fill out all fields completely.
● Commercial blacks closed to 1 second, bumpers removed
● Ad breaks should be placed in logical times, at scene/story transitions. Ad breaks should not cut
scenes in half or interrupt dialogue.


Closed Captions

● Closed Captioning must be provided with all content
● Closed Captioning must be properly synced with the video file that is being delivered

 

 

Digital Asset Specifications

HD Video

Video Track

Audio Track

SD Video

Video Track

Audio Track

 

Linear Stream Specifications

Stream Requirements

 

Artwork Specifications

Promotional and functional artwork is required for platform delivery. Since each platform uses images differently, additional assets could be required on an ad-hoc basis. All artwork should use professional, and consistent branding imagery as it could be used to represent the channel to both potential end users. Film posters and series images should be provided both as a layered PSD file and a raster (ie JPG or PNG) file.

 

Name

Description

Sizes

Type

Example

Thumbnail Art

Used on card based interfaces to promote the channel. Generally useful for marketing. Working from a larger (4K) source is usually helpful.

1920x1080

JPG

TGRtv_Channel_Thumbnail_Landscape.jpg

Portrait Art

Used on card based interfaces for mobile to promote the channel. Generally useful for marketing. Working from a larger (2000x3000) source is usually helpful.

600x900

JPG

TGRtv_Channel_Thumbnail_Vertical_V2.jpg

Channel Logo
(black)

Used in EPG and list interfaces that have a light background. Logo background should be transparent. 

300x120

PNG

TGRtv_Channel_Logo_Black.png

Channel Logo
(white)

Used in EPG and list interfaces that have a dark background. Logo background should be transparent. 

300x120

PNG

TGRtv_Channel_Logo_White.png

Channel Logo
(colour)

Used in EPG and list interfaces. Logo background should be transparent. 

300x120

PNG

TGRtv_Channel_Logo_Color.png

 

HLS Specifications

Channels must be delivered as an M3U8 top-level manifest; the HLS must use segmented transport streams in an appropriate bitrate ladder. All manifests and .ts segments must be served over HTTPS.

Recommended Bitrate Ladder

Name Width Height kbps
FHD 1920 1080 5000
HD 1280 720 2900
SD (720) 720 404 1200
SD (640) 640 360 900
Mobile (512) 512 288 700
216p (high) 384 216 440
216p (low) 384 216 230

Streams must include appropriate SCTE-35 ad markers to denote the start and end of ad breaks.

Upon delivery to dotstudioPRO, each channel will be tested against Apple's HLS Media Stream Validator. All streams must pass validation to be accepted by dotstudioPRO.

 

EPG Specifications

Electronic Program Guide (EPG) Requirements

An electronic program guide must be supplied alongside the live stream. Ideally, channel owners will have the ability to provide multiple, platform-specific, EPG's, since many platforms use unique specifications for their EPG requirements.

When this is not possible, the below EPG specifications can serve as a generic catch-all.

 

Programming Criteria

Criteria Requirements
EPG Format XMLTV
Days Forward 7 days
Days Back 1 day
Minimum Program Duration  15 minutes

 

EPG Format

Element Description Attributes Attribute Description

Programme

<programme>

Parent element.

Contains each unique programme item. A programme element must be present for each title/programming block.

 

 

Programme Channel

channel="ID"

Attribute of "Programme" element. Denotes the channel ID.

Programme Start Time

start="time +zone"

Denotes the programme start time.

Format: YYYYMMDDHHMMSS +TZ

Programme Stop Time

stop="time +zone"

Denotes the programme end time.

Format: YYYYMMDDHHMMSS +TZ

Title

<title>

 

Child of Programme element.Denotes the title of a given programme. 

Language

lang="code"

Denotes the language of the programme.

Must be wrapped in CDATA XML tags.

Format: ISO-639-1 2 digit language code.

Description
<desc>

Child of Programme element.Denotes the synopsis/description of a given programme.

Maximum of 125 characters.

Language

lang="code"

Denotes the language of the description.

Must be wrapped in CDATA XML tags.

Format: ISO-639-1 2 digit language code.

Category

<category>

Child of Programme element.

Denotes the genres for a given programme.

Separate Category tags should be used for each genre.

Language

lang="code"

Denotes the language of the category value.

Format: ISO-639-1 2 digit language code.

Series Title

<series title>

Child of Programme element.

Denotes the series title for an episodic program.

Optional element. Only required for episodic.

Language

lang="code"

Denotes the language of the series title value.

Must be wrapped in CDATA XML tags.

Format: ISO-639-1 2 digit language code.

Episode Information

<season number>

Child of Programme element.

Denotes position of episodic content within context of a seasonal series.


Episode Number System

systen="xmltv_ns"
See next section for XMLTV_NS primer.
Subtitle
<sub-title>

Child of Programme element.

Denotes the embedded subtitle track for a given program. If multiple tracks are available, separate elements should be used.

Optional element.

Language

lang="code"

Denotes the language of the subtitles.

Format: ISO-639-1 2 digit language code.

Icon
<icon>

Child of Programme element. Program-specific image for display in EPG application/web interfaces

Source

src="https://images.com/img.jpg"

Full image URL, including protocol.

 

XMLTV Numbering System for Season Episodic Assets

The XMLTV standard uses the "xmltv_ns" numbering system format to define seasonal and episodic metadata. The system takes the following format:

<episode-num system="xmltv_ns">Season{/Number of season in total} . Episode{/Number of Episodes in this season} . {Part number/Number of parts in this episode}</episode-num>

Any values between a set of curly braces - { } - are optional - the remainder is required.

Please note that the exact formatting requirements described in the format definition above (including any spaces before/after dots) are required. Additionally, note that the system uses a 0-based index, meaning any counting begins from zero, rather than one.

To put everything together, let's describe the 10th episode of the 3rd season of a series. If the entire series had 5 seasons, and the 3rd season had 15 episodes, the feed entry for this programme would look as follows:

<episode-num system="xmltv_ns">2/4 . 9/14 . 0/1</episode-num>

 

Sample EPG

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tv generator-info-name="OutsideTV EPG">
    <channel id="1234">
        <display-name lang="en"><![CDATA[ OutsideTV ]]</display-name>
    </channel>
    <programme channel="1234" start="20230206152350 +0000" stop="20230206155154 +0000">
        <title lang="en">
<![CDATA[ Hunting Man ]]>
</title>
<desc lang="en">
<![CDATA[ A program about a man who goes hunting. ]]>
</desc>
<category lang="en">Nature</category>
<category lang="en">Documentary</category>
<sub-title lang="en">English CC</sub-title> </programme> <programme channel="1234" start="20230206155154 -0600" stop="20230206161959 -0600">
<title lang="en">
<![CDATA[ Foyle's War: Bleak Midwinter ]]>
</title>
<desc lang="en">
<![CDATA[ Foyle investigates an explosion at a munitions factory, which
he comes to believe may have been premeditated. ]]>
</desc>

<category lang="en">Anthology</category>
<category lang="en">Mystery</category>
<episode-num system="xmltv_ns">2 . 9 . 0/1</episode-num>
<sub-title lang="en">English CC</sub-title> </programme>

 

Ad Break Rules

Ads Per Hour 10-15 minutes
Ad Pod Duration 2-3 minutes
Max Ad Pod 3 minutes
Min Ad Pod 30 seconds

 

Natural Breaks

Ad breaks should occur during natural scene changes, and not mid-dialogue or action.

 

Updated