Hey, how can we help?

browse

OVERVIEW

Some video producers prefer to deliver an existing linear channel to Wurl for distribution across the Wurl Network. To do so, the video producer must follow this Wurl ReStreaming Guide, which covers everything from the methods to deliver the stream to how to deliver schedule metadata.


Stream Input Formats

HLS (Recommended)

HLS Stream Format

These are the minimum requirements and additional recommended specs to deliver HLS to Wurl:

Basic Requirements: 

  • HLS linear stream, continuously running (24x7)
  • HLS content must originate from one origin host location.
  • H264 video (no null packet stuffing), AAC audio muxed.
  • Media sequence specified in EXT-X-MEDIA-SEQUENCE must match across media manifests. 
  • Wurl accepts one origin URL per channel brand. Multiple origins are accepted if:
    • There is a new URL due to content licensing rights (for example, one stream features content for US distribution and another for international distribution)
    • There is a new URL due to localization of content (for example, content has been dubbed in various languages or has different language captions per stream)
    • A new origin is necessary to meet the ad load requirement specified in Streamer agreement

The table below states minimum requirements for the rendition ladder included in an HLS stream

Minimum Rendition Ladder: 

ID

Width

Height

Video Bitrate (kbps)

Framerate (fps)

Audio Bitrate (kbps)

Audio Sample Rate (khz)

Encoding Profile

HD3000

1280

720

3000

30*

128

48

Main, 4.1 

SD2000

960

540

2000

30*

128

48

Main, 4.1

SD1200

640

360

900

30*

96

48

Main, 4.1 

SD512

384

216

512

30*

64

48

Main, 4.1

We highly recommend including a 1920x1080 rendition at the top end of the rendition ladder to improve customer experience. Certain video services prefer to have this available to viewers as well:

ID

Width

Height

Video Bitrate (kbps)

Framerate (fps)

Audio Bitrate (kbps)

Audio Sample Rate (khz)

Encoding Profile

HD4300

1920

1080

4300

30*

128

48

Main, 4.1

* We support a range of framerates, including 24, 25, 29.97 and 30.


Captions

Embedded 608 captions are supported for ingest. Wurl will convert as necessary for each platform. WebVTT can also be accepted.

HLS Ad Marker Format 

Required HLS Tags:

  • #EXT-X-PROGRAM-DATE-TIME
  • #EXT-X-CUE-OUT:<duration>
  • #EXT-X-CUE-IN

Example Ad Markup

The EXT-X-ASSET key value payload must be URL-encoded. This optional tag allows contextual metadata to be passed to the VAST requests made at the ad break. 

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:247347
#EXT-X-TARGETDURATION:10
#EXT-X-PROGRAM-DATE-TIME:2017-03-07T18:01:48.81434232Z
#EXTINF:2.467,
https://s3.amazonaws.com/wurl-zencoder/output/39150329/hls/512-00021.ts
#EXT-OATCLS-SCTE35:WURL35
#EXT-X-ASSET:CAID=”content_id”,GENRE=”content_genre”,EPISODE=”episode_title”,
SERIES=”series_name”,SEASON=”season_number
#EXT-X-CUE-OUT:30

#EXT-X-DISCONTINUITY
#EXTINF:6.000,
https://s3.amazonaws.com/wurl-zencoder/output/39155954/hls/512-00001.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=6,Duration=30,SCTE35=WURL35
#EXTINF:6.000,
https://s3.amazonaws.com/wurl-zencoder/output/39155954/hls/512-00002.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=12,Duration=30,SCTE35=WURL35
#EXTINF:6.000,
https://s3.amazonaws.com/wurl-zencoder/output/39155954/hls/512-00003.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=18,Duration=30,SCTE35=WURL35
#EXTINF:6.000,
https://s3.amazonaws.com/wurl-zencoder/output/39155954/hls/512-00004.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=24,Duration=30,SCTE35=WURL35
#EXTINF:6.000,
https://s3.amazonaws.com/wurl-zencoder/output/39155954/hls/512-00005.ts
#EXT-X-CUE-IN
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
https://s3.amazonaws.com/wurl/output/70155954/hls/512-00004.ts

Dash Connectors

The DASH Connector converts HLS restreamers for DASH delivery.  DASH connectors require TS SCTE-35 splice_insert() message with duration inside the Transport Stream (TS) files for ad insertion.

 

Unsupported Formatting

  • IP Based Origin Stream URL
    • Each origin stream URL should use a hostname and not an IP address
    • This prevents downstream affects if a server location is ever changed.
      - Example (Bad): http://12.34.567.8/example/example.m3u8
      - Example (Good): https://examplehostname/example/example.m3u8

  • Origin URL’s must come from a single domain
    • Each segment URL must come from a single domain.
    • For example if a segment comes from Wurl.com, then all segments should derive from that domain
  • Playlists defined using only query string parameters
    • Example: All renditions being named “rendition.m3u8” and differentiated by variants.

  • Redundant playlists
    • Each playlist should be different and not be used as a backup.
  • I-Frame-only Playlists
    • Example: “#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1198769,AVERAGE-BANDWIDTH=1210000,CODECS="avc1.4d401f",RESOLUTION=1280x720,FRAME-RATE=29.970,URI="playlist-2.4mbps_I-Frame.m3u8"?key=61b2d9f61e3f52b98c31d8a6d4ba0970”

  • Any level of redirection or dynamic playlist URL tracking
    • All URLs we receive should point to the actual feed and not redirect to a different feed.

 

MPEG TS

Supported Delivery Methods

  • Zixi

Stream Format:

  • Minimum: 720p, MPEG2/H.264 CBR at 10mbps
  • Recommended: 1080p, MPEG2/H.264 CBR at 10mbps to 15mbps
  • H264 video, AAC audio

Ad Markers

  • TS SCTE-35 splice_insert() message with duration

Closed Captions 

  • Embedded 608 

Schedule Metadata / EPG

There are the two methods of delivering Schedule Metadata to Wurl to include in video service EPGs, browse experiences, etc.:

Option 1: Wurl Schedule Metadata API (Recommended) 

  • Wurl's API to accept episodic metadata for ReStream Channels
  • Limitations: None (Metadata delivered through our API can be delivered to every Video Service connected to the Wurl Network) 

Option 2: Gracenote Metadata Ingest 

  • Requirements for ingest of Schedule metadata from Gracenote: 
    • Gracenote Call Sign
    • Gracenote Channel ID
  • Limitations
    • Content Companies must have an existing relationship with Gracenote in order to use this method
    • The following Streamer / Regions can not accept Gracenote metadata
      • Anoki
      • Rakuten Japan
      • Rakuten Europe
      • Redbox
      • Samsung TV Plus in Belgium, Denmark, Finland, Ireland, Luxembourg, Netherlands, Norway, Portugal, Sweden 
      • SportsTribal
      • TCL
      • Univision ViX
      • VIDAA
      • Xiaomi
      • Zeasn

Option 3: EPG creation within Wurl

  • If neither Gracenote or the Wurl Schedule Metadata API is an option, the Wurl Scheduler can be used to create a static (eg. Channel Name) EPG. 
Previous
Next

Was this article helpful?

16 out of 18 found this helpful