Microsoft Live Smooth Streaming (LSS) Task configuration

Table of contents

  1. FAQ
  2. Supported features
  3. Task creation
  4. Optimal configuration for streaming server publication
  5. Minimal configuration
    1. Source settings
    2. Video/Audio encoding settings (TS/SDI input modes only)
    3. LSS publication settings
    4. Playback
  6. Akamai publication
  7. EdgeCast publication
  8. Encryption
    1. Introduction
    2. Encryption key fetched from BuyDRM server
    3. Encryption key fetched from Inside Secure server
    4. Encryption key configured manually
    5. Test manual encryption mode from Microsoft PlayReady Test server
  9. Ad insertion (MPEG-TS input mode only)
  10. Subtitling
    1. DVB Teletext to TTML
    2. DVB Teletext burnin
    3. DVB Subtitle to TTML
    4. DVB Subtitle burnin
    5. Closed caption EIA-608 burnin
    6. Closed caption EIA-608 to TTML
  11. Advanced features
    1. Timestamping modes
    2. Custom attributes
  1. FAQ

  2. Supported_features

    Video codecs Audio codecs Subtitles Ad insertion
    H.264 AAC-LC (ADTS)
    HE-AAC v1/v2
    Teletext to SMPTE-TT
    DVB-Subtitle to SMPTE-TT
    Closed caption EIA-608 to SMPTE-TT
    SCTE35
  3. Task creation

    1. Click on "Live Tasks" button, select "Tasks Map" in the list and click on "New" button.

    2. Give a name to the task.

    3. Select the task. In "Output" panel, set "Output mode" to "OTT" and "Packaging mode" to "Live Smooth Streaming".
  4. Minimal configuration

    1. Source settings

    2. Video/Audio encoding settings (TS/SDI input modes only)

      • Video encoding and preprocessing settings

        Because majority of Silverlight players supports only square pixel aspect-ratio, it is recommended to configure all video profiles with same Width/Height ratio (e.g : 640x360, 480x270, 320x180...) to avoid unexpected results during bitrate switching.

        Profile number Resolution Width/Heigth ratio
        1 720x404 1,77
        2 640x360 1,77
        3 480x270 1,77
        4 320x180 1,77

        In "Video" > "Video Profiles" panel:
        • Set codec to H.264.
        • Enable desired number of video profiles.
        • Set resolution, framerate and bitrate.
        • Set "Rate control mode" to "ABR".
        • Set "Frame/Field mode" to "Frame Only".
        • If source is interlaced, enable "De-interlacing input" for all video profiles.
      • Audio encoding settings

        In "Audio" panel:
        • Set audio codec to "AAC-LC ADTS"
        • Set desired sampling rate and bitrate
    3. LSS publication settings

      • In "Output" > "Packaging" panel, configure "Stream name"
      • In "Output" > "Packaging" > "Publishing Points" panel, configure Publishing Point URL
    4. Playback

      • Download Smooth Streaming sample player : Player Framework
      • Edit HTML file and set "mediaurl" to Manifest URL.
                    <body>
                        <form id="form1" runat="server" style="height:100%">
                        <div id="silverlightControlHost">
                            <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
                              <param name="source" value="SmoothStreamingPlayer.xap"/>
                              <param name="onError" value="onSilverlightError" />
                              <param name="background" value="white" />
                              <param name="minRuntimeVersion" value="5.0.61118.0" />
                              <param name="autoUpgrade" value="true" />
                              <param name="enableGPUAcceleration" value="true" />
                              <param name="InitParams" value="selectedcaptionstream=text1,mediaurl=http://10.3.2.139/test.isml/Manifest" />
                              <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
                                  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
                              </a>
                            </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
                        </form>
                    </body>
                    
      • Open player HTML file in a web browser
  5. Akamai publication

    In "Output" > "Packaging" panel, configure following settings :
  6. EdgeCast publication

    In "Output" > "Packaging" panel, configure following settings :
  7. Encryption

  8. Ad insertion (MPEG-TS input mode only)

  9. Subtitling

    1. DVB Teletext to TTML

      • Configuration

        See DVB-Teletext to TTML.
      • Playback

        • Download Smooth Streaming sample player : Player Framework
        • Edit HTML file and change "mediaurl" to Manifest URL and "selectedcaptionstream" to Teletext track name ("text1" by default)
          <body>
              <form id="form1" runat="server" style="height:100%">
              <div id="silverlightControlHost">
                  <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
          		  <param name="source" value="SmoothStreamingPlayer.xap"/>
          		  <param name="onError" value="onSilverlightError" />
          		  <param name="background" value="white" />
          		  <param name="minRuntimeVersion" value="5.0.61118.0" />
          		  <param name="autoUpgrade" value="true" />
          		  <param name="enableGPUAcceleration" value="true" />
          		  <param name="InitParams" value="selectedcaptionstream=text1,mediaurl=http://10.3.2.139/test.isml/Manifest" />
          		  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
           			  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
          		  </a>
          	    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
              </form>
          </body>
          
    2. DVB Teletext burnin (encoder/transcoder products only)

      See DVB-Teletext burnin.
    3. DVB Subtitle to TTML (transcoder products only)

      See DVB-Subtitle to TTML.
    4. DVB Subtitle burnin (transcoder products only)

      See DVB Subtitle burnin.
    5. Closed caption EIA-608 burnin (encoder/transcoder products only)

      See Closed caption EIA-608 burnin.
    6. Closed caption EIA-608 to TTML

      See Closed caption EIA-608 to TTML.
  10. Advanced features

    1. Timestamping modes

      Syncrhonization modes determine the way Smooth Streaming timestamps are generated.

      • Pulishing point: Timestamping is started from 1h. If publication is interrupted, transcoder gets the last timestamp of the Manifest as origin timestamp.
      • System time: Timestamps are calculated according to CURRENT_SYSTEM_TIME - ORIGIN_TIME

        To align Smooth Streaming timestamps to Unix time, synchronize the device to a NTP server and set "Timestamping origin" to "01-JAN-1970 00:00:00.000"

      • Master: Transcoder get timestamps from a master transcoder or send its timestamps to a slave transcoder

        Several transcoders can be synchronized to publish on the same LSS publishing point.

    2. Custom attributes

      Custom attributes can be added into Manifest video tracks.
      Track name and language descriptor can be added to audio and subtitles tracks.

      From "Ouput" > "Packagin" panel, configure custom attributes.

      Generated Manifest :
      <?xml version="1.0" encoding="UTF-8"?>
      <SmoothStreamingMedia MajorVersion="2" MinorVersion="0" Duration="0" TimeScale="10000000" IsLive="TRUE" 
      LookAheadFragmentCount="2" DVRWindowLength="600000000" CanSeek="TRUE" CanPause="TRUE">
         <StreamIndex Type="video" Name="video" Subtype="" Chunks="0" TimeScale="10000000" 
         Url="QualityLevels({bitrate},{CustomAttributes})/Fragments(video={start time})">
            <QualityLevel Index="0" Bitrate="300000" CodecPrivateData="XXXXX" FourCC="H264" MaxWidth="480" MaxHeight="270">
               <CustomAttributes>
                  <Attribute Name="quality" Value="low" />
               </CustomAttributes>
            </QualityLevel>
            <QualityLevel Index="2" Bitrate="1500000" CodecPrivateData="ZZZZZ" FourCC="H264" MaxWidth="720" MaxHeight="576">
               <CustomAttributes>
                  <Attribute Name="quality" Value="high" />
               </CustomAttributes>
            </QualityLevel>
            <c d="20000000" t="240071555" />
            <c d="20000000" />
         </StreamIndex>
         <StreamIndex Type="audio" Name="audio1" Language="eng" Subtype="AACL" Chunks="0" TimeScale="10000000" 
         Url="QualityLevels({bitrate})/Fragments(audio1={start time})">
            <QualityLevel Index="0" Bitrate="128000" CodecPrivateData="1190" FourCC="AACL" AudioTag="255" Channels="2" 
            SamplingRate="48000" BitsPerSample="16" PacketSize="4" />
            <c d="20000000" t="160071555" />
            <c d="20000000" />
         </StreamIndex>
      </SmoothStreamingMedia>