Development Guide

To Bookmark this document, click

BOOK MARK 11

Guideline for Smooth Streaming Application Developers

Published 2014-04-09 | Streaming Article. (Compatible with SDK 4.5,5.0,5.1 and 2013,2014 models)

This document describes the features and the specification of Smooth Streaming.

Source Files

Note

The files needed for the sample application are here.

This file doesn't work in the emulator. It must execute from TV or It works on TV.

Smooth Streaming

  • URL Configuration:

    • When appending URL options, you don’t have to consider the sequence in case of optional attributes

      Both URLs are possible

      http://127.0.0.1/test.ism/manifest|BITRATE=305000~405000|STARTBITRATE=CHECK
      http://127.0.0.1/test.ism/manifest|STARTBITRATE=CHECK|BITRATE=305000~405000
      
    • Bitrate Range always takes priority over Startbitrate

URL TypeDescriptionAttribute
.ism/manifest
.isml/manifest

The URL of Smooth Streaming

.isml/manifest is the url of live streaming. It is Case-Insensitive.

Example:
http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/manifest
http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest
Mandatory
|STARTBITRATE=

Set the initial Bitrate. Default value is LOWEST.

If the range of bitrate is set, the start bitrate follows the bitrate range.

  • If the start bitrate is over the bitrate range, the start bitrate is set to the highest value of the bitrate range.
  • If the start bitrate is lower than the bitrate range, the start bitrate is set to the lowest value of the bitrate range.
Optional
LOWEST

Set the initial bitrate as the lowest bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|STARTBITRATE=LOWEST

AVERAGE

Set the initial bitrate as the average bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|STARTBITRATE=AVERAGE

HIGHEST

Set the initial bitrate as the highest bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|STARTBITRATE=HIGHEST

CHECK

Set the initial bitrate after checking N/W bandwidth

In case of ‘CHECK’, it takes 1.5 seconds normally.

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|STARTBITRATE=CHECK

NUMBER

Set the initial bitrate as the specific value

If there’s no value which equals the input value among bitrates, the start bitrate is set to the closest bitrate with the input value

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|STARTBITRATE=532000

|BITRATE=RANGE

Set the bitrate range

Example 1: http://127.0.0.1/BigBuckBunny.ism/manifest|BITRATES=305000~937000

Example 2: http://127.0.0.1/BigBuckBunny.ism/manifest|BITRATES=305000~937000|STARTBITRATE=532000

Optional
|SKIPBITRATE=Set the bitrate value after skip. Default value is CHECK.Optional
CHECK

Set skipbitrate by checking N/W bandwidth

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|SKIPBITRATE=CHECK

LOWEST

Set skipbitrate as lowest bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|SKIPBITRATE=LOWEST

AVERAGE

Set skipbitrate as average bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|SKIPBITRATE=AVERAGE

HIGHEST

Set skipbitrate as highest bitrate

Example: http://127.0.0.1/BigBuckBunny.ism/manifest|SKIPBITRATE=HIGHEST

|COOKIE=ValueSet the COOKIE informationOptional
  • Adaptive Streaming
    • It plays the stream with the bitrate selected basing on N/W bandwidth.
    • Restriction on Seamless Change
      • Video track is changed based on N/W bandwidth. The seamless changes are guaranteed when bitrate and resolution are changed.
      • Audio track is not automatically changed based on N/W bandwidth. Even though N/W condition is changed, only video track is changed.
  • Normal Play
    • Play, Pause, Resume, Stop
  • Seek
    • It skips 15 seconds forward/backward.
  • Trickplay
    • It plays forward/backward 2x/4x/8x/16x faster than the original speed.
    • When doing Trickplay, it plays with the lowest bitrate because of speed problem. So, the video quality is not good when doing Trickplay.
    • After Trickplay, its resolution becomes higher and goes back to the bitrate as before trickplay
  • Multi-audio
    • It provides the function changing audio track.
    • Audio track is changed only when a user changes codec, bitrate, channel and language options. When an audio option is changed, A/V data is flushed in buffer and start getting new stream from server. It possibly causes ‘Buffering’
    • When an audio track is changed, Smooth Streaming Engine refers to manifest file(.ismc) to get Language, Channel, Codec and Bitrate information
  • Codec
    • Video
      • VC1
      • H.264 (up to high@4.1 and reference frame should be less than 5 for supporting seamless stream change)
    • Audio
      • AAC-LC, HE-AAC
      • WMA (up to 10 Pro 5.1 channels, M2 profile. Except M0 LBR mode)
      • E-AC3
  • DRM
    • The current DRM version is Playready 1.2 and DRM header 4.0

To Bookmark this document, click

BOOK MARK 11